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>
70 lines
2.0 KiB
YAML
70 lines
2.0 KiB
YAML
# Defaults sensatos para tier free-trial. 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: free-trial
|
|
goldenPath: rest-api
|
|
goldenPathLang: python
|
|
|
|
config:
|
|
logLevel: INFO
|
|
correlationIdHeader: X-Correlation-ID
|
|
openapiRequireAuth: false
|
|
keycloakIssuer: ""
|
|
|
|
resources:
|
|
requests:
|
|
cpu: 50m
|
|
memory: 64Mi
|
|
limits:
|
|
cpu: 250m
|
|
memory: 256Mi
|
|
|
|
probes:
|
|
liveness:
|
|
initialDelaySeconds: 15
|
|
periodSeconds: 10
|
|
readiness:
|
|
initialDelaySeconds: 3
|
|
periodSeconds: 5
|
|
failureThreshold: 3
|
|
|
|
service:
|
|
type: ClusterIP
|
|
port: 8000
|
|
|
|
ingress:
|
|
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
|
|
# Host con tenant-id CON guiones (formato canónico Cove): coincide con
|
|
# los A records que crea cloudflare-provisioner (Gap 5) y el wildcard
|
|
# cert apps-wildcard-tls (Gap 3).
|
|
host: __APP_NAME__-__TENANT_ID__.apps.coralware.cloud
|
|
# Secret TLS provisto por el wildcard *.apps.coralware.cloud sembrado
|
|
# en el cluster tenant por el agente cloudflare/cert-manager (Gap 3).
|
|
# NO se renombra por app — todas las apps del tenant lo comparten.
|
|
tlsSecretName: apps-wildcard-tls
|
|
# Body size para subidas/uploads de la app — rest-api es stateless por
|
|
# diseño (sin upload), default conservador 1m. Ajustar si la API acepta
|
|
# payloads grandes (ej. file POST).
|
|
proxyBodySize: 1m
|
|
|
|
networkPolicy:
|
|
enabled: true
|
|
# Namespace donde corre el ingress controller del cluster tenant.
|
|
# RKE2 instala rke2-ingress-nginx en kube-system por default.
|
|
ingressControllerNamespace: kube-system
|