Example plans
The repository ships example plans under examples/. Run them after first run succeeds.
make quickstartmake docker-run PLAN=examples/multi-worker.yamlExample ladder
Section titled “Example ladder”| File | What it demonstrates |
|---|---|
smoke.yaml |
Public GET against the bundled mock target |
http-post.yaml |
POST with structured JSON |
http-auth-jwt.yaml |
Bearer/JWT with ${TOURBA_JWT} |
http-auth-session.yaml |
Django-style session cookie |
multi-worker.yaml |
Four workers sharing one total RPS |
local-service.yaml |
Target on the Docker host via host.docker.internal |
Choosing a target URL
Section titled “Choosing a target URL”| Your target runs… | Use |
|---|---|
| In the same Compose stack | http://mock-target |
| On your laptop (outside Docker) | http://host.docker.internal:<port> |
| On another host or cloud | Normal DNS name or IP |
Workers resolve DNS from inside the container network. Test with curl from a worker container if DNS or TLS fails.
Authentication patterns
Section titled “Authentication patterns”Export secrets in your shell; reference them in YAML:
export TOURBA_JWT='eyJ...'make docker-run PLAN=examples/http-auth-jwt.yamlauth: type: jwt token: ${TOURBA_JWT}Session cookie:
auth: type: session name: sessionid value: ${SESSION_COOKIE}See Test plans for all auth types.
Payloads
Section titled “Payloads”JSON helper:
method: POSTjson: query: health limit: 10Raw body — do not combine with json.
Worker scaling example
Section titled “Worker scaling example”multi-worker.yaml sets worker_count so a modest target_rps uses several connections:
target_rps: 40worker_count: 4Each worker targets roughly target_rps / worker_count RPS.
Expected success
Section titled “Expected success”A healthy example run should:
- End in status
completed - Report RPS close to
target_rps(allow small scheduler jitter) - Show
error_count: 0when the target and auth are correct
Statuses outside expected_statuses, timeouts, and connection errors increment error_count.