deploy/server/plane.prod.env
Ref: Size: 1.9 KiB History
# prod plane values — eitri.sh. # # One template set renders both planes (see README.md), so stg and prod cannot # have different SHAPES, only different values. Every key here is required: # scripts/ship.sh refuses to render with any of them empty rather than letting # envsubst quietly substitute nothing. # # Nothing here is a secret. Config values that are (client secrets, the host # secret, the OIDC credentials) live only in the plane's Secret, which the # pipeline reads and validates but never writes. NAMESPACE=eitri # The node the control plane is pinned to. Load-bearing twice over: the only # node with a public IP (the sync and gate listeners bind its interfaces # directly), and local-path storage binds the PVC to whichever node the pod # first lands on. NODE_NAME=vnic-1 # The architecture both images are built for (scripts/server-image.sh is arm64 # by construction; the site image follows SITE_PLATFORM). IMAGE_ARCH=arm64 CONSOLE_HOST=console.eitri.sh API_HOST=api.eitri.sh GATE_HOST=gate.eitri.sh SYNC_HOST=sync.eitri.sh SITE_HOST=eitri.sh # Host ports. hostNetwork means these are the NODE's ports, so the two planes # cannot share them; every value here must equal the matching listener in the # plane's server.json, which ship.sh asserts rather than trusts. HTTP_PORT=8081 SYNC_PORT=8443 GATE_PORT=2222 # prod signs in against Google, so the bundled issuer is not deployed and none # of its values apply. The manifests that describe it are skipped wholesale. LOCAL_OIDC=0 CONFIG_SECRET=eitri-server-config PVC_NAME=eitri-server-data PVC_SIZE=5Gi TLS_SECRET=console-tls # The certificate already serving eitri.sh. These manifests adopt the live site # objects (Deployment/Service `web`, IngressRoutes `web-http`/`web-https`, # Certificate `web-tls`), so naming it anything else would mint a second # certificate and swap the one in use. SITE_TLS_SECRET=web-tls # Nightly sqlite backup CronJob: prod's database is the one nobody can rebuild. BACKUPS=1