Deployment
ArkOS is designed to run on Kubernetes. This guide covers the deployment workflow from local to production.
Prerequisites
- kubectl configured for your cluster
- Helm 3 installed
- Access to a container registry (GitHub Container Registry recommended)
Build Docker Images
Each service has a Dockerfile. Build and push images:
# Build a specific service
docker build -t ghcr.io/arkos-plataform/product-service:latest ./services/product
# Push to registry
docker push ghcr.io/arkos-plataform/product-service:latest
CI/CD pipelines in .github/workflows/ automate this on every push to main.
Kubernetes Manifests
Kubernetes manifests live in the infra/ repository:
infra/
├── services/
│ ├── product/
│ │ ├── deployment.yaml
│ │ ├── service.yaml
│ │ └── configmap.yaml
│ └── ...
├── charts/ # Helm charts
└── overlays/ # Kustomize overlays per environment
Deploy a Service
# Apply manifests for a service
kubectl apply -f infra/services/product/
# Check rollout status
kubectl rollout status deployment/product-service -n arkos
Helm Deployment
For full platform deployment, use the Helm chart:
helm upgrade --install arkos ./infra/charts/arkos \
--namespace arkos \
--create-namespace \
--values ./infra/charts/arkos/values.production.yaml
Environment-Specific Configuration
Use Kustomize overlays for per-environment overrides:
infra/overlays/
├── development/
├── staging/
└── production/
# Deploy to staging
kubectl apply -k infra/overlays/staging/
# Deploy to production
kubectl apply -k infra/overlays/production/
Health Checks
Every ArkOS service exposes:
GET /health— liveness probeGET /ready— readiness probe
Kubernetes probes are pre-configured in the Helm chart.
Observability
Production deployments ship with:
- OpenTelemetry — distributed tracing
- Prometheus metrics endpoint at
/metrics - Structured JSON logs — compatible with Grafana Loki
Developer Portal Deployment
The developer portal is a static site built with Docusaurus:
# Build static site
pnpm build:docs
# Output is in apps/developer-portal/build/
# Deploy to any static hosting (Cloudflare Pages, S3, etc.)
For Cloudflare Pages, the build command is pnpm build:docs and the output directory is apps/developer-portal/build.