Running in about a minute.
One binary, one SQLite file. No Kubernetes, no Postgres, no Redis to stand up first. Here is the whole path from nothing to a live run.
-
1
Install
Install with Go, or grab a prebuilt binary from the releases page. To run Ansible you also need
ansible-playbookon the box. Bash and Python work out of the box.go install github.com/dcadolph/yardmaster@latest -
2
Serve
Start the server. SQLite is the default. Point
--dbat a Postgres DSN when you want more than one instance. Set the encryption pair if you plan to store credentials.# optional, only needed for stored secrets export YARDMASTER_ENCRYPTION_KEY=change-me export YARDMASTER_ENCRYPTION_SALT=change-me-too yardmaster serve --addr :8080 --db yard.db -
3
Open the UI
The whole interface lives at
/ui/. This is where you launch runs and read them as a live host-by-task matrix.open http://localhost:8080/ui/ -
4
Launch your first run
Click Launch run in the UI, or fire one over the API. No Ansible required for this one. It is a plain Bash run you can watch stream live.
curl -s -X POST localhost:8080/runs \ -H 'content-type: application/json' \ -d '{"tool":"bash","command":"echo hello from yardmaster"}' -
5
Lock it down
Mint an admin token. The moment the first token exists, the API requires auth, so create one before you expose the server, then send it as a bearer token.
yardmaster token new --name admin --db yard.db
Coming from AWX or Semaphore? Import your projects, inventories, templates, and schedules in one command.
Migration guideWhere to next
Put AWX and Semaphore to bed.
Structured runs, balanced splits, a fleet that remembers, and a control plane that proves itself, from one binary.
