k3s/services/foundryvtt/foundry-vtt-ingress.yaml

80 lines
2 KiB
YAML
Raw Normal View History

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