69 lines
2.7 KiB
Markdown
69 lines
2.7 KiB
Markdown
> Per [AI Blitz Plan §6](../docs/global/AGENT_BOUNDARIES.md). Layer: 1-T.
|
|
|
|
# 04 — Values Hierarchy
|
|
|
|
Each cluster values file (`values/<env>/incubator-infra-<cluster>-values.yaml`) has exactly four top-level keys in this order:
|
|
|
|
## 1. clusterSpec — where to deploy
|
|
|
|
```yaml
|
|
clusterSpec:
|
|
destination:
|
|
server: "" # Always empty — use name-based routing
|
|
name: "k8s-central-prd-ase1" # GKE cluster name (must match incubator filename and helm-overrides/ folder)
|
|
```
|
|
|
|
## 2. argocdSpec — ArgoCD context
|
|
|
|
```yaml
|
|
argocdSpec:
|
|
namespace: argocd-prd # ArgoCD namespace where child Application CRDs are created
|
|
# prd → argocd-prd, stg → argocd-dev, int → argocd-shared-int
|
|
```
|
|
|
|
## 3. teamSpec — chart source and labels
|
|
|
|
```yaml
|
|
teamSpec:
|
|
devops:
|
|
source:
|
|
repoURL: https://github.com/Meesho/devops-infra-helm-charts # Allow-listed; do not change
|
|
targetRevision: main # prd=main, stg=develop, int=pre-prod
|
|
path: helm-templates # Chart root in the helm-charts repo
|
|
valueFiles: ../../helm-overrides/k8s-central-prd-ase1 # Relative path to cluster overrides
|
|
labels:
|
|
bu: infra # Always "infra" for this repo
|
|
team: devops # Maps to ArgoCD AppProject (sre or sec)
|
|
env: prd # Environment: prd, int, dev, admin
|
|
cluster: k8s-central-prd-ase1 # Must match clusterSpec.destination.name
|
|
```
|
|
|
|
## 4. appSpec — the editing surface
|
|
|
|
```yaml
|
|
appSpec:
|
|
- name: keda # Short tool name — used in Application name generation
|
|
namespace: keda-central-prd # Target Kubernetes namespace
|
|
chartDir: keda # Directory under helm-templates/ in helm-charts repo
|
|
valuesDir: keda # Directory under helm-overrides/<cluster>/ in helm-charts repo
|
|
# Optional fields:
|
|
- name: coredns
|
|
namespace: kube-system
|
|
chartDir: coredns
|
|
valuesDir: coredns
|
|
nameOverride: coredns-central-prd # Only for name collisions or >253 char names
|
|
additionalValueFiles:
|
|
- ../../helm-templates/coredns/gcp-ase1a-values.yaml # Region-shared overlay
|
|
```
|
|
|
|
## Cross-repo dependency
|
|
|
|
Every `appSpec` entry creates a dependency on `devops-infra-helm-charts`:
|
|
|
|
| appSpec field | Must exist in devops-infra-helm-charts |
|
|
| ------------- | -------------------------------------- |
|
|
| `chartDir` | `helm-templates/<chartDir>/` |
|
|
| `valuesDir` | `helm-overrides/<cluster>/<valuesDir>/custom-values.yaml` |
|
|
|
|
If either is missing, ArgoCD will fail to render the Application. Always verify in the sister repo before adding an appSpec entry. See [SANCTITY_RULES.md R3](../docs/global/SANCTITY_RULES.md).
|