🧬 Nakama

INTENDED vs LIVE / Production cutover caution
These steps describe the canonical GitOps deploy path: Argo → gitops/platform/base/nakama/ (image digest pin + canary/rollback).
Live cutover is a separate gate: Vault/ESO/storage readiness must be cluster-verified; repository manifests alone are not proof. Read Nakama multiplayer Operational Truth before rotating secrets or retiring legacy Secrets.
Prefer canary + rollback discipline; do not skip integration gates.

Nakama deploys through Kubernetes in the funday-platform namespace.

Integration Gates

Before deploying, verify the canonical configuration and functionality locally:

npm run validate:game-manifests
npm run generate:game-registry -- --check
npm run test:integration:nakama

_(Note: test:integration:_ commands require Docker or an active local cluster environment).*

Deployment Steps

  1. Build the immutable Nakama image from nakama-modules/index.ts using npm run build:nakama.
  2. Pin the image digest in the GitOps deployment.
  3. Apply changes via the canonical gitops/platform/base/nakama/ path (Argo nakama-appfunday-platform).
  4. Wait for the canary to become healthy via the /healthcheck route.
  5. Observe E2E metrics; if anomalies appear, rollback uses the previous digest and Git revision.

Source: funday/funday-codex.yml services.nakama and nakama.

Claim classProof
Intended GitOps pathgitops/argocd-apps/nakama-app.yamlgitops/platform/base/nakama/
Intended replicasgitops/platform/base/nakama/deployment.yaml (replicas: 3)
Live cutover cautionNakama multiplayer Operational Truth callout
Secrets gateSecrets runbook INTENDED vs LIVE

Live evidence (SD23)

Captured 2026-07-21T12:18:38Z via KUBECONFIG=~/.kube/config.

ClaimIntendedLive
Namespacefunday-platformfunday-platform
Deploynakamadeployment.apps/nakama Ready 1/1
Replicas3 (gitops/platform/base/nakama/deployment.yaml)spec.replicas=1 / readyReplicas=1 ⚠️ drift
Imagepin via GitOps digestheroiclabs/nakama:3.32.0 (tag, not digest-observed here)
Argo app syncnakama-appArgo API not installed on this cluster

Commands used (read-only):

kubectl -n funday-platform get deploy nakama
kubectl -n funday-platform get deploy nakama -o jsonpath='{.spec.replicas}'
kubectl get ns argocd   # NotFound

Do not treat GitOps replicas: 3 as live HA until the live deploy is scaled/synced deliberately.

Ask Docs

AI assistant to help answer questions about the documentation. Answers are read-only and cite docs/source.

Hi! How can I help you with the documentation today? Answers are read-only and cite docs/source.

Ctrl+Enter to send