openova/products
e3mrah deba088728
fix(qa-fixtures): sanitize illegal "/" in label values (Fix #119, prov #10 wedge) (#1333)
Fix #102 (PR #1326) added a platform-mirror Continuum CR with
`openova.io/continuum-mirror-of: <ns>/<name>` which renders to the
illegal label value `qa-omantel/cont-omantel`. K8s label VALUES may
not contain `/` (`^[a-z0-9A-Z]([-_.a-z0-9A-Z]*[a-z0-9A-Z])?$`) — only
label KEYS may use it as the prefix separator.

Bp-catalyst-platform install crashes on Continuum CR validation:
  Continuum.dr.openova.io "cont-omantel" is invalid:
  metadata.labels: Invalid value: "qa-omantel/cont-omantel": a valid
  label must be an empty string or consist of alphanumeric...

Cascade-wedged every fresh Sovereign provision (prov #10 evidence:
c460bd7078dda0f1).

Fix: split the cross-namespace reference into two separate, valid
labels — both with canonical `openova.io/` prefix:

  openova.io/continuum-mirror-of-namespace: qa-omantel
  openova.io/continuum-mirror-of-name:      cont-omantel

Information preserved (still queryable via
`kubectl get continuums -A -l openova.io/continuum-mirror-of-namespace=<ns>`)
and target-state per OpenOva canonical pattern (label keys may have
`/`, label values never).

Verified via `helm template` rendered manifests + full label-value
scan: 0 illegal values remain. `kubectl create --dry-run=client`
against rendered manifests passes validation.

Per principle 4 (`feedback_inviolable_principles.md` #4) both halves
stay values-overridable through `qaFixtures.namespace` and
`qaFixtures.continuumName`.

Files changed:
  - products/catalyst/chart/templates/qa-fixtures/continuum-qa.yaml
    Split single label into two; both values-overridable, both quoted.
  - products/catalyst/chart/Chart.yaml: 1.4.134 → 1.4.135.
  - clusters/_template/bootstrap-kit/13-bp-catalyst-platform.yaml:
    Pin bumped 1.4.134 → 1.4.135 with Fix #119 changelog.

Co-authored-by: hatiyildiz <hatice.yildiz@openova.io>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 00:11:17 +04:00
..
axon feat(axon): make qwen3-coder thinking mode toggleable via request parameter 2026-04-26 09:20:33 +02:00
catalyst fix(qa-fixtures): sanitize illegal "/" in label values (Fix #119, prov #10 wedge) (#1333) 2026-05-11 00:11:17 +04:00
continuum feat(continuum): F — dry-run report + post-switchover health check + audit-emit coverage (slice F-1+F-2+F-3, #1101) (#1161) 2026-05-09 08:33:37 +04:00
cortex docs(pass-52): bundled date-sweep + cross-component namespace clean; knative clean 2026-04-28 00:37:21 +02:00
dmz-vcluster fix: mark bp-dmz-vcluster + bp-netbird default-off for smoke-render gate (#1286) 2026-05-10 15:57:18 +04:00
fabric docs(seaweedfs+guacamole): replace MinIO with SeaweedFS as unified S3 encapsulation; add Guacamole to bp-relay 2026-04-28 10:23:46 +02:00
fingate docs(pass-52): bundled date-sweep + cross-component namespace clean; knative clean 2026-04-28 00:37:21 +02:00
relay docs(seaweedfs+guacamole): replace MinIO with SeaweedFS as unified S3 encapsulation; add Guacamole to bp-relay 2026-04-28 10:23:46 +02:00