Files
devops-infra-helm-charts-gcp/index.md
T
2026-08-26 03:39:42 +05:30

124 lines
6.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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` |