Skip to content

refactor: standardize env token on production (was prod) + fix AGENTS catalog#9

Merged
stxkxs merged 1 commit into
mainfrom
refactor/prod-to-production
Jun 7, 2026
Merged

refactor: standardize env token on production (was prod) + fix AGENTS catalog#9
stxkxs merged 1 commit into
mainfrom
refactor/prod-to-production

Conversation

@stxkxs

@stxkxs stxkxs commented Jun 7, 2026

Copy link
Copy Markdown
Member

What

Two audit follow-ups from #8.

1. prodproduction env-token standardization

production is the org-wide environment token (landing-zone AWS+GCP, eks-gitops, kx, all four tenant charts, eks-agent-platform, eks-fleet). The Azure stack was the lone holdout on the short prod, contradicting the "mirrors eks-gitops" claim.

  • 24 values-prod.yamlvalues-production.yaml; 8 overlays/prod + environments/prod dirs → production
  • environment label/value, ENVIRONMENT=/resourceGroup: vars, CI matrices, script usage, CLAUDE.md → production
  • cluster name prod-aksproduction-aks (dev/staging already used full names)
  • the workload-prod subscription alias is kept (same as AWS: workload-prod account + production env)

ApplicationSets resolve values-{label}.yaml / overlays/{label} from the cluster-secret environment label that the substrate stamps — so this pairs with landing-zone renaming its Azure env token prodproduction (separate PR). Together, AKS clusters get labeled environment: production and these files resolve.

Azure deploy artifacts: the prod values hardcode Azure resource ids derived from cluster name + subscription. The deterministic ones (velero/argo storage, secrets Key Vault) were recomputed for the new name from landing-zone's substr(...) rule against the same subscription. Monitor/Grafana endpoint hostnames carry Azure-generated random suffixes that refresh on apply — prefix corrected, suffixes left as last-known.

2. AGENTS.md addon catalog

Rewrote to the actual six-category tree. Dropped nonexistent addons (Argo CD, azure-workload-identity, azure-disk-csi-driver, cluster-autoscaler, kube-prometheus-stack, azure-monitor-otel, gatekeeper, network-policies, agic), recategorized reloader (bootstrap), fixed the catalog//dashboards//policies/ bullets + ingress/observability notes.

Verification

  • task validate passes (yamllint + all kustomize overlays build across dev/staging/production).
  • Full prod-token sweep clean — only the intentional workload-prod subscription alias remains.

⚠️ Merge-coordinate with the landing-zone Azure env-token PR so the cluster label and these value files stay in sync.

Closes #8

…d`) + fix the AGENTS addon catalog

─── Why ───
`production` is the org-wide environment token — landing-zone AWS + GCP, eks-gitops, kx,
all four tenant charts, eks-agent-platform, and eks-fleet all use it. The Azure stack
(aks-gitops + landing-zone's Azure live tree) was the lone holdout on the short `prod`,
which contradicted the "mirrors eks-gitops" contract. This brings AKS in line.

ApplicationSets resolve `values-{label}.yaml` and `overlays/{label}` from the cluster
secret's `environment` label, which the Azure substrate stamps. This change pairs with
landing-zone renaming its Azure env token `prod`→`production`; together the AKS clusters
get labeled `environment: production` and these files resolve.

─── Env-token rename ───
- 24 `values-prod.yaml` → `values-production.yaml`
- 8 `overlays/prod` directories + `environments/prod` → `production`
- `environment` label/value, the `ENVIRONMENT=` / `resourceGroup:` vars, the CI matrices,
  and script usage examples → `production`. The `workload-prod` subscription alias is kept,
  exactly as AWS keeps a `workload-prod` account with a `production` env.
- cluster name `prod-aks` → `production-aks` (dev/staging already used full env names).

─── Azure deploy artifacts ───
The prod env's values hardcode Azure resource identifiers derived from the cluster name +
subscription. The deterministic ones (velero backup storage, argo-workflows artifacts
storage, the secrets Key Vault) were recomputed for the new name from landing-zone's
`substr(replace(name,"-","") + purpose + subscription, 0, 24)` rule against the same
subscription. The Azure Monitor / Managed Grafana endpoint hostnames carry Azure-generated
random suffixes that refresh on apply; their `production-aks-*` prefix is corrected and the
suffixes remain the last-known deploy values.

─── AGENTS.md addon catalog ───
Rewrote the catalog to the actual six-category tree. Dropped addons that don't exist
(Argo CD, azure-workload-identity, azure-disk-csi-driver, cluster-autoscaler,
kube-prometheus-stack, azure-monitor-opentelemetry-collector, gatekeeper, network-policies,
agic), recategorized reloader (bootstrap, not operations), and corrected the catalog/,
dashboards/, and policies/ descriptions plus the ingress/observability difference notes.

`task validate` passes (yamllint + all kustomize overlays build across dev / staging / production).

Closes #8
@github-actions

github-actions Bot commented Jun 7, 2026

Copy link
Copy Markdown

CI Results

Check Status
YAML Lint
Environment Kustomize Build
dev
staging
production

All validations passed.

@stxkxs stxkxs merged commit 0032e9e into main Jun 7, 2026
5 checks passed
@stxkxs stxkxs deleted the refactor/prod-to-production branch June 7, 2026 23:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Audit follow-up: prod->production env reconcile + AGENTS addon-catalog rewrite

1 participant