S5 Workloads — Gitea, Zulip, and other application Helm releases
Find a file
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
.claude/rules Adopt repo-owned workplan prefix per ADR-007 2026-08-17 10:48:58 +02:00
.forgejo/workflows Add Forgejo CI smoke workflow (enablement template) 2026-07-04 12:49:57 +02:00
.gitea/workflows Harden inter-hub production deploy trigger 2026-06-15 22:44:13 +02:00
bindings release: approve Risk Nexus publication batch 2026-09-01 02:00:01 +02:00
charts Give the reuse landing catch-all its own Ingress and an explicit priority 2026-08-21 03:24:14 +02:00
docs feat(informed-decision): HTTP -> HTTPS redirect for decisions.coulomb.social 2026-09-10 16:57:28 +02:00
helm Bump reuse-surface to main-6cbc862 (REUSE-WP-0020-T09) 2026-08-21 16:20:58 +02:00
manifests feat(informed-decision): HTTP -> HTTPS redirect for decisions.coulomb.social 2026-09-10 16:57:28 +02:00
registry Draft capability entry (reuse-surface REUSE-WP-0017-T04, cohort 3) 2026-07-06 19:50:53 +02:00
tools Bind policy nexus release 2 for production 2026-08-18 13:59:28 +02:00
workplans docs: record Risk Nexus production promotion 2026-09-01 02:02:25 +02:00
.custodian-brief.md chore(consistency): sync task status from DB [auto] 2026-09-10 16:35:43 +02:00
.repo-classification.yaml Add .repo-classification.yaml (CUST-WP-0050 T11 agent first-pass) 2026-06-22 17:47:39 +02:00
.sops.yaml feat(gitea): update Helm values with external DB/cache config and add SOPS policy 2026-03-31 11:52:54 +00:00
AGENTS.md docs(agents): repoint remote State Hub URL to the in-cluster address 2026-08-25 00:21:42 +02:00
CLAUDE.md Add credential routing instructions for all agent runtimes 2026-06-18 22:48:39 +02:00
INTENT.md Delegate Gitea operations to forge 2026-06-05 13:19:12 +02:00
LICENSE Adopt Target Revenue Source License V1C1 (org-wide preliminary rollout) 2026-07-29 23:47:00 +02:00
Makefile Bind policy nexus release 2 for production 2026-08-18 13:59:28 +02:00
SCOPE.md Correct stale Gitea current-state claims to Forgejo 2026-08-11 23:08:52 +02:00
STATE.md RAILIANCE-WP-0016: finish unattended hybrid Option A backups 2026-07-22 20:34:24 +02:00
WORK-RECORDS.md chore(consistency): refresh work-record index 2026-08-25 23:00:12 +02:00