railiance-apps/manifests
tegwick 8d3e4a62b6
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
feat(informed-decision): HTTP -> HTTPS redirect for decisions.coulomb.social
The main Ingress is websecure-only per the forgejo pattern, so port 80 was
unrouted for this host and plain http:// returned Traefik's default 404. Adds a
redirectScheme Middleware plus a web-entrypoint Ingress, following the
reuse-surface pattern.

Pins router.priority: "1" on the redirect. cert-manager solves HTTP-01 by
creating a solver Ingress on this same host and entrypoint, so a catch-all "/"
redirect competes with it directly. Traefik would normally settle that by rule
length, but reuse-surface's 2026-07-07 report is exactly a case of a specific
rule losing to a catch-all when precedence was left implicit -- and here the
symptom would not be a visible 404 but a silently failed renewal ~60 days out,
surfacing as an expired certificate on the origin backing an OIDC redirect URI.

Verified by probe twice: with a solver-shaped Ingress present the challenge path
returns 200 (solver wins) while "/" still redirects; with it absent the redirect
correctly catches both. Probe was throwaway and is not committed; the runbook
carries the table to recreate it.

GET returns 301 and HEAD 308. That split is Traefik's own behaviour on this
cluster, not a defect here -- reuse.coulomb.social does the same.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EJbh7o7UWF4tQ5jxygnNGu

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2072522@bnt-lap001
Assistant-Session: 46173adf-7302-4ede-99d6-963b61359928
2026-09-10 16:57:28 +02:00
..
cnpg-backup-readiness.yaml RAILIANCE-WP-0015: Option A CNPG logical backup coverage healthy 2026-07-22 18:00:48 +02:00
cnpg-option-a-backup.yaml RAILIANCE-WP-0016: finish unattended hybrid Option A backups 2026-07-22 20:34:24 +02:00
cnpg-option-a-netpol.yaml RAILIANCE-WP-0016: finish unattended hybrid Option A backups 2026-07-22 20:34:24 +02:00
coulomb-social-ingress.yaml Use websecure-only ingress for coulomb-social HTTP-01 2026-08-09 23:37:08 +02:00
forgejo-ingress.yaml Deploy Forgejo on railiance01 using gitea-charts/gitea 12.5.0 2026-07-03 21:28:37 +02:00
forgejo-mailer-externalsecret.yaml Fix Forgejo mailer ESO field mapping and token bootstrap env 2026-07-07 15:21:40 +02:00
forgejo-runner.yaml Fix in-cluster runner startup and readiness probes 2026-07-03 22:32:34 +02:00
forgejo-ssh-nodeport.yaml Deploy Forgejo on railiance01 using gitea-charts/gitea 12.5.0 2026-07-03 21:28:37 +02:00
informed-decision-http-redirect.yaml feat(informed-decision): HTTP -> HTTPS redirect for decisions.coulomb.social 2026-09-10 16:57:28 +02:00
informed-decision-ingress.yaml feat(informed-decision): claim decisions.coulomb.social as the approver origin 2026-09-10 16:17:48 +02:00
informed-decision-origin.yaml feat(informed-decision): claim decisions.coulomb.social as the approver origin 2026-09-10 16:17:48 +02:00
reuse-surface-runtime-externalsecret.yaml Deploy reuse-surface runtime secrets via OpenBao External Secrets 2026-07-07 22:34:34 +02:00
vergabe-teilnahme-ingress.yaml RAILIANCE-WP-0002 T05+T06 done: vergabe-teilnahme is live at https://vergabe-teilnahme.whywhynot.de 2026-05-19 19:46:49 +02:00