chart 0.3.0: AddonClaim FUERA del chart Helm (ADR-066 del IDP)
Some checks failed
__APP_NAME__ — build & deploy / Calidad + build + push (push) Failing after 14s
__APP_NAME__ — build & deploy / Helm upgrade --install (push) Has been skipped

Bug en chart 0.2.x: AddonClaim era Helm hook pre-install,pre-upgrade
weight -10 SIN hook-delete-policy. El default Helm 3 es
before-hook-creation → borra el claim en cada upgrade → finalizer
cleanup-logical rotaba credenciales + atoraba release en pending-upgrade.

Cambios:
- helm/APP_NAME/templates/addonclaim.yaml eliminado.
- manifests/addonclaim.yaml creado con placeholders sed.
- scripts/pre-helm-detach.sh idempotente para migracion v1.0.0 → 1.1.0.
- .gitea/workflows/APP_NAME-build.yaml: 2 nuevos steps detach + apply
  AddonClaim entre kubeconfig y helm upgrade.
- Chart.yaml bump 0.2.0 → 0.3.0.
- README reescrito (3 pasos workflow + tabla hooks sin AddonClaim +
  seccion Por que FUERA del chart + opt-out actualizado).
- Comentarios stale del AddonClaim como hook -10 limpiados en
  networkpolicy.yaml, role-db-secret-reader.yaml, job-alembic-upgrade.yaml.

ADR-066 del IDP documenta la decision arquitectural completa.
This commit is contained in:
2026-05-25 14:28:17 -05:00
parent bba5720975
commit 13b9fae61c
9 changed files with 214 additions and 71 deletions

View File

@@ -4,11 +4,13 @@
# (hook pre-install/pre-upgrade weight 0) que hace busy-wait hasta que
# addon-provisioner publica el Secret tras reconciliar el AddonClaim.
#
# Hook weight "-7" — entre AddonClaim (-10) y SA (-5):
# Hook weight "-7" — entre NetworkPolicy (-8) y SA (-5):
# - Garantiza que RBAC exista antes de que el SA del hook -5 se materialice
# y antes de que el Job -0 intente leer el Secret.
# - delete-policy: before-hook-creation para que sea idempotente entre upgrades
# sin dejar Roles huerfanos.
# (El AddonClaim ya no es hook del chart desde 0.3.0 — ADR-066. Lo aplica el
# workflow del tenant ANTES del `helm upgrade --install`.)
#
# Scope minimo: solo lectura (get/watch) del Secret `<release>-db-creds`, no
# secrets cluster-wide ni del ns `addons`. El root Secret de MariaDB vive en