Guide
Monitoring as code
Click-ops is fine until you have thirty monitors and no record of who changed what. The uptrack CLI lets you keep your monitors in a YAML file in your repo, review changes in a pull request, and sync them from CI on merge — the same monitors, now under version control.
Step 1 — Install the CLI
It’s a single static binary (no runtime to install). On macOS or Linux:
curl -fsSL https://raw.githubusercontent.com/Uptrack-App/uptrack-cli/main/install.sh | shOr download a binary for your platform from the latest release and put it on your PATH.
Step 2 — Authenticate
Create an API key under Settings → API keys and put it in your environment:
export UPTRACK_API_KEY=utk_…Now uptrack list shows your monitors with their status and 30-day uptime; uptrack status prints an up/down summary.
Step 3 — Define monitors in YAML
Already have monitors? uptrack export -o uptrack.yaml dumps them to a file to commit. Starting fresh, the format is small:
monitors:
- name: Homepage
url: https://example.com
type: http
interval: 60
- name: Login keyword
url: https://example.com/login
type: keyword
keyword: "Sign in"Monitors are matched by name. type defaults to http; interval (seconds) and keyword are optional.
Step 4 — Apply from your shell or CI
apply creates anything new, updates what changed, and leaves the rest alone. Preview first with --dry-run; add --prune --yes to also delete monitors not in the file.
uptrack apply -f uptrack.yaml --dry-run # preview
uptrack apply -f uptrack.yaml # syncIn GitHub Actions, sync on merge:
- run: curl -fsSL https://raw.githubusercontent.com/Uptrack-App/uptrack-cli/main/install.sh | sh
- run: uptrack apply -f uptrack.yaml
env:
UPTRACK_API_KEY: ${{ secrets.UPTRACK_API_KEY }}Put your monitors in Git
10 free monitors at 30-second checks. Create a key, export, commit, and apply from CI.
Get started ·CLI on GitHub