railiance-apps/docs
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
..
evidence RAILIANCE-WP-0016: finish unattended hybrid Option A backups 2026-07-22 20:34:24 +02:00
app-data-backup-restore-handoff.md RAILIANCE-WP-0015: use workstation cron; suspend in-cluster CronJobs 2026-07-22 18:06:06 +02:00
cnpg-backup-topology-inventory.md RAILIANCE-WP-0016: promote active; inventory and activity-core cutover prep 2026-07-22 19:50:59 +02:00
core-hub-on-railiance01.md WP-0013/0014: warden credential routing, CoulombCore kubeconfig, apps-pg backup dry-run 2026-07-10 15:46:02 +02:00
coulomb-social.md Point coulomb-social Helm and ingress at app.coulomb.social 2026-08-09 23:20:31 +02:00
credential-routing-railiance-apps.md RAILIANCE-WP-0015: Option A CNPG logical backup coverage healthy 2026-07-22 18:00:48 +02:00
django-on-railiance.md Implement app deployment improvements 2026-05-22 22:25:40 +02:00
forge-source-of-truth-decision.md Decommission forge compatibility pointers 2026-06-05 17:33:52 +02:00
forgejo-on-railiance01.md Add Forgejo T05 verify, operator bootstrap, and security hardening 2026-07-07 22:09:53 +02:00
forgejo-package-registry.md docs: mark weekly Forgejo package prune as enabled 2026-07-21 19:20:42 +02:00
informed-decision-origin.md feat(informed-decision): HTTP -> HTTPS redirect for decisions.coulomb.social 2026-09-10 16:57:28 +02:00
inter-hub-on-railiance01.md Migrate OCI image refs from Gitea to Forgejo registry 2026-07-09 11:38:14 +02:00
manifest-server-dry-run.md Close S5 app readiness workplan 2026-06-05 17:59:35 +02:00
operator-recipes.md Close S5 app readiness workplan 2026-06-05 17:59:35 +02:00
operator-setup.md Handle app deployment guardrail suggestions 2026-06-15 22:07:03 +02:00
policy-nexus-production.md Close policy nexus production rollout 2026-08-18 15:18:44 +02:00
reuse-surface-on-railiance01.md Migrate OCI image refs from Gitea to Forgejo registry 2026-07-09 11:38:14 +02:00
s5-app-onboarding-checklist.md Add reuse service landing page 2026-06-15 15:40:57 +02:00
vergabe-teilnahme.md docs(backup): close RAILIANCE-WP-0013 S5 Phase 1 gate 2026-07-12 11:29:05 +02:00