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>
104 lines
3.5 KiB
YAML
104 lines
3.5 KiB
YAML
# Defaults sensatos para tier startup. El CI inyecta tier/tenantId via --set
|
|
# leyendo valores del TenantProfile correspondiente.
|
|
|
|
replicaCount: 1
|
|
|
|
image:
|
|
# Proyecto Harbor dedicado del tenant: `t-<tenant-id-short>` (ADR-019 D-03).
|
|
repository: registry.coralsafety.com/t-__TENANT_ID_SHORT__/__APP_NAME__
|
|
tag: latest
|
|
pullPolicy: Always
|
|
pullSecret: harbor-tenant-pull
|
|
|
|
# Identidad del tenant — populated por --set desde el CI
|
|
tenantId: ""
|
|
tenantIdNodashes: ""
|
|
tier: startup
|
|
goldenPath: web-backend
|
|
goldenPathLang: python
|
|
|
|
database:
|
|
# Si enabled=false: no se aplica AddonClaim, no se crea Role/RoleBinding,
|
|
# ni corre el Job Alembic. El shape web-backend/python es BD-first por
|
|
# diseño, asi que el default es true. Para una app stateless, el dev
|
|
# opt-out poniendo database.enabled=false (y alembic.enabled=false).
|
|
enabled: true
|
|
# Tipo de add-on solicitado al addon-provisioner. R1 solo soporta mariadb.
|
|
addonType: mariadb
|
|
# Nombre del Secret a publicar en el ns `apps` con el connection string.
|
|
# El Job Alembic y el Deployment lo montan via envFrom.
|
|
secretName: __APP_NAME__-db-creds
|
|
# Nombre de la BD logica. Vacio -> addon-provisioner deriva del Release.Name
|
|
# (snake_case + "_db"). Ver template addonclaim.yaml.
|
|
databaseName: ""
|
|
user:
|
|
permissions: rw # rw | ro
|
|
# Retain (default) | Delete — ver ADR-052 §6.2. Retain preserva la BD
|
|
# logica si el claim se borra (recomendado para PoC/free-trial).
|
|
deletionPolicy: Retain
|
|
|
|
config:
|
|
logLevel: INFO
|
|
correlationIdHeader: X-Correlation-ID
|
|
openapiRequireAuth: false
|
|
keycloakIssuer: ""
|
|
staticDemoPath: /app/static/demo
|
|
|
|
resources:
|
|
requests:
|
|
cpu: 50m
|
|
memory: 128Mi
|
|
limits:
|
|
cpu: 500m
|
|
memory: 512Mi
|
|
|
|
probes:
|
|
liveness:
|
|
initialDelaySeconds: 20
|
|
periodSeconds: 10
|
|
readiness:
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 5
|
|
failureThreshold: 3
|
|
|
|
service:
|
|
type: ClusterIP
|
|
port: 8000
|
|
|
|
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
|
|
# 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
|
|
# 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
|
|
command: ["alembic", "upgrade", "head"]
|
|
resources:
|
|
requests: {cpu: 50m, memory: 128Mi}
|
|
limits: {cpu: 200m, memory: 256Mi}
|
|
|
|
serviceMonitor:
|
|
enabled: true
|
|
interval: 30s
|
|
port: http
|
|
|
|
networkPolicy:
|
|
enabled: true
|
|
addonsNamespace: addons # ADR-054: namespace funcional fijo en cluster tenant
|
|
# Namespace donde corre el ingress controller del cluster tenant.
|
|
# 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
|