Configuration Reference

Current Version: 3. See how to set the configurations.

Server

Name Description Default Value
server.protocol Protocol to start the DNS server. UDP_TCP

DNS Server

Name Description Default Value
server.dns.port Port where the DNS server listens. 53
server.dns.noEntriesResponseCode Response code returned when no entries are resolved by any solver. 3

WEB Server

Name Description Default Value
server.web.port Web GUI port. 5380

Solvers

Common DNS resolution mechanisms used by DPS. Solvers are evaluated according to their activation and configuration.


Remote Solver

Name Description Default Value
solver.remote.active Enables or disables querying remote DNS servers. true
solver.remote.dnsServers Remote DNS servers to be queried when resolution cannot be done locally or via Docker. [8.8.8.8]

Docker Solver

Name Description Default Value
solver.docker.registerContainerNames Whether container or service names should be registered as DNS hostnames. false
solver.docker.domain Domain suffix used when registering Docker containers and services. docker
solver.docker.hostMachineFallback Whether the host machine IP should be returned when a container is found but has no IP. true
solver.docker.dockerDaemonUri Docker daemon URI used to connect to Docker. OS dependent
solver.docker.dpsNetwork.autoCreate Whether DPS should automatically create a Docker bridge network. false
solver.docker.dpsNetwork.autoConnect Whether all containers should be auto-connected to the DPS network. false
solver.docker.dpsNetwork.configs Docker network IP configuration
solver.docker.dpsNetwork.configs[].subNet Subnet 172.20.0.0/16
solver.docker.dpsNetwork.configs[].ipRange Ip Range 172.20.5.0/24
solver.docker.dpsNetwork.configs[].gateway Gateway 172.20.5.1

Default DPS network settings

---
- subNet: 172.20.0.0/16
  ipRange: 172.20.5.0/24
  gateway: 172.20.5.1
- subNet: fc00:5c6f:db50::/64
  gateway: fc00:5c6f:db50::1

System Solver

Name Description Default Value
solver.system.hostMachineHostname Hostname that resolves to the host machine IP. host.docker

Local Solver

Name Description Default Value
solver.local.activeEnv Active environment used to resolve local DNS entries. `` (empty string)

Stub Solver

Name Description Default Value
solver.stub.domainName Domain name used for stub solver resolved hostnames. stub

Default DNS

Name Description Default Value
defaultDns.active Whether DPS should be automatically configured as the system default DNS. false
defaultDns.resolvConf.overrideNameServers Whether existing nameservers should be commented out or DPS should be placed first. true
defaultDns.resolvConf.paths Resolv.conf or systemd-resolved configuration paths used to apply default DNS. /host/etc/systemd/resolved.conf,/host/etc/resolv.conf,/etc/systemd/resolved.conf,/etc/resolv.conf

Logs

Name Description Default Value
log.level Logging level used by DPS. INFO
log.file Output target for logs (file path or console). console

File Configuration Example

version: 3
server:
  dns:
    port: 53
    noEntriesResponseCode: 3
  web:
    port: 5380
  protocol: UDP_TCP
solver:
  remote:
    active: true
    dnsServers:
      - 8.8.8.8
      - 4.4.4.4:53
    circuitBreaker:
      type: CANARY_RATE_THRESHOLD
      failureRateThreshold: 21
      minimumNumberOfCalls: 50
      permittedNumberOfCallsInHalfOpenState: 10
  docker:
    registerContainerNames: false
    domain: docker
    hostMachineFallback: true
    dpsNetwork:
      name: dps
      autoCreate: false
      autoConnect: false
      configs:
        - subNet: 172.20.0.0/16
          ipRange: 172.20.5.0/24
          gateway: 172.20.5.1
        - subNet: fc00:5c6f:db50::/64
          gateway: fc00:5c6f:db50::1
    dockerDaemonUri:
  system:
    hostMachineHostname: host.docker
  local:
    activeEnv: ''
    envs:
      - name: ''
        hostnames:
          - type: A
            hostname: dps-sample.dev
            ip: 192.168.0.254
            ttl: 30
  stub:
    domainName: stub
defaultDns:
  active: true
  resolvConf:
    paths: "/host/etc/systemd/resolved.conf,/host/etc/resolv.conf,/etc/systemd/resolved.conf,/etc/resolv.conf"
    overrideNameServers: true
log:
  level: DEBUG
  file: console

Legacy Configuration

[ref]