Automate bootstrap.json generation from Swarm inventory #17

Open
opened 2025-10-22 02:04:39 +00:00 by tony · 0 comments
Owner

Summary

Create a reusable automation that emits /config/bootstrap.json from the current Swarm membership so CHORUS replicas always receive deterministic QUIC bootstrap peers. The task comes from Phase 1 of the QUIC mesh rebaseline plan (docs/planning/quic-mesh-rebaseline.md).

Background

  • Plan status snapshot (2025-10-21) highlights the missing bootstrap generator.
  • docker/docker-compose.yml mounts /config/bootstrap.json, but the file is still a manual stub.
  • Existing test assets (docker/testing/peer-connectivity-stage*.yml) and the empty docker/bootstrap.json illustrate legacy bootstrap artifacts to retire.

Requirements

  • Inspect Swarm membership (Docker API or CLI) and collect each node's deterministic address on the QUIC-capable network (chorus_ipvlan).
  • Produce JSON structured for CHORUS runtime consumption (peer multiaddrs, cert hashes placeholder, metadata).
  • Make the tool idempotent; document invocation in repo (README or docs/operations).
  • Add basic validation/logging so missing nodes or port conflicts surface early.
  • Provide unit or smoke tests where practical; ensure tool plays nicely in CI (skip when Docker unavailable).

Acceptance Criteria

  • Script/binary committed under tools/ (or similar) with clear usage instructions.
  • Pipeline or make target updates so operators can regenerate /config/bootstrap.json prior to deploy.
  • Documentation updated in docs/planning/quic-mesh-rebaseline.md or new runbook linking to the tool.
  • CI passes and existing checks remain green.
## Summary Create a reusable automation that emits `/config/bootstrap.json` from the current Swarm membership so CHORUS replicas always receive deterministic QUIC bootstrap peers. The task comes from Phase 1 of the QUIC mesh rebaseline plan (`docs/planning/quic-mesh-rebaseline.md`). ## Background - Plan status snapshot (2025-10-21) highlights the missing bootstrap generator. - `docker/docker-compose.yml` mounts `/config/bootstrap.json`, but the file is still a manual stub. - Existing test assets (`docker/testing/peer-connectivity-stage*.yml`) and the empty `docker/bootstrap.json` illustrate legacy bootstrap artifacts to retire. ## Requirements - Inspect Swarm membership (Docker API or CLI) and collect each node's deterministic address on the QUIC-capable network (`chorus_ipvlan`). - Produce JSON structured for CHORUS runtime consumption (peer multiaddrs, cert hashes placeholder, metadata). - Make the tool idempotent; document invocation in repo (README or `docs/operations`). - Add basic validation/logging so missing nodes or port conflicts surface early. - Provide unit or smoke tests where practical; ensure tool plays nicely in CI (skip when Docker unavailable). ## Acceptance Criteria - Script/binary committed under `tools/` (or similar) with clear usage instructions. - Pipeline or make target updates so operators can regenerate `/config/bootstrap.json` prior to deploy. - Documentation updated in `docs/planning/quic-mesh-rebaseline.md` or new runbook linking to the tool. - CI passes and existing checks remain green.
tony added the
help wanted
label 2025-10-22 02:04:39 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: tony/CHORUS#17
No description provided.