Corbie

Setting up

Install

Download one binary, choose where Corbie runs, and check the setup with one command.

Download

  curl -Lo corbie https://github.com/zummed/corbie/releases/latest/download/corbie-linux-amd64
  chmod +x corbie
  mv corbie ~/.local/bin/

The release has one binary for each system.

Linuxcorbie-linux-amd64, corbie-linux-arm64 macOScorbie-darwin-arm64, corbie-darwin-amd64 Windowscorbie-windows-amd64.exe

Corbie is tested on Linux, and its store, runner, permissions and keys on Windows too. Some things differ elsewhere.

  • On macOS and Windows, a job's memory: limit covers the script and not the programs it starts.
  • On Windows, a path starts with its drive, as fs.read:C:/Users/sam/**. A path with a leading / and no drive allows nothing.
  • On Windows, paths and programs' names match in any case, and exec:git starts git.exe. A batch file, such as one npm installs, is not started.
  • On Windows, SYSTEM and Administrators can read Corbie's private keys, as root can elsewhere.
  • On Windows, a directory store's newest names can be lost when the power goes: Windows cannot sync a directory.

Choose where it runs

  • One computer runs everything. See One computer.
    • ✓ Two commands set it up.
    • ✗ No run advances while it is off.
  • Other computers use the first one's store. See Served directory.
    • ✓ One command line adds a computer.
    • ✓ It needs no account with any service and no access key.
    • ✗ Runs wait while the first computer is off.
    • ✗ Its port must not be open to the internet.
  • An S3 bucket is the store. See Bucket.
    • ✓ No computer has to stay on.
    • ✓ The computers need not be on one network.
    • ✗ Each controller, runner and client needs its own access key.
  • Serverless functions run on a bucket. See Functions.
    • ✓ There is no computer to maintain.
    • ✓ The host starts more copies as the load grows.
    • ✗ A job must fit in one function call, and a timer can fire a minute late.
    • ✗ It takes the most setting up.

Check the setup

corbie check ends every setup. It starts a run with one job and one timer.

  the controller took the start    ok     1.0s
  a runner took the job            ok     0.2s
  the controller took the result   ok     0.0s
  the timer fired                  ok     1.0s

The setup works when all four are ok. A step that did not answer is late or never, with the likely cause on the next line.

corbie check --tag gpusends the job to a runner with the tag gpu corbie mcp --allow checklets an AI assistant run the check