k3s/services/navidrome/navidrome-ingress.yaml

91 lines
2.3 KiB
YAML
Raw Normal View History

2026-06-13 11:05:56 -04:00
# 1. Main Web UI Ingress - Protected by SSO
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
2026-06-13 11:05:56 -04:00
name: navidrome-ingress-web
namespace: default
2026-06-13 11:05:56 -04:00
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.tls: "true"
traefik.ingress.kubernetes.io/router.middlewares: default-navidrome-proxy-headers@kubernetescrd, security-auth-navidrome@kubernetescrd
spec:
2026-06-13 11:05:56 -04:00
tls:
- hosts:
- chirp.mynest.love
secretName: navidrome-tls
rules:
- host: chirp.mynest.love
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: navidrome
port:
name: http-web
---
2026-06-13 11:05:56 -04:00
# 2. Subsonic API Ingress - Bypasses SSO Middleware for Mobile Clients
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
2026-06-13 11:05:56 -04:00
name: navidrome-ingress-api
namespace: default
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
2026-05-04 17:28:34 +00:00
traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.tls: "true"
traefik.ingress.kubernetes.io/router.middlewares: default-navidrome-proxy-headers@kubernetescrd
spec:
2026-06-13 11:05:56 -04:00
ingressClassName: traefik
tls:
- hosts:
- chirp.mynest.love
secretName: navidrome-tls
rules:
- host: chirp.mynest.love
http:
paths:
2026-06-13 11:05:56 -04:00
- path: /rest
pathType: Prefix
backend:
service:
name: navidrome
port:
name: http-web
- path: /share
pathType: Prefix
backend:
service:
name: navidrome
port:
name: http-web
2026-06-13 11:05:56 -04:00
---
# 3. Auth Callback Ingress - Bypasses SSO to deliver tokens directly to the proxy
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: navidrome-auth-ingress
namespace: security
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
traefik.ingress.kubernetes.io/router.entrypoints: websecure
spec:
ingressClassName: traefik
tls:
- hosts:
- chirp.mynest.love
secretName: navidrome-tls
rules:
- host: chirp.mynest.love
http:
paths:
- path: /oauth2
pathType: Prefix
backend:
service:
name: oauth2-proxy-navidrome
port:
number: 4180