Skip to content

Crow 0.4.0

Choose a tag to compare

@the-nelson the-nelson released this 07 Oct 21:01
· 87 commits to main since this release

Crow 0.4.0: local VMs with Multipass, a map of your fleet and what puts it at risk, a command palette that really searches, and AI help with a backup provider.

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

Local VMs with Multipass

Fleet → LOCAL LAB & VMS → Multipass:

  • Launch a VM (CPU, memory, disk, Ubuntu release). The window closes and the status bar follows it live: the image download, booting, then Crow's own steps. When it's ready, Crow opens it as a server.
  • Each VM gets Crow's key through cloud-init. Its host keys are read through Multipass and pinned, not trusted on first use.
  • Import VMs you made yourself: Crow adds its key and enrolls them.
  • Start, stop, suspend and restart from the lab or the server's header. Deleting a VM takes a second click, and its fleet entry is archived.
  • Crow checks the setup and gives the exact fix to copy: installing the snap, and on Fedora Atomic / Bazzite the nobody user the snap can't see and firewalld blocking the VMs' network.

The fleet map

Fleet Setup & Policies → FLEET MAP: Crow, your keys, the servers it reaches directly and through jump hosts, Multipass VMs and lab containers.

  • Risks come only from what Crow has actually read:
    • open alerts, unpinned host keys, password logins;
    • jump hosts several servers depend on;
    • keys past 90 days, DSA keys, RSA under 3072 bits;
    • a read-only posture check: root SSH login, password login, the active firewall, ports open to every network.
  • Without root, a posture field reads as unknown, never as safe.
  • Drag to pan, scroll to zoom, filter by env or AT RISK ONLY. Click a node for its risks (and where each comes from), its facts and its links.

Command palette (Ctrl/⌘K)

The palette was a mock-up. It now searches as you type, fuzzy and ranked, with the matched letters picked out:

  • What it finds: servers (by name, address, env, group, tags, status, provider), every page, the open server's config files, services and processes, actions and keys.
  • Tab narrows the search to one server; Backspace backs out. ↑/↓, Enter, Esc. Recently used entries come first.

AI help (Clankers)

  • Primary and backup providers: if the primary fails, the backup answers and says why.
  • TEST KEY lists your models: it costs nothing and checks the model you picked is offered. LOAD MODELS lets you pick from that list.
  • Usage is counted per day, so the 30-day figures are real.
  • The wand in a server's Services drawer explains a service in plain words, rated LOW to CRITICAL for stopping or restarting it. Only the unit's name, description and state, and the distro are sent.

Fixes

  • The provider cards' buttons (Edit Key and others) only worked on the last card.
  • The sockets table's endpoint columns now fit long addresses.
  • Cron is a table, and its side panel shows the crontab (it showed another file).
  • The config filter fits its bar.
  • The header buttons line up.
  • The security badge says what's missing (2FA).
  • Provider import moved to Settings → Providers.