Profile Settings Reference

The engine profile is the source of truth for how runs behave: resolver timing, the IP stack, slow-server controls, response caching, and per-testcase severity. A run starts from the built-in default and applies sparse overrides on top.

How overrides are applied:

  • CLI: gonemaster --profile PATH (JSON or YAML), merged over the default.
  • Server: a process-wide profile_path, stored profiles, and per-job overrides. See server/configuration.md .

Inspect the effective profile for a run with gonemaster --dump-profile (CLI), or the recorded effective profile on a job (server).

resolver.defaults

The resolver tuning knobs. Defaults are the built-in values; ranges are the accepted bounds.

KeyDefaultUnit / type (range)CLI flagDescription
timeout5seconds--timeoutPer-attempt query timeout.
retry2count (1-255)--retryRetries after the initial attempt.
retrans3seconds (1-255)--retransInterval between attempts; also the effective per-attempt UDP budget when below timeout.
fallbacktruebool--fallback / --no-fallbackRetry truncated UDP responses over TCP.
igntcfalsebool-Ignore TC; do not retry truncated responses over TCP.
recursefalsebool-Set the RD bit on outbound queries.
usevcfalsebool-Force queries over TCP.
parallel8count (1-255)--parallelConcurrent resolver workers.
unorderedtruebool--unordered / --orderedAllow unordered result handling. For deterministic output use false with parallel: 1.
error_cache_ttl30seconds (0-86400)--error-cache-ttlSkip a query for this long after a network error (debounced). Capped by the per-query timeout/retry budget.
positive_cache_ttl0seconds (0-86400)--positive-cache-ttlCache positive responses across runs. 0 disables.
negative_cache_ttl30seconds (0-86400)--negative-cache-ttlCache negative responses across runs.
fast_fail_timeout_count3count (0-100)-Skip a nameserver/protocol after this many consecutive timeouts. 0 disables. Reacts to silence only.
nameserver_concurrency0count (0-256)-Maximum concurrent queries to one nameserver address. 0 is unlimited.
nameserver_max_total_ms0milliseconds (0-600000)-Skip a nameserver address once cumulative query time in a run exceeds this. 0 disables. Unlike fast-fail it also bounds slow-but-responding servers. See Bounding Slow Nameservers .
debugfalsebool--debug-queriesEmit a per-attempt query trace (including timeouts) and the control decisions taken. No overhead when off.

Source addresses live alongside the defaults, under resolver:

KeyDefaultCLI flagDescription
resolver.source4""--sourceaddr4IPv4 source address for outbound queries.
resolver.source6""--sourceaddr6IPv6 source address for outbound queries.

Other profile sections

These are part of the profile but configured elsewhere:

  • net.ipv4 / net.ipv6 - enable or disable an IP stack (CLI --no-ipv4, --no-ipv6, --ipv6).
  • test_levels - the severity level emitted per message tag, per module. Largely generated; see the test specifications .
  • test_cases_vars - per-testcase thresholds (for example SOA timer minimums).
  • asndb - ASN lookup backend and sources.
  • badkeys - badkeys blocklist path.

Example: a sparse override

Only the keys that differ from the default are needed:

{
  "resolver": {
    "defaults": {
      "nameserver_max_total_ms": 60000
    }
  }
}