Skip to content

chore(release): ship bare binaries; document broker-by-default Docker image#1

Merged
nnemirovsky merged 1 commit into
mainfrom
release-pipeline-cleanup
May 20, 2026
Merged

chore(release): ship bare binaries; document broker-by-default Docker image#1
nnemirovsky merged 1 commit into
mainfrom
release-pipeline-cleanup

Conversation

@nnemirovsky
Copy link
Copy Markdown
Owner

Two small release-pipeline cleanups bundled into one PR.

1. Bare binaries instead of tar.gz archives

format: binary instead of tar.gz, name_template drops the version — matches the sluice convention. Users curl -L -o peerbus https://.../releases/latest/download/peerbus_linux_amd64 && chmod +x peerbus instead of downloading a tarball that contains exactly one binary + a LICENSE/README that already live in the repo.

Verified with goreleaser release --snapshot --clean: produces

peerbus_linux_amd64    peerbus_linux_arm64
peerbus_darwin_amd64   peerbus_darwin_arm64
peerbus_<version>_checksums.txt

2. Dockerfile framing: broker-by-default, not broker-only

Pre-refactor the image literally only contained the broker binary, so 'BROKER ONLY' was true. Post-v0.2.0 the image bakes in the full peerbus multi-command binary with CMD ["serve"] as the default — docker run peerbus:latest is still the broker, but docker run peerbus:latest audit verify --db /data/peerbus.db (or --version) works for ops tasks because Docker CMD is overridable. Adapters remain a bad fit for a container service (stdio MCP child of the agent runtime; running it as a long-lived container has no parent stdio to attach to and is the cc2cc orphan failure mode). Comment + README + compose.yml updated to reflect that.

No code changes; tests unaffected. Will cut v0.2.1 once this is in.

… image

- .goreleaser.yml: format: tar.gz -> binary; name_template drops version
  (matches sluice style; users grab peerbus_<os>_<arch> directly, no
  extract step). LICENSE/README dropped from archive — repo already
  carries both and release notes link them.
- Dockerfile: rewrite the stale 'BROKER ONLY' rationale. v0.2.0+ ships
  one peerbus binary; the image bakes in serve as the default CMD but
  CMD is overridable (audit verify, --version, etc.). Adapters remain a
  bad fit for a container service (stdio child of the agent runtime).
- deploy/compose.yml + README: match the new framing — broker-by-default,
  not broker-only.
@nnemirovsky nnemirovsky merged commit 08a6790 into main May 20, 2026
3 checks passed
@nnemirovsky nnemirovsky deleted the release-pipeline-cleanup branch May 20, 2026 04:32
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