Applications¶
Workloads that serve Tomoda traffic or feed it data. Each application lives in k8s/apps/<name>/ as a Kustomize base plus per-environment overlays (dev, prod). Argo CD watches the overlay path for the active environment and reconciles the result into the cluster.
The pattern is the same in every case:
- Base — environment-neutral manifests (Deployments, Services, Ingress, NetworkPolicies). Image refs use the dev Artifact Registry path; prod overlays rewrite them.
- Overlay — namespace assignment, ExternalSecret pulls from GSM/AWS SM, ConfigMap with the env-specific DSNs, image rewrites, ingress hostnames, and any production-only resources (PDBs, stricter
imagePullPolicy). - Argo CD Application — points at the overlay directory and applies the rendered Kustomize output. See Argo CD.
-
The product itself — Go backend on port 8080, Expo/React frontend on port 8081. Kustomize base under
k8s/apps/tomoda/, deployed into thetomoda(dev) andprodnamespaces. -
Self-hosted geocoder backing the backend's
PHOTON_URL. Stateful, single replica, 250 Gi PVC, atomic index swap from a GCS bucket every 24h. -
Monthly CronJob that rebuilds the multilingual Photon index. Currently suspended — manual builds run via
scripts/photon-index-local.shuntil the in-cluster Nominatim is provisioned.