Skip to main content

Configuration

DAGZ has two configuration files:

  • .dagz/config.yaml — per-project settings and feature flags, in your repo.
  • ~/.dagz/local.env/daemon.yaml — local daemon listen settings, on your machine.

For per-invocation pytest flags, see pytest options.

Project config (.dagz/config.yaml)

DAGZ works with zero configuration. A configuration file is created and updated automatically with new dagz releases at .dagz/config.yaml in your test folder root. You can edit this file to control project settings and feature flags.

# .dagz/config.yaml
project:
uri: your-org/your-repo
timezone: UTC
public_url: https://dagz.mycompany.com

Project keys

KeyDefaultWhat it does
uriderived from git remoteStable project identifier across runs (e.g. [email protected]:org/repo.git).
timezone(system)Timezone for scheduling and dashboard timestamps (e.g. UTC, America/Los_Angeles).
public_url(empty)URL of your team's remote DAGZ server. Leave empty for local-only use.

Feature flags

All under project: in .dagz/config.yaml. Defaults shown. Most flags control which kinds of dependencies DAGZ tracks for selection; turning one off shrinks selection accuracy in exchange for slightly less instrumentation overhead.

FlagDefaultWhat it does
hires_registry_trackingtruePer-entry precision for plugin registries (tracks individual keys in dict registries).
collect_cachestrueInstrument lru_cache / alru_cache for cache-aware tracking.
capture_terminaltrueCapture test stdout/stderr via PTY (preserves color, ordering).
distributed_coveragetrueCollect coverage across child processes for integration / e2e tests.
collect_dynamic_importstrueProxy-wrap dynamically imported modules for dependency tracking.
detect_new_overridesfalseTrack method overrides in class hierarchies. Instruments class creation if needed.
tiny_testsfalseBatch test results for projects with many short tests.
disable_pythonfalseSkip Python instrumentation entirely. Use only when explicitly running language-agnostic tooling.

Daemon config (~/.dagz/local.env/daemon.yaml)

Created on first zb env local up. The daemon binds only to loopback (127.0.0.1 and ::1) by default; the keys below opt into additional listeners.

listen:
# Docker bridge gateway address. 172.17.0.1 is Linux docker0's default;
# change for rootless Docker, Podman, or a custom bridge.
docker_bridge_addr: 172.17.0.1
# Also bind the daemon on `docker_bridge_addr` so containers on the default
# bridge can reach localhost services without --network=host.
listen_on_docker_bridge: true
# Additional addresses to bind (VPN interface, bond IP, ...). Port is
# reused from the default listener.
extra_listen_addrs: []

Apply with zb env local up --restart --bg.

For the full Docker/Mac walkthrough that uses these keys, see Running on Mac with Docker.