Getting started
Support for static configuration
In addition to handling DNS configuration from multiple sources, the role
supports "static" DNS configuration created via a script. To use it, set the
resolvconf__static_enabled
variable to True
, and specify the
resolv.conf(5) configuration as a string or YAML text block:
resolvconf__static_content: |
nameserver 192.0.2.1
search example.org example.net
The script will create a file in the resolvconf runtime directory,
by default named lo.static
, which will merge the specified
configuration with other DNS sources. The role will also configure
systemd to apply the static configuration on system boot.
Example inventory
The debops.resolvconf
role is included by default in the common.yml
DebOps playbook; you don't need to add hosts to any Ansible groups to enable
it.
Example playbook
If you are using this role without DebOps, here's an example Ansible playbook
that uses the debops.resolvconf
role:
---
- name: Manage system-wide DNS resolver configuration
collections: [ 'debops.debops', 'debops.roles01',
'debops.roles02', 'debops.roles03' ]
hosts: [ 'debops_all_hosts', 'debops_service_resolvconf' ]
become: True
environment: '{{ inventory__environment | d({})
| combine(inventory__group_environment | d({}))
| combine(inventory__host_environment | d({})) }}'
roles:
- role: resolvconf
tags: [ 'role::resolvconf', 'skip::resolvconf' ]
Other resources
List of other useful resources related to the debops.resolvconf
Ansible role:
Manual pages: resolvconf(8), resolv.conf(5)
The resolv.conf Debian Wiki page
Local DNS resolvers available in DebOps: debops.dnsmasq, debops.unbound