chart wait-for-secret 240s → 360s + helm timeout 7m → 10m
Some checks failed
__APP_NAME__ — build & deploy / Calidad + build + push (push) Failing after 1m47s
__APP_NAME__ — build & deploy / Helm upgrade --install (push) Has been skipped

Sync del fix ADDON-PROVISIONER-DB-SECRET-NOT-PUBLISHED (IDP P0).
Ver IDP commit 673c16d para contexto completo.

El init container wait-for-secret del Job Alembic ahora espera 72×5s=360s
(antes 48×5s=240s), dimensionado a 3× el RECONCILE_INTERVAL del
addon-provisioner. El controller bajó su default 300s → 60s en el mismo
parche.

Defense-in-depth: con el controller corriendo a 60s, el delay típico
del Secret publish es ~60-180s. Los 360s del init container absorben
hasta 3 ticks fallidos del controller (cluster recién Ready, kubeconfig
no propagado, etc.).

helm timeout 7m → 10m para que el wait extendido del init container
+ Alembic + StatefulSet ready quepan dentro del comando helm.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-26 21:19:37 -05:00
parent 5ccfdff8bf
commit 3042c96c6b
4 changed files with 23 additions and 16 deletions

View File

@@ -71,7 +71,7 @@ el orden de creación de SUS recursos (sin AddonClaim — ese vive fuera).
| `NetworkPolicy` | `networkpolicy.yaml` | `-8` | Bajo el `default-deny` del namespace `apps`, esta NP permite DNS + apiserver + addons:3306. Debe existir antes que el InitContainer del Job Alembic intente conectarse al apiserver. |
| `Role` + `RoleBinding` | `role-db-secret-reader.yaml` | `-7` | Permite al SA leer el Secret `<APP_NAME>-db-creds` (lo consume el InitContainer `wait-for-secret` del Job Alembic) |
| `ServiceAccount` | `serviceaccount.yaml` | `-5` | Lo referencia el pod del Job Alembic — debe existir antes |
| `Job` Alembic | `job-alembic-upgrade.yaml` | `0` | InitContainer `wait-for-secret` espera al Secret publicado por `addon-provisioner` (hasta 240s), luego corre `alembic upgrade head` |
| `Job` Alembic | `job-alembic-upgrade.yaml` | `0` | InitContainer `wait-for-secret` espera al Secret publicado por `addon-provisioner` (hasta 360s — 3× RECONCILE_INTERVAL 60s), luego corre `alembic upgrade head` |
### Por qué el `AddonClaim` vive FUERA del chart (ADR-066)
@@ -151,7 +151,7 @@ El Secret lo materializa automáticamente la plataforma vía el flujo
3. Publica el Secret `__APP_NAME__-db-creds` en el ns `apps`.
4. El workflow corre `helm upgrade --install`. El InitContainer
`wait-for-secret` del Job Alembic (hook `pre-install,pre-upgrade`) espera al
Secret (hasta 240s), Alembic ejecuta `upgrade head`, y el Deployment rola.
Secret (hasta 360s), Alembic ejecuta `upgrade head`, y el Deployment rola.
### Opt-out — apps stateless