Skip to content

🐛 fix(examples): repair crash-looping compose examples + preset-docs drift#125

Merged
scttbnsn merged 4 commits into
dev/v1.5from
fix/example-configs-and-preset-docs
Jul 4, 2026
Merged

🐛 fix(examples): repair crash-looping compose examples + preset-docs drift#125
scttbnsn merged 4 commits into
dev/v1.5from
fix/example-configs-and-preset-docs

Conversation

@scttbnsn

@scttbnsn scttbnsn commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

Post-review cleanup from the tri-repo correctness/completeness sweep. Four findings, all in shipped example configs and preset docs — no change to the canonical presets or filter behavior.

Critical: two compose example bundles crash-loop on startup

examples/compose/github-actions-runner/sockguard.yaml and examples/compose/gitlab-runner/sockguard.yaml were stale hand-copies missing the two acknowledgment flags their canonical presets carry (insecure_allow_body_blind_writes, insecure_allow_read_exfiltration, added in 5883d16 and never propagated). Both sockguard serve / docker compose up fail validation on startup. Synced both flags from the canonical presets with a "keep in sync" comment. Reproduced the crash before, confirmed both start after.

Major: no drift guard for three of the example copies (the root cause)

Only the drydock and portwing example copies had sync tests; github-actions-runner, gitlab-runner, and tri-tool's third portwing hand-copy had none — which is why the drift above shipped. Replaced the two single-purpose sync tests with one table-driven compose_example_sync_test.go covering all five example/canonical pairs, so any future copy that diverges fails CI.

Major: two presets undiscoverable in the docs

PR #122 added portwing-with-compose.yaml + drydock-with-compose.yaml (17 presets total) but README.md still said "Bundled presets (15)" and neither appeared in the list or in presets.mdx. Bumped the count and documented both.

Minor doc fixes

  • CHANGELOG.md: "all nine examples/compose/*" group_add claim corrected to eight (multi-host correctly has none).
  • app/configs/portwing-with-compose.yaml header: cited nonexistent config keys request_body.network_create / volume_create; corrected to the real request_body.network / request_body.volume.

Config package tests + build green. No canonical preset touched.

scttbnsn added 4 commits July 4, 2026 12:35
…figs with canonical presets

Both examples/compose/{github-actions-runner,gitlab-runner}/sockguard.yaml were
stale hand-copies of the canonical app/configs/*.yaml presets — they were
missing insecure_allow_body_blind_writes/insecure_allow_read_exfiltration,
which the canonical presets carry. sockguard serve --config <example> failed
startup validation, so docker compose up crash-looped for both stacks.

Add the two missing acknowledgment flags to each example, matching the
canonical policy exactly (rules/request_body/response were already in sync).
…esets

PR#122 added app/configs/portwing-with-compose.yaml and
drydock-with-compose.yaml (17 tool presets total), but README.md's "Bundled
presets (15)" heading/list and docs/content/docs/presets.mdx never caught up.

Bump the README count and add both presets to its list; add a matching ##
section for each to presets.mdx, following the sibling entries' format.
commit dac2f31 actually touched 8 examples/compose/*/docker-compose.yml
files plus the root compose (multi-host correctly has none — it dials a
remote Docker daemon over tcp:// + TLS and never mounts the socket).
…ith-compose header

The header comment cited request_body.network_create / request_body.volume_create,
neither of which exists. The real mapstructure keys are request_body.network and
request_body.volume (see app/internal/config/config.go).
@vercel

vercel Bot commented Jul 4, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
sockguard-website Ready Ready Preview, Comment Jul 4, 2026 4:53pm

@scttbnsn scttbnsn merged commit d1d578d into dev/v1.5 Jul 4, 2026
45 checks passed
@scttbnsn scttbnsn deleted the fix/example-configs-and-preset-docs branch July 4, 2026 16:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant