Commit Graph

19 Commits

Author SHA1 Message Date
ilopez
5efd243972 fix(ci): helm collision-proof en helm-deploy (pre-horneado + fallback mktemp único)
Propaga desde coralware/IDP@b31c741 (CI-SHARED-HOME-RACE). El step usa el helm
pre-horneado de la imagen del runner si está presente; el fallback descarga a un
dir único por-run (mktemp), nunca a $HOME/.local/bin ni /tmp/linux-$ARCH
compartidos que con executor=host se pisan entre jobs concurrentes.
2026-06-14 21:17:09 -05:00
Irving Lopez
929a4cefee fix(ci): guard concurrency + recuperación de release pending-install en helm-deploy (TENANT-BUILD-NO-CONCURRENCY-GUARD)
Sin guard `concurrency:` múltiples dispatches del repo del tenant corrían
helm upgrade en paralelo sobre el mismo release → 'another operation in
progress' → release trabado en pending-install → primer deploy nunca completa
(vivido E2E 2026-06-10, tenant 9e6babb0). Causa raíz del first-deploy flaky
(runs 3418/3419).

- concurrency workflow-level (group por repo, cancel-in-progress:false: encola,
  no cancela — cancelar a mitad de helm install es lo que CREA el pending-install)
- step de recuperación: detecta pending-install/uninstalling→uninstall,
  pending-upgrade/pending-rollback→rollback, antes del helm upgrade. Fail-safe:
  solo toca estados pending-*, no toca deployed/failed/inexistente.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Además: añadido el wait de rancher-webhook (RANCHER-WEBHOOK-RACE-RECOVERY) que
faltaba en rest-api — paridad con el template web-backend.
2026-06-14 17:01:56 -05:00
ilopez
e7e1801dcb feat(gateway-api): ADR-060 Fase 1.1 — chart a HTTPRoute (Traefik + Gateway API)
All checks were successful
__APP_NAME__ — build & deploy / ¿Credenciales de build listas? (push) Successful in 0s
__APP_NAME__ — build & deploy / Calidad + build + push (push) Has been skipped
__APP_NAME__ — build & deploy / ¿Cluster del tenant listo? (push) Has been skipped
__APP_NAME__ — build & deploy / Helm upgrade --install (push) Has been skipped
Sincronizado desde repo IDP templates/ (CHART-SYNC-IDP-GITEA-DRIFT). Reemplaza el
Ingress (rke2-ingress-nginx, EOL marzo 2026) por HTTPRoute (Gateway API) adjunto al
Gateway tenant-gateway que crea stack-deployer (§3c). NetworkPolicy egress kube-system
-> traefik-system. FQDN DOT (ADR-082) preservado.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 21:58:58 -05:00
c119d89cf3 fix(fqdn): forma subdominio DOT canónica (ADR-082, completion ADR-067) 2026-06-10 22:12:50 +00:00
aebd0198d1 fix(fqdn): forma subdominio DOT canónica (ADR-082, completion ADR-067) 2026-06-10 22:12:49 +00:00
d5331f1091 fix(fqdn): forma subdominio DOT canónica (ADR-082, completion ADR-067)
All checks were successful
__APP_NAME__ — build & deploy / ¿Credenciales de build listas? (push) Successful in 0s
__APP_NAME__ — build & deploy / Calidad + build + push (push) Has been skipped
__APP_NAME__ — build & deploy / ¿Cluster del tenant listo? (push) Has been skipped
__APP_NAME__ — build & deploy / Helm upgrade --install (push) Has been skipped
2026-06-10 22:12:47 +00:00
Irving López
48e3de576e fix(ci): build-gate skip-graceful si HARBOR_ROBOT_* ausente (GOLDEN-PATH-BUILD-DEPLOY-ORDER-RACE)
E2E 2026-06-05 mostró que en template mínimo la calidad corre ~15s, así que el
build alcanza 'Build y push a Harbor' antes de que tenant-manager fase 1 siembre
(~20s) → run #1 rojo. build-gate (1er job) skipea el build si HARBOR_ROBOT_USER
ausente, simétrico al cluster-gate. El dispatch de fase 2 hace el run completo.
Sync desde coralware/IDP.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 13:42:38 -05:00
Irving López
73f29ec3a4 fix(ci): helm-deploy tolerante a cluster no-listo (GOLDEN-PATH-BUILD-DEPLOY-ORDER-RACE)
Job cluster-gate -> helm-deploy con if needs.cluster-gate.outputs.ready=='true'.
Sin KUBECONFIG_TENANT_B64 (cluster aprovisionando) el deploy queda SKIPPED, no
rojo. tenant-manager (fase 2 deploy-ready) dispara workflow_dispatch al sembrar
el kubeconfig -> run #2 despliega. Sincronizado desde coralware/IDP commit a27e153.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 12:59:29 -05:00
a5486c2ad5 sync: GOLDEN-PATH-CHART-HOOK-ORDER + ADDON-PROVISIONER-IMPL — desde coralware/IDP@9f03643
Some checks failed
__APP_NAME__ — build & deploy / Calidad + build + push (push) Failing after 26s
__APP_NAME__ — build & deploy / Helm upgrade --install (push) Has been skipped
Sincroniza desde el monorepo IDP la corrección del hook-order del ServiceAccount
(hook pre-install/pre-upgrade, weight -5) que destraba el helm install del
golden-path sin --no-hooks. Cierre del 4º gap del pipeline tenant hands-off:
el smoke E2E valida ahora la cadena completa (addon-provisioner materializa
MariaDB; AddonClaim publica DATABASE_URL en apps).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-22 16:56:38 -05:00
Coralware Template Sync
a3aed377e0 sync: README — build linux/amd64 (ADR-061)
Some checks failed
__APP_NAME__ — build & deploy / Calidad + build + push (push) Failing after 49s
__APP_NAME__ — build & deploy / Helm upgrade --install (push) Has been skipped
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-21 23:50:54 -05:00
Coralware Template Sync
975673a844 sync: workflow CI self-contained + imagen Harbor t-<short> (ADR-061)
Some checks failed
__APP_NAME__ — build & deploy / Calidad + build + push (push) Failing after 11s
__APP_NAME__ — build & deploy / Helm upgrade --install (push) Has been skipped
Workflow <app>-build.yaml self-contained — sin uses: cross-repo al repo
privado coralware/IDP. requirements-dev.txt inline. image.repository apunta
al proyecto Harbor dedicado del tenant t-<tenant-id-short> (ADR-019 D-03).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-21 22:08:14 -05:00
Coralware IDP CI
785ccbdc79 chore: migrar Ingress Traefik→NGINX + cascada wildcard cert (sync APERTURA COVE S3)
Some checks failed
__APP_NAME__ — build & deploy / build (push) Failing after 0s
__APP_NAME__ — build & deploy / helm-deploy (push) Has been skipped
2026-05-21 10:04:53 -05:00
1d130d5bed fix: alinear namespace con ADR-054 (cluster-per-tenant)
- workflow: --namespace apps (antes tenant-${TENANT_ID_NODASHES}-apps)

