124 lines
6.9 KiB
Markdown
124 lines
6.9 KiB
Markdown
# 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/<chart>/ 74 cached/forked upstream charts
|
||
├── helm-overrides/<cluster>/<app>/ 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` |
|