openova/scripts
e3mrah 064f0aa7a3
fix(charts): resolve bp-dmz-vcluster duplicate-name pseudo-drift (Closes A6c) (#1771)
Two source-tree Chart.yaml files both declared `name: bp-dmz-vcluster`:
- platform/bp-dmz-vcluster/chart/Chart.yaml (0.1.0) — bootstrap-topology
  chart consumed by clusters/_template/bootstrap-kit/54-bp-dmz-vcluster.yaml
- products/dmz-vcluster/chart/Chart.yaml (0.1.1) — per-tenant marketplace
  artifact

`scripts/check-bootstrap-kit-pin-sync.sh` keys by chart name and so could
not disambiguate the two: slot 54 pins the platform chart at 0.1.0, but
the products/ chart at 0.1.1 always looked drifted. After PR #1716
flushed every real chart-pin drift, this single pseudo-drift was the
only remaining red on the audit.

Resolution (Option A — rename the products/ chart):
  products/dmz-vcluster/chart/Chart.yaml `name:` field is now
  `bp-dmz-vcluster-tenant`. Helper templates (`_helpers.tpl`) renamed
  from `bp-dmz-vcluster.*` to `bp-dmz-vcluster-tenant.*` along with
  every include site. Blueprint manifest (blueprint.yaml) metadata.name
  updated to match. Labels on every rendered resource carry
  `catalyst.openova.io/blueprint: bp-dmz-vcluster-tenant`. README +
  test-render.sh + values.yaml comments updated to reflect the rename.

The platform/bp-dmz-vcluster chart at slot 54 is UNCHANGED — it remains
the canonical bootstrap-topology chart per docs/SOVEREIGN-MULTI-REGION-
DOD.md A4 ("each region runs a DMZ vCluster"). The pin-sync audit now
maps each chart name to exactly one Chart.yaml.

Audit verification:
  bash scripts/check-bootstrap-kit-pin-sync.sh
  ... 50 chart→pin pair(s) checked, 30 skipped (charts not in
  bootstrap-kit), PASS: all bootstrap-kit pins are in sync with
  their source charts.

Helm render verification:
  cd products/dmz-vcluster/chart
  helm dependency update
  helm template tenant-x . --set dmz.enabled=true --set
    dmz.vcluster.image.tag=0.20.0 --set
    dmz.httproute.hostname=tenant.test
  -> renders 2 NetworkPolicies, Service, HTTPRoute, HelmRelease with
     all labels = bp-dmz-vcluster-tenant and resource names
     `tenant-x-bp-dmz-vcluster-tenant-*`.

References to the platform/ chart's `bp-dmz-vcluster` literal in
comments outside the products/ tree (platform/bp-mgmt-vcluster README,
platform/bp-dmz-vcluster README, clusters/_template/bootstrap-kit/54-*,
scripts/expected-bootstrap-deps.yaml) refer to the platform/
bootstrap-topology chart and are intentionally preserved with added
disambiguation notes.

Closes #1719
Refs TBD-A6c

Co-authored-by: hatiyildiz <hatiyildiz@users.noreply.github.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 20:31:41 +04:00
..
check-bootstrap-deps.sh fix(bp-external-secrets-stores): split ClusterSecretStore into separate chart per #247 pattern (closes #331) (#426) 2026-05-01 17:33:47 +04:00
check-bootstrap-kit-pin-sync.sh fix(ci): harden TBD-A6 against bootstrap-kit slot indent drift (#1751) 2026-05-18 19:42:12 +04:00
check-vendor-coupling.sh fix(ci): vendor-coupling guardrail path - products/catalyst/bootstrap/api/internal/objectstorage (closes #438) (#440) 2026-05-01 18:21:57 +04:00
expected-bootstrap-deps.yaml fix(charts): resolve bp-dmz-vcluster duplicate-name pseudo-drift (Closes A6c) (#1771) 2026-05-18 20:31:41 +04:00
generate-blueprint-deps.sh fix(wizard): blueprint deps sourced from Flux dependsOn (single source of truth) (#652) 2026-05-03 09:47:52 +04:00
operator-recover-sovereign.sh docs(ops): comprehensive operator runbook + remediation playbook + idempotent recovery script 2026-04-29 19:26:29 +02:00