ADR-054 establece namespaces funcionales en cluster tenant. El cluster
RKE2 dedicado ya es el sandbox del tenant.
2026-05-06 18:05:44 -05:00
99544639e6 feat: poblar scaffold inicial del shape rest-api/python
Some checks failed
__APP_NAME__ — build & deploy / build (push) Failing after 0s
__APP_NAME__ — build & deploy / helm-deploy (push) Has been skipped
Reemplaza el placeholder mínimo previo por el scaffold canónico del
golden path rest-api/python (entry point para tier free-trial):

- code/app/main.py — FastAPI con /health (sin DB), /metrics, middleware
  correlation_id, settings Pydantic
- code/tests/ — pytest + httpx TestClient (sin testcontainers, sin Docker)
- helm/APP_NAME/ — chart minimal: Deployment, Service, IngressRoute,
  NetworkPolicy. SIN Job Alembic, SIN ServiceMonitor, SIN claim de BD
- coralware-shape.yaml — shapeVersion 1.0.0, minTier free-trial,
  promotionPath -> web-backend-python cuando se requiera persistencia
- .gitea/workflows/APP_NAME-build.yaml — invoca reusable workflow ADR-038
  + job helm-deploy con KUBECONFIG_TENANT_B64

Diferencias con web-backend/python: sin alembic, sin BD, sin
testcontainers, NetworkPolicy sin acceso a ns-addons.

Placeholders __APP_NAME__, __TIER__, __TENANT_ID__, __TENANT_ID_NODASHES__
serán sustituidos server-side por repo-provisioner.

El openspec/ del golden path NO se sincroniza al repo Gitea (gobernanza
interna de Coralware).

Refs: ADR-027 (Golden Paths), ADR-038 (CI), ADR-053 (referencia anatomía).
2026-05-06 17:57:04 -05:00
78c4c0069b CAT-002: catalog-info.yaml canónico con placeholders Coralware
All checks were successful
ci / build (push) Successful in 13s
2026-04-28 04:58:05 +00:00
1849345f51 chore: agregar .gitignore
All checks were successful
ci / build (push) Successful in 17s
2026-04-24 23:45:25 +00:00
3814898082 chore: agregar pipeline CI placeholder
Some checks failed
ci / build (push) Has been cancelled
2026-04-24 23:45:25 +00:00
7dd5f71ea8 chore: agregar catalog-info.yaml template 2026-04-24 23:45:08 +00:00
d76b1c8244 Initial commit 2026-04-24 23:44:53 +00:00