Hosted setup
ushr login takes a fresh host to a running agent on the hosted control plane. Run it on the runner host.
ushr loginWhat ushr login does
- It writes a default agent config to
~/.config/ushr/agent.yamlif none exists. macOS hosts get the Tart driver. Linux hosts get the Docker driver. - It checks the driver prerequisites and offers to install what is missing. Examples: Tart and a macOS runner image, or Podman.
- It opens a browser page on ushr.io and prints a confirmation code. Approve only if the page shows the same code. On a headless host, open the URL on any other device.
- It writes the agent token to
credentials.yamlnext toagent.yaml. - For each enrolled org or repo with no GitHub App key on this host, it prints a link to connect GitHub. You can open that link from any device. Then it asks you to install the new App on GitHub.
- It installs and starts the
ushr-agentservice.
At the end, the CLI prints the runs-on labels for this host and a link to the dashboard.
Flags
| --control-plane | Control plane base URL. Default https://cp.ushr.io. |
| --web | Web app base URL for browser approval. Default https://ushr.io. |
| --config | Agent config path. Default ~/.config/ushr/agent.yaml. |
| --key-dir | Directory for GitHub App private keys. Default ~/.secrets. |
| -y | Answer yes to prompts. |
Resume or change access
Run ushr login again to resume an interrupted setup. If the host is already enrolled, the CLI asks if you want to change its GitHub access.
Each host runs its own GitHub App. The App key stays on that host. Hosts that already serve a scope keep their own App.
Service logs
# macOS
tail -f ~/Library/Logs/ushr/agent.log
# Linux
journalctl --user -u ushr-agent -f