Platform apps
The playbook for building and changing platform components. Detailed pages land here as they are written.
Anatomy of an app
Every system component lives in apps/<name>/ in the platform
repository:
source.yaml— the pinned upstream chart (repo + version). Renovate bumps the pin; the MR shows the rendered manifest diff.values.yaml— the hardened configuration. Cluster facts are referenced as{{ .Cluster.<key> }}and substituted at render time.chart/— a local config chart for platform additions: priority class, extra manifests, anything the upstream chart cannot express.policies/— the app's CiliumNetworkPolicies: namespace isolation plus one explicit policy per flow.kustomization.yaml(optional) — post-render patches, e.g. sync-wave and server-side-apply annotations on large CRDs.
Deployment identity lives in the registry (root/chart/values.yaml);
which clusters run the app is each cluster's apps: map.
To be written
- Step-by-step: adding a new app
- The SSO exposure pattern (oauth2-proxy + dex client registry)
- CRD size limits and server-side apply
- Webhook and hook-job network policy patterns