Repository navigation
Crow 0.7.0
Crow 0.7.0: patching, rollouts and drift you can act on. All three are in Fleet Setup, and all three run on the fleet runner: you see the plan, type a word to start it, it reaches one server (or one batch) at a time, the first failure stops it, and each server gets a change record.
Binaries: Linux x86_64 (install.sh puts Crow and its icon under ~/.local) and macOS Apple Silicon (an ad-hoc signed Crow.app: the first launch needs right-click → Open).
Verify a download with slsa-verifier, or against SHA256SUMS:
slsa-verifier verify-artifact crow-linux-x86_64.tar.gz \
--provenance-path multiple.intoto.jsonl \
--source-uri github.com/errorware/crow --source-tag v0.7.0
Patching
Fleet Setup → PATCHING.
- Who's behind: each server's pending security updates, all pending updates, a pending kernel, and whether it needs a reboot. Crow re-reads this every 6 hours while it runs, or on REFRESH.
- Apply updates:
- Security or all updates, to every server or one group.
- The plan lists the exact packages per server, and only those are upgraded (apt, dnf, apk).
- Optionally, reboot the servers that need it afterwards.
- Maintenance windows per group: for example
Sun 02-05orMon-Fri 22-06. A run leaves out servers outside their window, unreachable ones, and the machine Crow runs on, and says why. - Orderly reboots, here and in the Danger Zone's rolling reboot:
- Servers behind a bastion reboot before the bastion.
- After each reboot, Crow waits for systemd to settle, and stops if a service fails that wasn't failing before.
- A server's Updates card gets APPLY SECURITY and APPLY ALL buttons.
- Alpine: if the package index was never downloaded, Crow says "pending updates unknown" instead of showing 0.
Rollouts
Fleet Setup → ROLLOUTS: one command, or one config file, across a group.
- What a config file can start from: what you type, a server's own copy, or a pinned baseline.
- Before anything runs, each server's copy gets its own diff. Servers that are already identical are left out.
- A canary goes first, alone. The run then pauses: CONTINUE WITH THE REST, or STOP HERE.
- The rest run in batches of 1, 2, 5 or 10, side by side. The first failure stops the run and shows that server's output.
- Config files are checked on each server by the format's own validator (
sshd -t,nginx -t, visudo, fstab) and kept in config history. - ROLL BACK on the finished run puts every file back exactly as it was, and removes files the rollout created.
Drift and config search
Fleet Setup → DRIFT & SEARCH.
- Drift is checked: every 15 minutes, Crow re-reads every server's baselined files.
- A drifted file raises an alert, which Email mails like any other.
- The alert clears once the file matches the baseline again.
- For each drifted file: see the diff, then BRING BACK one server or BRING ALL BACK, or ACCEPT THIS VERSION as the new baseline.
- Search every server's configs for a file name or a setting, without connecting to any server. A hit opens that file on its server. The palette (Ctrl/⌘K) finds other servers' config files too.