diff --git a/apps/copyparty/README.md b/apps/copyparty/README.md index a3fce3f..c0d822a 100644 --- a/apps/copyparty/README.md +++ b/apps/copyparty/README.md @@ -13,7 +13,8 @@ Anonymous users receive only `r` (read/list/download) permission. No account has upload, move, delete or admin permission. The non-root container also mounts `/komposthaufen` recursively read-only. Symlinks cannot escape the exported volume. HTML is served as text and embedded directory prologues are disabled. -The Traefik route preserves the URL prefix; Copyparty's `rp-loc` handles it. +The Traefik-owned route keeps its name but moves from `default` to `copyparty` +to avoid enabling cross-namespace routing globally. It preserves the URL prefix; Copyparty's `rp-loc` handles it. Direct downloads, HEAD and HTTP byte ranges retain their normal URL shape. The writable RBD PVC contains rebuildable SQLite search indexes, thumbnails and diff --git a/apps/traefik/routes/default-ingressroute-komposthaufen.json b/apps/traefik/routes/copyparty-ingressroute-komposthaufen.json similarity index 68% rename from apps/traefik/routes/default-ingressroute-komposthaufen.json rename to apps/traefik/routes/copyparty-ingressroute-komposthaufen.json index 1fda85b..9d43328 100644 --- a/apps/traefik/routes/default-ingressroute-komposthaufen.json +++ b/apps/traefik/routes/copyparty-ingressroute-komposthaufen.json @@ -3,7 +3,7 @@ "kind": "IngressRoute", "metadata": { "name": "komposthaufen", - "namespace": "default" + "namespace": "copyparty" }, "spec": { "entryPoints": [ @@ -12,11 +12,11 @@ "routes": [ { "kind": "Rule", - "match": "Host(`brunner.ninja`) && PathPrefix(`/komposthaufen`)", + "match": "Host(`brunner.ninja`) && (Path(`/komposthaufen`) || PathPrefix(`/komposthaufen/`))", "services": [ { "kind": "Service", - "name": "legacy-apache-service", + "name": "copyparty", "port": "http" } ] diff --git a/bootstrap/copyparty.yaml b/bootstrap/copyparty.yaml index 629c8b4..ae5a0cb 100644 --- a/bootstrap/copyparty.yaml +++ b/bootstrap/copyparty.yaml @@ -22,5 +22,5 @@ spec: syncPolicy: automated: enabled: true - prune: false + prune: true selfHeal: true diff --git a/bootstrap/traefik-project.yaml b/bootstrap/traefik-project.yaml index d760be2..12e2e4c 100644 --- a/bootstrap/traefik-project.yaml +++ b/bootstrap/traefik-project.yaml @@ -9,6 +9,8 @@ spec: - https://traefik.github.io/charts - https://code.brunner.ninja/feedc0de/homelab-gitops.git destinations: + - namespace: copyparty + server: https://kubernetes.default.svc - namespace: default server: https://kubernetes.default.svc - namespace: garrysmod