ci: define strict Caddy Layer-4 spoke contract #114

Open
L0GYKAL wants to merge 7 commits from feat/minecraft-l4-contract into main
Owner

Adds a closed requires.caddy_l4 declaration for raw TCP/UDP ingress.

  • exact protocol/listener/upstream/exposure fields
  • current gateway restricted to tailnet exposure
  • gateway-private membership required
  • malformed, duplicate, public, and unknown declarations fail closed
  • Hub renders declarations; spokes cannot inject global Caddy config

Required by the Minecraft Java spoke.

Adds a closed `requires.caddy_l4` declaration for raw TCP/UDP ingress. - exact protocol/listener/upstream/exposure fields - current gateway restricted to tailnet exposure - `gateway-private` membership required - malformed, duplicate, public, and unknown declarations fail closed - Hub renders declarations; spokes cannot inject global Caddy config Required by the Minecraft Java spoke.
ci: define strict Caddy layer 4 spoke contract
All checks were successful
lint / lint (pull_request) Successful in 44s
lint / release-gate (pull_request) Successful in 1s
3ba934e093
fix(ci): reject undeclared multi-platform pulls
All checks were successful
lint / lint (pull_request) Successful in 49s
lint / release-gate (pull_request) Successful in 0s
d80a88781e
Author
Owner

Follow-up d80a887 tightens ADR-0032 admission after Minecraft debug CI exposed a deterministic gap: a pinned multi-platform index passed static admission even though the canonical skopeo copy --all fetches every architecture while the manifest described only one platform. The validator now requires the root to be the selected platform manifest, with a regression fixture. Local full lint and resource/conformance suites pass.

Follow-up d80a887 tightens ADR-0032 admission after Minecraft debug CI exposed a deterministic gap: a pinned multi-platform index passed static admission even though the canonical `skopeo copy --all` fetches every architecture while the manifest described only one platform. The validator now requires the root to be the selected platform manifest, with a regression fixture. Local full lint and resource/conformance suites pass.
fix(ci): reject unauthenticated rules submodule URLs
Some checks failed
lint / lint (pull_request) Failing after 50s
lint / release-gate (pull_request) Failing after 0s
fbdd52550b
test(ci): keep k3s fixture on canonical rules URL
All checks were successful
lint / lint (pull_request) Successful in 47s
lint / release-gate (pull_request) Successful in 0s
ffbb097da9
fix(network): require dedicated layer4 ingress
All checks were successful
lint / lint (pull_request) Successful in 49s
lint / release-gate (pull_request) Successful in 1s
fc254f03ef
feat(ci): bind layer-4 routes to backend networks
All checks were successful
lint / lint (pull_request) Successful in 52s
lint / release-gate (pull_request) Successful in 0s
6e3aa78441
feat(ci): account shared OCI bindings once
All checks were successful
lint / lint (pull_request) Successful in 48s
lint / release-gate (pull_request) Successful in 0s
98f01844a3
All checks were successful
lint / lint (pull_request) Successful in 48s
lint / release-gate (pull_request) Successful in 0s
Required
Details
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feat/minecraft-l4-contract:feat/minecraft-l4-contract
git switch feat/minecraft-l4-contract
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
L0GYKAL/the-rules!114
No description provided.