Deployment on OKE
StartupOS runs on Oracle Kubernetes Engine (OKE) in ap-hyderabad-1, in the namespace startupos.
What was observed
A read-only check on 2026-11-07 against the production cluster found:
- Kubernetes v1.36.1 on three worker nodes, all
arm64. - One replica of each backend service, two of the frontend and two of Keycloak.
- One replica each of PostgreSQL, Redis, Kafka, the LiveKit server and the LiveKit egress.
- A legacy Deployment,
startupos-backend, which is not part of the eight services documented here.
The manifest for the LiteLLM proxy exists in infra/k8s/litellm-deployment.yaml, but no LiteLLM Deployment was among the live Deployments. Whether the copilot is wired to a live model endpoint is unverified.
Images
All images are linux/arm64. They are built with podman and pushed to the OCI registry (OCIR) in ap-hyderabad-1, under startupos/<service>:<tag>. Tags are unique and dated. :latest is not used for new work. See Build and deploy.
Infrastructure as code
Terraform in infra/terraform declares OCI resources, including the object storage bucket module. Kubernetes manifests are in infra/k8s and infra/oci-devops/deploy. Some live resources are not in the repository. The runbook docs/runbooks/prod-out-of-band-resources.md lists them.
A note on node architecture
Older notes in the repository say the cluster is amd64 in places. The live nodes are arm64, and builds target arm64.
Sources: infra/k8s/*.yaml, infra/terraform, .kiro/steering/project-commands.md, docs/runbooks/prod-out-of-band-resources.md, live read on 2026-11-07.