Skip to content

feat(mesh): Phase 2 gap-close — Gate 3 probe, bootstrap smoke tests, token hardening - #88

Merged
oldrepublicwizard merged 2 commits into
mainfrom
feat/mesh-phase2-gap-close
Jul 25, 2026
Merged

feat(mesh): Phase 2 gap-close — Gate 3 probe, bootstrap smoke tests, token hardening#88
oldrepublicwizard merged 2 commits into
mainfrom
feat/mesh-phase2-gap-close

Conversation

@oldrepublicwizard

Copy link
Copy Markdown
Contributor

Summary

Phase 2 mesh gap-close work: tightens proof coverage and operational hardening.

Changes

  • Gate 3 headscale API probe (scripts/verify-internal-mesh-dns.sh): adds primary Headscale API reachability check + pairwise tailnet ping when --require-targets is set (R7 coverage)
  • Bootstrap smoke tests (tests/bootstrap-smoke/): Playwright specs for Headscale UI four-URL entrypoints and mirror-domain bootstrap pre-fill behavior
  • Token rotation hardening (docs/runbooks/cloudflare-scoped-tokens.md): 24h preauth key TTL enforcement, fail-closed semantics documented, rotation table with named owners and cadence
  • gitignore: exclude infra/bin/ compiled binaries and test-results/ dirs

Prior commit on this branch

fed9411 docs: bring plan 001 brownfield re-scope and STRATEGY Phase 1 close

Testing

  • bash scripts/verify-internal-mesh-dns.sh --require-targets covers Gate 3
  • Playwright tests runnable via npx playwright test in tests/bootstrap-smoke/

{ host: 'headscale.micklethefickle.bolabaden.org', path: '/web/settings.html' },
];

const primary = process.env.HEADSCALE_PRIMARY || 'micklethefickle';
…smoke tests, token rotation hardening

- scripts/verify-internal-mesh-dns.sh: add Gate 3 Headscale API reachability + pairwise tailnet ping (R7)
- tests/bootstrap-smoke: add headscale-four-urls.spec.ts and headscale-mirror.spec.ts Playwright smoke tests
- docs/runbooks/cloudflare-scoped-tokens.md: harden preauth key TTL (24h), fail-closed semantics, rotation table
- .gitignore: exclude infra/bin/ compiled binaries and test-results/
… U6 spec + docs

U1 (residual):
- scripts/provision-mesh-ddns-token.sh: verify-only by default; --create is
  out-of-band only; exits non-zero on missing/invalid/inactive token
- scripts/test_provision_mesh_ddns_token.sh: 10 unit tests (T1–T10), 12 assertions
  all passing; T10 proves primary fail-closed integration
- arbitrary-scripts/bootstrap/generate-implicit-env.sh: replace WARN-continue
  with IS_PRIMARY-gated fail-closed block (R5/KTD1) — standbys skip silently

U6:
- tests/bootstrap-smoke/mesh-targets-enrolled.spec.ts: Playwright spec for
  three-target enrollment gate (Gate 1 API, Gate 2 FQDN, Gate 3 machine list,
  Gate 4 aggregate); skips offline, runs live with MESH_TARGETS_TEST=1
- docs/solutions/integration-issues/bootstrap-from-scratch-vractormania.md:
  U6 contract section with secret injection matrix, command sequence, fail-closed
  gates, and proof log table
- docs/plans/2026-07-25-001-feat-hands-off-mesh-targets-plan.md: check off
  residual U1 (fail-closed), U2 (rotation docs), solution doc, and U6 spec DoD items
@oldrepublicwizard
oldrepublicwizard force-pushed the feat/mesh-phase2-gap-close branch from 3cb9197 to 208671e Compare July 25, 2026 16:10
@oldrepublicwizard
oldrepublicwizard merged commit 621574d into main Jul 25, 2026
8 checks passed
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.

2 participants