{{- if .Values.httpRoute.enabled }} # HTTPRoute (gateway.networking.k8s.io/v1) — ADR-060 Fase 1. # El cluster tenant usa Traefik Proxy + Gateway API (reemplaza rke2-ingress-nginx, # EOL marzo 2026, sin parches de seguridad). El recurso `Gateway` `tenant-gateway` # (ns apps) lo crea stack-deployer por tenant (ADR-060 D7 / §3c de su spec); este # HTTPRoute se le adjunta vía parentRefs. # # Lo que NO vive aquí (separación de capas — ADR-060 D6): # - TLS: lo termina el listener HTTPS del Gateway, que referencia el Secret # `tenant-wildcard-tls` (cert-manager local del cluster, ADR-060 Fase 2). El # HTTPRoute solo declara el hostname. # - force-ssl-redirect (HTTP->HTTPS): config global de Traefik Proxy # (ports.web.redirectTo.websecure) en el bundle traefik-bootstrap. # - proxy-body-size: config global de Traefik (transport); Middleware per-route # solo si se necesita granularidad futura. apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: {{ .Release.Name }} labels: {{- include "app.labels" . | nindent 4 }} spec: parentRefs: - name: {{ .Values.httpRoute.gatewayName | default "tenant-gateway" }} namespace: {{ .Release.Namespace }} sectionName: https hostnames: - {{ .Values.httpRoute.host | quote }} rules: - matches: - path: type: PathPrefix value: / backendRefs: - name: {{ .Release.Name }} port: {{ .Values.service.port }} {{- end }}