Files
devops-infra-argo-config-gcp/claude/03-generic-chart-template.md
T
2026-08-26 04:03:34 +05:30

42 lines
2.6 KiB
Markdown

> Per [AI Blitz Plan §6](../docs/global/AGENT_BOUNDARIES.md). Layer: 1-T.
# 03 — Generic Chart Template
## Purpose
Instead of maintaining one Application YAML per tool per cluster, `generic-argo-apps-chart/templates/genericTemplate.yaml` generates all Application CRDs dynamically from a single values file. Adding a tool = adding 4 lines to `appSpec[]`.
## Variable flow
```text
values file rendered Application
─────────── ────────────────────
appSpec[].name ──────────────────────────────► metadata.name: <name>-<mungedCluster>-<env>
appSpec[].namespace ─────────────────────────► spec.destination.namespace
appSpec[].nameOverride (optional) ───────────► metadata.name (overrides auto-generated)
appSpec[].chartDir ──────────────────────────► spec.source.path: helm-templates/<chartDir>
appSpec[].valuesDir ─────────────────────────► spec.source.helm.valueFiles: .../helm-overrides/<cluster>/<valuesDir>/custom-values.yaml
appSpec[].additionalValueFiles (optional) ───► extra helm valueFiles entries
teamSpec.devops.labels ──────────────────────► metadata.labels (bu, team, env, cluster)
teamSpec.devops.source.repoURL ──────────────► spec.source.repoURL
argocdSpec.namespace ────────────────────────► metadata.namespace (where Application CRD lives)
clusterSpec.destination.name ────────────────► spec.destination.name
```
## Cluster name munging
The template strips environment/region noise from the cluster name to produce a short Application name segment:
| Step | Transformation |
| ---- | -------------- |
| Strip | `k8s-`, `prd-`, `int-`, `dev-`, `-ase1` |
| Replace | `-ase1c``-c` |
Example: `k8s-central-prd-ase1``central-prd` → Application name: `keda-central-prd`
## Why this matters for agents
- Template changes are **fleet-wide** — a bug breaks every tool on every cluster simultaneously.
- `generic-argo-apps-chart/` edits are classified as **Layer 1-T HIGH RISK** — requires explicit platform-team sign-off and must be tested with `helm template` against multiple values files before merging.
- See [AGENT_BOUNDARIES.md](../docs/global/AGENT_BOUNDARIES.md) for the full classification.