apiVersion: traefik.io/v1alpha1 kind: Middleware metadata: name: foundry-proxy-headers namespace: default spec: headers: customRequestHeaders: X-Forwarded-Proto: "https" --- apiVersion: traefik.io/v1alpha1 kind: Middleware metadata: name: foundry-vtt-oauth-auth namespace: default spec: forwardAuth: address: http://foundry-vtt-oauth2-proxy.default.svc.cluster.local:4180/ trustForwardHeader: true authResponseHeaders: - X-Auth-Request-User - X-Auth-Request-Email - X-Auth-Request-Access-Token --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: foundry-ingress namespace: default annotations: cert-manager.io/cluster-issuer: "letsencrypt-prod" traefik.ingress.kubernetes.io/router.entrypoints: web, websecure traefik.ingress.kubernetes.io/router.tls: "true" traefik.ingress.kubernetes.io/router.middlewares: default-foundry-proxy-headers@kubernetescrd, default-foundry-vtt-oauth-auth@kubernetescrd spec: ingressClassName: traefik tls: - hosts: - foundry.mynest.love secretName: foundry-vtt-tls rules: - host: foundry.mynest.love http: paths: - path: / pathType: Prefix backend: service: name: foundry-vtt port: name: http-web --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: foundry-oauth-ingress namespace: default annotations: cert-manager.io/cluster-issuer: "letsencrypt-prod" traefik.ingress.kubernetes.io/router.entrypoints: web, websecure traefik.ingress.kubernetes.io/router.tls: "true" traefik.ingress.kubernetes.io/router.middlewares: default-foundry-proxy-headers@kubernetescrd spec: ingressClassName: traefik tls: - hosts: - foundry.mynest.love secretName: foundry-vtt-tls rules: - host: foundry.mynest.love http: paths: - path: /oauth2 pathType: Prefix backend: service: name: foundry-vtt-oauth2-proxy port: number: 4180