Getting Started
Use one of these supported install paths for Wakeplane. The canonical repository is github.com/justyn-clark/wakeplane.
Operator warning: installability does not change the security model. Wakeplane still has no auth or RBAC. Bind it to localhost, a trusted subnet, VPN, Tailscale, or a reverse-proxied private network.
Install
Section titled “Install”Option 1: GitHub Releases
Section titled “Option 1: GitHub Releases”Preferred for operators. Tagged releases publish platform archives and a checksum file on the GitHub Releases page.
Published for v0.2.0-beta.1:
wakeplane_<version>_darwin_arm64.tar.gzwakeplane_<version>_linux_amd64.tar.gzwakeplane_<version>_linux_arm64.tar.gzchecksums.txt
Example verification flow:
curl -fsSLO https://github.com/justyn-clark/wakeplane/releases/download/v0.2.0-beta.1/wakeplane_0.2.0-beta.1_linux_amd64.tar.gzcurl -fsSLO https://github.com/justyn-clark/wakeplane/releases/download/v0.2.0-beta.1/checksums.txtgrep 'wakeplane_0.2.0-beta.1_linux_amd64.tar.gz' checksums.txt | sha256sum -c -tar -xzf wakeplane_0.2.0-beta.1_linux_amd64.tar.gz./wakeplane versionEach archive contains both wakeplane and wakeplaned.
Option 2: go install
Section titled “Option 2: go install”The repo currently declares go 1.25.0 in go.mod.
go install github.com/justyn-clark/wakeplane/cmd/wakeplane@v0.2.0-beta.1go install github.com/justyn-clark/wakeplane/cmd/wakeplaned@v0.2.0-beta.1wakeplane versionOption 3: Source build
Section titled “Option 3: Source build”git clone https://github.com/justyn-clark/wakeplane.gitcd wakeplanego build ./cmd/wakeplanego build ./cmd/wakeplaned./wakeplane versionQuickstart
Section titled “Quickstart”Wakeplane is a durable scheduling control plane. This guide gets you from nothing to a running daemon with a real schedule in under five minutes.
1. Start the daemon
Section titled “1. Start the daemon”WAKEPLANE_DB_PATH=./wakeplane.db \WAKEPLANE_HTTP_ADDR=:8080 \WAKEPLANE_WORKER_ID=wrk_local \wakeplane serveThe daemon prints structured JSON logs to stdout. Verify it is healthy:
curl http://localhost:8080/healthz# {"ok":true}
curl http://localhost:8080/readyz# {"ok":true,"storage":"ok"}2. Create a schedule
Section titled “2. Create a schedule”Use the shipped HTTP example manifest:
name: health-checkenabled: truetimezone: UTC
schedule: kind: interval every_seconds: 300
target: kind: http method: GET url: https://api.example.com/healthz
policy: overlap: forbid misfire: skip timeout_seconds: 30 max_concurrency: 1
retry: max_attempts: 3 strategy: exponential initial_delay_seconds: 10 max_delay_seconds: 120Register the shipped example file:
wakeplane schedule create -f ./examples/health-check-http.yaml3. Inspect schedules and runs
Section titled “3. Inspect schedules and runs”wakeplane schedule listwakeplane schedule get <id>wakeplane run listwakeplane run get <id>Check operational status:
curl http://localhost:8080/v1/statusThe status response shows how many runs are due, running, failed, retry queued, or dead-lettered.
4. Trigger a manual run
Section titled “4. Trigger a manual run”wakeplane schedule trigger <id>This creates a run immediately without changing the schedule’s normal cadence. The run has a manual:<run_id> occurrence key that is separate from scheduled occurrences.
5. Pause and resume
Section titled “5. Pause and resume”wakeplane schedule pause <id>wakeplane schedule resume <id>Pausing sets enabled=false on the schedule. The planner stops materializing new occurrences. Existing runs are not cancelled.
Smoke Test After Install
Section titled “Smoke Test After Install”The health and readiness probes are enough for the initial install smoke test. Create schedules with the API or CLI after you have chosen a working directory and manifest location.