Skip to content

Crow 0.5.0

Choose a tag to compare

@the-nelson the-nelson released this 08 Oct 08:22
· 80 commits to main since this release

Crow 0.5.0: plugins you switch on, email alerts, and the containers on your servers.

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.5.0

Plugins

Settings → Plugins lists every integration Crow has. Each one does nothing until you switch it on.

  • What a plugin adds when it's on: its buttons, pages and actions. Multipass adds LAUNCH VM, lab containers add the lab, a cloud provider adds import, power and snapshots.
  • What it costs when it's off: nothing. It isn't probed or shown.
  • Status: each card says whether the plugin works on this machine. If it doesn't, it gives the command that fixes it. Example: Docker installed, but you're not in the docker group.
  • Upgrading keeps on whatever you were already using.

Email alerts

Settings → Plugins → Email. Alerts reach you through your own SMTP server.

  • When mail goes out:
    • A critical alert is mailed at once.
    • Warnings go into one digest, hourly by default.
    • A resolved alert sends nothing.
    • Each level can be at once, digest or never.
    • Quiet hours hold digests but never critical mail.
  • The connection: TLS, STARTTLS, or none for a relay on your own network. The password is stored encrypted in the vault.
  • SEND TEST checks the setup. Errors say what's wrong: the wrong TLS mode, a refused connection, an untrusted certificate.
  • No mail is lost: a failed send is retried every 5 minutes. Alerts already open when you switch it on aren't mailed.
  • Crow has no agent: mail only goes out while Crow is running.

Containers on your servers

Settings → Plugins → Containers on servers. Each server gets a Containers page.

  • What it reads: Docker and Podman, over SSH. That covers Docker through the docker group or passwordless sudo, rootless Podman, and root Podman.
    • Per container: state, health, restarts and published ports. A port open to every network is flagged.
    • Compose stacks, from their labels.
  • Stacks: UP, RESTART and DOWN.
  • Containers: START, STOP and RESTART.
  • Every action asks first, then leaves a change record.
  • Logs follow live. Inspect hides environment values, since that's where passwords live.
  • The wand explains a container in plain words and rates how risky stopping it is. Only its image, compose service, state and ports are sent.
  • The fleet map shows each server's containers. These count as risks: ports published to every network, failing health checks, error exits and restart loops.
  • When Docker can't be used, Crow says why and gives the fix: the login user can't reach it, or its daemon is down.

Also

  • Distro logos in the server header, and a new OS column in the Fleet table.
  • The Sockets page:
    • Its log drawer can be resized.
    • Column names stay in place as you scroll.
    • PIDs fit on one line.
    • Firewall tags are quieter.