---
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
  name: redirect-https
  namespace: gongme
spec:
  redirectScheme:
    scheme: https
    permanent: true
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: gongme
  namespace: gongme
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt
    traefik.ingress.kubernetes.io/router.entrypoints: web,websecure
    traefik.ingress.kubernetes.io/router.middlewares: gongme-redirect-https@kubernetescrd
spec:
  ingressClassName: traefik
  rules:
    - host: gongme.expertfab.de
      http:
        paths:
          # /api/* geht direkt an NestJS — kein Buffering durch oauth2-proxy
          # oder Next.js-Rewrite. Kritisch fuer SSE (EventSource).
          # API-Endpoints sind durch Admin-Token und Session-Slug geschuetzt.
          - path: /api
            pathType: Prefix
            backend:
              service:
                name: gongme-api
                port:
                  number: 3001
          # Alles andere (App + OAuth-Flow) geht durch oauth2-proxy.
          - path: /
            pathType: Prefix
            backend:
              service:
                name: oauth2-proxy
                port:
                  number: 4180
  tls:
    - hosts:
        - gongme.expertfab.de
      secretName: gongme-tls
