Files
homelab/kubernetes/apps/navidrome/ingress.yaml
T
atlas-botandClaude Opus 5.5 21a7583523
ci/woodpecker/pr/ci-manifests-test Pipeline was successful
ci/woodpecker/pr/ci-scripts-test Pipeline was successful
ci/woodpecker/pr/pr-review Pipeline was successful
ci: cite YAML by anchor instead of line number, and guard it (REN-183)
Comments that pointed at other YAML as `file.yaml:N` went stale on any
edit above the cited line; three drift fixes had been merged by hand
(REN-181). The cited block now carries `# anchor: <name>` and the
comment cites `path.yaml#<name>`.

- Sweep: all 32 line-number citations in YAML comments converted.
  Several were already stale at head and now point at the right block
  (see PR). Vendored files (Flux gotk-components, IMC CRD) get no
  anchor; those two citations name the object/schema path instead.
- Guard: scripts/ci/yaml-citations.sh in ci-manifests-test.yml; fails
  on a line-number citation or a path#name whose file/anchor is gone.
  Self-test in ci-scripts-test.yml.
- CONTRIBUTING.md: the convention in three lines.

Comment-only under kubernetes/: every file parses to identical objects
before and after, so Flux applies nothing and no ConfigMap data changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 08:44:54 +00:00

71 lines
1.7 KiB
YAML

# Web UI behind the navidrome-gate outpost.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: navidrome
namespace: navidrome
labels:
dns.renner.uno/public: "true"
annotations:
cert-manager.io/cluster-issuer: letsencrypt-cluster
spec:
ingressClassName: traefik
rules:
- host: navidrome.renner.uno
http:
paths:
- path: /
pathType: Prefix
# anchor: navidrome-gate
backend:
service:
name: ak-outpost-navidrome-gate
port:
number: 9000
tls:
- secretName: navidrome-tls
hosts:
- navidrome.renner.uno
---
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: navidrome-strip-identity
namespace: navidrome
spec:
headers:
customRequestHeaders:
X-Authentik-Username: ""
---
# Subsonic API and public shares bypass the gate; clients authenticate with
# their Navidrome password.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: navidrome-subsonic
namespace: navidrome
labels:
dns.renner.uno/public: "true"
annotations:
traefik.ingress.kubernetes.io/router.middlewares: navidrome-navidrome-strip-identity@kubernetescrd
spec:
ingressClassName: traefik
rules:
- host: navidrome.renner.uno
http:
paths:
- path: /rest
pathType: Prefix
backend:
service:
name: navidrome
port:
number: 80
- path: /share
pathType: Prefix
backend:
service:
name: navidrome
port:
number: 80