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 1s
__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>
This commit is contained in:
ilopez
2026-06-11 21:58:56 -05:00
parent 5eead4f23f
commit 632ad1d507
5 changed files with 69 additions and 55 deletions

View File

@@ -65,20 +65,22 @@ service:
type: ClusterIP
port: 8000
ingress:
httpRoute:
# HTTPRoute (Gateway API) — el cluster tenant usa Traefik Proxy + Gateway API
# (ADR-060 Fase 1). El tráfico entra por Traefik vía el Gateway `tenant-gateway`
# del ns apps, creado por stack-deployer por tenant (§3c).
enabled: true
# className por defecto = nginx (rke2-ingress-nginx pre-instalado en cluster tenant).
# Cambiar solo si el tenant trae su propio IngressClass.
className: nginx
# FQDN en formato subdominio (ADR-067): <app>.<tenant-uuid>.apps.coralware.cloud
# Cubierto por el wildcard A record *.{tenant-uuid}.apps.coralware.cloud (un solo record)
# y el Certificate CR tenant-wildcard-tls emitido por cert-manager local del cluster.
# Nombre del Gateway al que se adjunta el HTTPRoute (parentRefs). Default fijo
# del IDP; no se cambia salvo que el tenant traiga su propio Gateway.
gatewayName: tenant-gateway
# FQDN canónico (ADR-067 / ADR-082): <app>.<tenant-uuid>.apps.coralware.cloud
# Cubierto por el wildcard *.{tenant-uuid}.apps.coralware.cloud y el cert
# tenant-wildcard-tls que TERMINA el listener HTTPS del Gateway (no este route).
host: __APP_NAME__.__TENANT_ID__.apps.coralware.cloud
# Secret TLS generado por cert-manager local del cluster tenant (ADR-060 Fase 2).
# cert-manager emite *.{tenant-uuid}.apps.coralware.cloud vía DNS-01 Cloudflare.
tlsSecretName: tenant-wildcard-tls
# Body size para subidas/uploads de la app — ajustar según necesidad.
proxyBodySize: 10m
# NOTA: el TLS (Secret tenant-wildcard-tls), el HTTP->HTTPS redirect y el
# body-size ya NO viven en este recurso (ADR-060 D6): el cert lo termina el
# listener del Gateway; el redirect y el body-size son config global de
# Traefik Proxy (bundle traefik-bootstrap).
alembic:
enabled: true
@@ -96,5 +98,6 @@ networkPolicy:
enabled: true
addonsNamespace: addons # ADR-054: namespace funcional fijo en cluster tenant
# Namespace donde corre el ingress controller del cluster tenant.
# RKE2 instala rke2-ingress-nginx en kube-system por default.
ingressControllerNamespace: kube-system
# ADR-060 Fase 1: el ingress es Traefik Proxy en ns traefik-system
# (bundle traefik-bootstrap), reemplaza rke2-ingress-nginx (kube-system).
ingressControllerNamespace: traefik-system