Publish independent public and authenticated static artifacts on one hostname with fail-closed routing, storage, credential, and cache contracts.
Changes
Add the schema v2 artifact and longest-prefix route model, atomic immutable releases, revalidated channel pointers, unique publication authorities, and explicit single-surface-v1 compatibility.
Generate one certificate with separate bucket-specific Services and Ingresses, correct the legacy Garage website backend, remove stale manifests, and keep Git credentials out of argv and command output.
kubectl --context sjc001 apply --dry-run=server for the three fixture Services and three Ingresses — all accepted.
IPv6 request to garage-s3.storage.svc.k8s.sjc001.fritzlab.net with Host docs.fritzlab.net — HTTP 200 with cache-control public, max-age=0, must-revalidate.
Superseded by PR #2, which owns the selected split-surface contract and complete fixture suite. PR #1 will not merge; its atomic immutable-write and credential-safe push findings are recorded as required changes on PR #2.
Superseded by PR #2, which owns the selected split-surface contract and complete fixture suite. PR #1 will not merge; its atomic immutable-write and credential-safe push findings are recorded as required changes on PR #2.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Publish independent public and authenticated static artifacts on one hostname with fail-closed routing, storage, credential, and cache contracts.
Changes
Validation
Tracking
Fixes bug-7acxk8rf0g6b
Attribution
Authored-By: OpenAI (GPT-5) noreply@openai.com
Superseded by PR #2, which owns the selected split-surface contract and complete fixture suite. PR #1 will not merge; its atomic immutable-write and credential-safe push findings are recorded as required changes on PR #2.
Pull request closed