Skip to content

Configuration

Markus Langer edited this page Mar 12, 2026 · 1 revision

Configuration

dumpstore is configured entirely via command-line flags. There is no config file.

Flags

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

Examples

# 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 -debug

systemd override (Linux)

To change flags without editing the unit file directly, use a systemd drop-in:

sudo systemctl edit dumpstore

Add:

[Service]
ExecStart=
ExecStart=/usr/local/lib/dumpstore/dumpstore -addr :9090 -dir /usr/local/lib/dumpstore

Then sudo systemctl daemon-reload && sudo systemctl restart dumpstore.

FreeBSD rc.conf

dumpstore_enable="YES"
dumpstore_addr=":9090"
dumpstore_dir="/usr/local/lib/dumpstore"

Security notes

  • 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 by http.FileServer — do not place secrets there.

Prometheus metrics

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']

Clone this wiki locally