a73x

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