Install · releases

One binary, served from here

This server relays each release asset from the private repository, so an agent never needs a GitHub token to install or to upgrade itself. Every download is checked against the checksum published with the release.

Install the agent

Linux and macOS, amd64 and arm64. The script picks the platform, downloads roundhouse from this server, checks its SHA-256 against checksums.txt and installs to /usr/local/bin.

curl -fsSL https://roundhouse.ironway.work/install.sh | sh

Or fetch one binary yourself:

curl -fsSLO https://roundhouse.ironway.work/download/roundhouse/latest/roundhouse-linux-arm64
curl -fsSL https://roundhouse.ironway.work/download/roundhouse/latest/checksums.txt | sha256sum -c --ignore-missing

Run it

Write the agent token to a file only the agent’s user can read and pass a reference to it — the agent refuses a token on the command line.

install -m 600 /dev/null /etc/roundhouse/agent.token  # then write the token in
roundhouse agent \
  --endpoint https://roundhouse.ironway.work \
  --token file:/etc/roundhouse/agent.token \
  --tags os=linux,arch=arm64,role=conductor

launchd and systemd units are in the repository’s examples/. The agent upgrades itself when the server offers a pinned release: it drains, downloads, verifies and re-executes. --no-auto-upgrade turns that off.

Point Ironway Conductor at it

"roundhouse": {
  "url": "https://roundhouse.ironway.work",
  "token": "file:/Users/you/.switchyard-conductor/roundhouse.token",
  "native_checks": ["owner/repo"]
}

A repository listed in native_checks has its head read from this server directly; any other falls back to GitHub statuses. conductor doctor reports the token as resolved and prints none of it.

Releases

This server does not relay releases: its config has no releases.repository.

Check an install

$ roundhouse version
$ curl -fsS https://roundhouse.ironway.work/healthz

A registered agent shows on the agents page within one heartbeat, with the version it runs.

Installing on a host that already runs Conductor? Give the agent the tags your pipelines’ steps ask for, and those jobs land on that host.