stampede server
Run the control plane: REST API, run manager and web UI
Synopsis
Section titled “Synopsis”Run the Stampede control plane. It needs PostgreSQL (TimescaleDB recommended) and applies database migrations on start.
Environment: STAMPEDE_DATABASE_URL postgres://user:pass@host:5432/stampede STAMPEDE_MASTER_KEY 32 random bytes, base64, for encrypting secrets (generate one with: stampede keygen) STAMPEDE_MASTER_KEY_FILE or read the key from a file STAMPEDE_PUBLIC_URL external URL of the web UI, for links in notifications OTEL_EXPORTER_OTLP_ENDPOINT export traces of the API and of each run over OTLP (OTEL_EXPORTER_OTLP_PROTOCOL=grpc for gRPC)
stampede server [flags]Options
Section titled “Options” --abort-errors string stop any run whose error rate stays at or above this (0 disables) (default "90%") --abort-for duration how long --abort-errors must hold before a run is stopped (default 30s) --acme-cache string directory for Let's Encrypt account keys and certificates (default <data-dir>/acme, or ./acme) --acme-domain strings serve HTTPS with certificates from Let's Encrypt for these host names (repeatable; the server must be reachable on port 443 under them) --acme-email string contact address for the Let's Encrypt account --addr string listen address (default ":8080") --data-dir string directory holding CSV/JSON feeder files for runs --database-url string PostgreSQL URL --executor string auto (workers when connected, else in-process), workers or local (default "auto") --ha string how replicas share the work: standby (one serves, others wait) or active (all serve; workers connect to every replica) (default "standby") -h, --help help for server --http-redirect-addr string with HTTPS, also listen for plain HTTP here (for example :80) and redirect it, answering ACME HTTP-01 challenges --join-token string secret workers present to join (required for workers) --log-format string json or text (default "json") --log-level string debug, info, warn or error (default "info") --max-duration duration hard cap on run duration (0 = none) --max-rate float hard cap on arrival rate for every run (0 = none) --max-vus int hard cap on virtual users for every run (0 = none) --metrics-retention string how long to keep per-second run metrics, e.g. 30d (0 keeps them forever; at least 1d). Reports, and with TimescaleDB the 10s and 1m rollups, are kept (default "0") --migrate-dry-run report pending migrations and exit --migrate-only apply migrations and exit --oidc-allowed-domain strings email domain allowed to sign in with SSO (repeatable; default any) --oidc-client-id string OIDC client ID --oidc-default-role string role for people signing in for the first time (viewer, runner, editor, admin); empty allows only existing accounts --oidc-issuer string OpenID Connect issuer URL for single sign-on (the client secret is read from STAMPEDE_OIDC_CLIENT_SECRET) --oidc-name string label of the sign-in button (default "SSO") --oidc-redirect-url string OIDC redirect URL (default --public-url + /api/v1/auth/oidc/callback) --public-url string external URL of the web UI, for links in notifications and the SSO redirect (e.g. https://stampede.example.com) --scheduler-interval duration how often to look for due schedules (0 disables scheduled runs) (default 15s) --secure-cookies mark session cookies Secure (use behind HTTPS) --tls-cert string serve the API and web UI over HTTPS with this certificate (PEM) --tls-key string the key for --tls-cert (PEM) --trusted-proxy strings CIDR of a reverse proxy whose X-Forwarded-For is trusted (repeatable) --worker-addr string gRPC address workers connect to (empty disables workers) (default ":8081") --worker-mtls mutual TLS with a CA built from the master key: workers enroll with stampede worker --mtls and the join token is never sent --worker-tls-cert string TLS certificate for the worker port --worker-tls-key string TLS key for the worker portSEE ALSO
Section titled “SEE ALSO”- stampede - Self-hosted, distributed load testing