# Documentation Index — `devops-infra-helm-charts` > Repo: GitOps Helm values + cached/forked charts for Meesho's GKE infrastructure fleet. > > **Layer:** Layer 1 — Agent-Writable (config repo). > > Repo entry point for agents: [/CLAUDE.md](CLAUDE.md). This index mirrors the structure of the agent-documentation pyramid: governance at the top, schemas underneath, procedures and runbooks above the operational floor, skills wrapping procedures for agents, ADRs explaining the why. --- ## Layout ```text / ├── CLAUDE.md Agent entry point (Layer + naming + layout + layer table) ├── README.md Short repo intro for humans ├── index.md ← you are here ├── repository.yaml Owner metadata (registry-bootstrap-managed) │ ├── docs/ │ ├── architecture.md Full deploy lifecycle, fleet, chart inventory, hooks │ ├── global/ Cross-cutting governance │ │ ├── AGENT_BOUNDARIES.md Layer 1 / 2 / 3 map for THIS repo, blast radii │ │ ├── SANCTITY_RULES.md Numbered non-negotiable rules │ │ └── coding-guidelines/ │ │ └── helm-values.md Patterns for authoring custom-values.yaml │ └── platform/ │ ├── procedures/ "How to make change X" — six recipes │ │ ├── onboard-app-to-cluster.md │ │ ├── onboard-new-cluster.md │ │ ├── update-chart-version.md │ │ ├── fork-upstream-chart.md │ │ ├── blue-green-chart-migration.md │ │ └── deboard-app.md │ ├── runbooks/ Symptom → diagnosis decision trees │ │ ├── argocd-sync-failure.md │ │ ├── ingress-down.md │ │ └── pod-pending-scheduling.md │ └── schemas/ Field-by-field YAML annotation │ ├── custom-values-schema.md │ ├── raw-manifest-sidecar-schema.md │ └── storageclass-priorityclass-schema.md │ ├── skills/ │ └── infra/ Agent-callable parameterised tasks │ ├── onboard-app.md │ ├── bump-chart-version.md │ └── diagnose-scheduling.md │ ├── wiki/ │ ├── entities/ │ │ └── DevOps Infra Helm Charts.md Architectural reference entity for THIS repo │ └── analyses/ Architecture Decision Records │ ├── ADR-A1-cache-vs-upstream-charts.md │ ├── ADR-A2-blue-green-sibling-pattern.md │ ├── ADR-A3-per-cluster-scheduling.md │ ├── ADR-A4-raw-manifest-sidecars-in-helm-overrides.md │ └── ADR-A5-manual-sync-default-for-infra.md │ ├── contour-nodeselector-tolerations-summary.md │ Per-cluster Contour scheduling matrix │ (load-bearing — read before any Contour edit) │ ├── helm-templates// 74 cached/forked upstream charts ├── helm-overrides/// Cluster × app override values + sidecar manifests ├── manifests/ Cluster-wide singletons (storageclass / priorityclass / Jenkins / JFrog) ├── pre-commit-scripts/ TruffleHog (active); CAC + Yaak (no-op here) └── post-commit-scripts/ Cursor metric collector (background, non-blocking) ``` --- ## Quick navigation ### "I'm an agent. What do I read first?" 1. [/CLAUDE.md](CLAUDE.md) — entry point. Repo role, layer, NEVER DO list, layout, layer constraint table. 2. [docs/global/AGENT_BOUNDARIES.md](docs/global/AGENT_BOUNDARIES.md) — per-operation Layer 1 / 2 / 3 classification with blast radii. 3. [docs/global/SANCTITY_RULES.md](docs/global/SANCTITY_RULES.md) — numbered hard stops. 4. The relevant procedure or runbook for the task. ### "I'm a human reviewing an agent-generated PR. What do I check?" 1. [docs/platform/schemas/custom-values-schema.md](docs/platform/schemas/custom-values-schema.md) — does each field follow convention? 2. [docs/global/SANCTITY_RULES.md](docs/global/SANCTITY_RULES.md) — does the PR cross any non-negotiable? 3. The procedure used (if any) — did the PR follow it end-to-end? 4. [contour-nodeselector-tolerations-summary.md](contour-nodeselector-tolerations-summary.md) — if Contour is touched, do `nodeSelector`/`tolerations` match the cluster's row? ### "Why is this repo shaped this way?" Read in order: - [docs/architecture.md](docs/architecture.md) — the system context, module boundaries, deploy lifecycle. - ADRs in [wiki/analyses/](wiki/analyses/) — five recorded decisions. ### "Help me do task X." | Task | Doc | |------|-----| | Add a new app override to a cluster | [docs/platform/procedures/onboard-app-to-cluster.md](docs/platform/procedures/onboard-app-to-cluster.md) | | Bring up a brand-new cluster's overrides | [docs/platform/procedures/onboard-new-cluster.md](docs/platform/procedures/onboard-new-cluster.md) | | Bump a chart's pinned dependency version | [docs/platform/procedures/update-chart-version.md](docs/platform/procedures/update-chart-version.md) | | Intentionally fork an upstream chart | [docs/platform/procedures/fork-upstream-chart.md](docs/platform/procedures/fork-upstream-chart.md) | | Migrate a chart blue-green (sibling pattern) | [docs/platform/procedures/blue-green-chart-migration.md](docs/platform/procedures/blue-green-chart-migration.md) | | Remove a retired app override | [docs/platform/procedures/deboard-app.md](docs/platform/procedures/deboard-app.md) | | Argo CD app errored / OutOfSync | [docs/platform/runbooks/argocd-sync-failure.md](docs/platform/runbooks/argocd-sync-failure.md) | | Ingress (Contour) is down on a cluster | [docs/platform/runbooks/ingress-down.md](docs/platform/runbooks/ingress-down.md) | | Pods pending / wrong-node scheduling | [docs/platform/runbooks/pod-pending-scheduling.md](docs/platform/runbooks/pod-pending-scheduling.md) | --- ## Repo facts (quick reference) | | | |---|---| | Charts in `helm-templates/` | 74 | | Cluster directories under `helm-overrides/` | 30+ (`k8s-*-prd-ase1[c]`, `k8s-shared-int-ase1`, `k8s-aurva-prd-ase1`, `k8s-supply-dev-ase1`, plus `db-*` dataplane) | | Singletons under `manifests/` | StorageClasses (4), per-cluster PriorityClasses, Jenkins/JFrog filestore PV/PVCs | | Active pre-commit hooks | TruffleHog (verified-secret scan; webhook to `observe.meeshogcp.in`) | | Build / test / lint | None — declarative YAML only | | Deploy mechanism | Argo CD reconcile from `main` | | Owners | `siddharth.pal@meesho.com` (primary), `samarth.nag@meesho.com` (secondary) — per `repository.yaml` |