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

@@ -1,6 +1,14 @@
apiVersion: v2
name: __APP_NAME__
# Helm chart del Golden Path web-backend/python.
# 0.3.0 (2026-05-25): ADR-066 — AddonClaim sale del chart y vive en
# manifests/addonclaim.yaml. El workflow del tenant lo aplica con
# kubectl apply ANTES de helm upgrade --install. Razon: en chart 0.2.x el
# AddonClaim era hook pre-install,pre-upgrade weight -10 → el default Helm
# `before-hook-creation` borraba el claim en cada upgrade → el finalizer
# cleanup-logical rotaba credenciales y atoraba el release en
# pending-upgrade. Desacoplar el lifecycle del CRD del lifecycle del
# release Helm resuelve el bug de raiz.
# 0.2.0 (2026-05-19): cambio Ingress controller Traefik (IngressRoute CRD)
# → rke2-ingress-nginx (networking.k8s.io/v1 Ingress). Razón:
# TENANT-INGRESS-CONTROLLER-MISMATCH (APERTURA COVE Sesión 3). El cluster
@@ -8,7 +16,7 @@ name: __APP_NAME__
# adicional. tlsSecretName por default = apps-wildcard-tls (Gap 3).
description: Helm chart del Golden Path web-backend/python
type: application
version: 0.2.0
version: 0.3.0
appVersion: "0.1.0"
keywords:
- fastapi