Repository navigation
Configuration
Markus Langer edited this page Mar 12, 2026
·
1 revision
dumpstore is configured entirely via command-line flags. There is no config file.
| Flag | Default | Description |
|---|---|---|
-addr |
:8080 |
Listen address (e.g. 0.0.0.0:8080, 127.0.0.1:9000) |
-dir |
executable directory | Base directory containing playbooks/ and static/
|
-debug |
false |
Enable verbose debug logging |
-version |
— | Print version and exit |
# Listen on a specific interface
sudo ./dumpstore -addr 192.168.1.10:8080
# Run from source directory
sudo ./dumpstore -addr :8080 -dir .
# Debug mode
sudo ./dumpstore -debugTo change flags without editing the unit file directly, use a systemd drop-in:
sudo systemctl edit dumpstoreAdd:
[Service]
ExecStart=
ExecStart=/usr/local/lib/dumpstore/dumpstore -addr :9090 -dir /usr/local/lib/dumpstoreThen sudo systemctl daemon-reload && sudo systemctl restart dumpstore.
dumpstore_enable="YES"
dumpstore_addr=":9090"
dumpstore_dir="/usr/local/lib/dumpstore"
- The service runs as root (required for ZFS operations).
- Do not expose port 8080 directly on a public interface without authentication in front of it (e.g. nginx with basic auth, Tailscale, or a VPN).
- There is no built-in authentication. Access control is entirely perimeter-based.
- The
static/directory is served byhttp.FileServer— do not place secrets there.
The /metrics endpoint exposes:
-
dumpstore_build_info{version}— build version label -
http_requests_total{method,path,status}— request counters -
http_request_duration_seconds{method,path}— request latency histograms -
ansible_runs_total{playbook,status}— playbook execution counters -
ansible_run_duration_seconds{playbook}— playbook duration histograms - Standard Go runtime and process metrics
Paths are normalised to keep cardinality low. Static file requests are excluded.
Example Prometheus scrape config:
scrape_configs:
- job_name: dumpstore
static_configs:
- targets: ['localhost:8080']