# 1. Main Web UI Ingress - Protected by SSO apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: navidrome-ingress-web namespace: default 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: 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 --- # 2. Subsonic API Ingress - Bypasses SSO Middleware for Mobile Clients apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: navidrome-ingress-api namespace: default 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 spec: ingressClassName: traefik tls: - hosts: - chirp.mynest.love secretName: navidrome-tls rules: - host: chirp.mynest.love http: paths: - path: /rest pathType: Prefix backend: service: name: navidrome port: name: http-web - path: /share pathType: Prefix backend: service: name: navidrome port: name: http-web --- # 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