Repository navigation
v0.1.0
First public release. Put the hammer down. Keep the brakes.
hammerdown is a dependency-free Go CLI control plane for rolling restarts and upgrades across large sharded fleets. Fork it, teach it two verbs (restart a node, fail over a shard), and roll thousands of nodes shard by shard.
Highlights
- Explicit workers:
--workers Nfleet-wide,--keyspace-workers Nper keyspace - Leader-aware rolls: replicas first, planned failover to a replica already on the target build, then the old primary
- Exact fail-fast:
--max-primary-failures/--max-replica-failuresdrain before the next operation starts - Stop cleanly:
--stop-at,--blackout, Ctrl-C drains; re-run the same command to resume - Filters you can type at 3 a.m.:
--limit 'users/ALL|teams/-80,80-', globs,--skip, role, cell, host, target, canary--shards-per-keyspace 1 - Dry run by default, plus process and shard locks
- Backends:
sim(11,000-node simulated fleet) andshell(drive your existing scripts) - Claude-ready:
CLAUDE.mdand anadd-backendskill
Install
go install github.com/hashjoin/hammerdown/cmd/hammerdown@v0.1.0, or download a binary below and verify it against checksums.txt.
Try it
hammerdown sim init && hammerdown sim stage --to v20.0.1
hammerdown roll --workers 64 --sim-cursed 2 --dry-run=false --yes