99 — kitchen sink
Everything-on showcase. Don’t deploy this verbatim — it exists to demonstrate the chart’s full surface in one place. Use it as a reading reference; copy individual sections into a real values.yaml.
What this shows
- Two Deployments (
api,worker) with sidecars and per-workloadinheritopt-outs. - One StatefulSet (
db) with avolumeClaimTemplateand headless Service. - Two
jobGroups:migrations— pre-install Job hook, tasks-mode initContainers, hashed-name idempotency.nightly— CronJob.
- Service per Deployment with multi-port (
http,grpc,admin,metrics) — port ordering exercises ADR 014. - Singleton
httpRoutewith parent Gateway + per-workload route shorthand andpriority. - Cross-namespace
referenceGrant. - Multi-Ingress map (
internal+external). - HPA on the API; KEDA
ScaledObjecton the worker (event-driven on a Kafka lag scaler); VPA on the database. integrations.monitoringwith VictoriaMetrics provider, CRD discovery, plus an annotation-mode override for one workload.- ESO
SecretStore(Vault) and twoExternalSecrets — one with explicitdata, one withdataFrom. - Stakater Reloader on with the default
autostrategy. - Argo CD
ImageUpdaterin shorthand mode tracking the API image withupdate-strategy: digest. commonLabels, custompodSecurityContext,automountServiceAccountToken: truefor the API (RBAC-bound),NetworkPolicy,PodDisruptionBudget,topologySpreadConstraints.
Delta from 02-web-app-ingress
This example doesn’t follow the +1 progression — it’s a leap to “everything”. Read the values file with one ADR open per section:
| Section | Read first |
|---|---|
deployments / statefulSets | ADR 002, ADR 003 |
jobGroups | ADR 005, ADR 012 |
integrations.argocd.syncWaves (default) | ADR 010 |
integrations.monitoring | ADR 008, ADR 016 |
integrations.eso | ADR 015 |
integrations.stakater.reloader | ADR 017 |
httpRoute + referenceGrant + ingresses | ADR 009 |
hpa / keda / verticalPodAutoscaler | ADR 007 |
Files
| File | Purpose |
|---|---|
values.yaml | Chart values for this scenario. |
argocd/application.yaml | Argo CD Application, single source. |
argocd/application-multisource.yaml | Argo CD Application with spec.sources[]. |
flux/ocirepository.yaml | Flux OCIRepository. |
flux/helmrelease.yaml | Flux HelmRelease. |
helm/install.sh | Plain helm upgrade --install (with a --dry-run flag enabled by default — copy and remove if you really want to install). |
Prerequisites (CRDs)
Almost every CRD-bearing integration is touched. Don’t apply this in a cluster missing any of:
- Gateway API (
gateway.networking.k8s.io) - Prometheus or VictoriaMetrics Operator (depending on which provider you keep enabled)
- External Secrets Operator (
external-secrets.io) - KEDA (
keda.sh) - VPA (
autoscaling.k8s.io) - Argo CD Image Updater
- Stakater Reloader