gdnsd
Ansible Role: ganto.gdnsd
gdnsd is a powerful Authoritative-only DNS server with some advanced features such as geographic (or other sorts of) balancing, redirection, wighting and service-state-conscious failover at the DNS layer.
The ganto.gdnsd Ansible role installs and configures the domain name server and is able to generate and update DNS zone files from name records defined in the Ansible inventory. It will also properly increase the serial on zone updates.
Installation
This role requires at least Ansible v2.8.0
. To install it run:
ansible-galaxy install ganto.gdnsd
Documentation
The role documentation is available online at ansible-gdnsd.readthedocs.io.
It can be built locally from the docs directory by running:
cd docs && make html
Development
Testing
There is a Molecule test profile that can be used to verify the basic functionality of the role. The default scenario is using the podman container driver. If you prefer docker you can select the corresponding scenario with the -s docker
molecule arguments.
- Ensure you have the necessary dependencies installed (e.g. in a Python venv):
pip install -r molecule/podman/requirements.txt # for podman
# or
pip install -r molecule/docker/requirements.txt # for docker
- Run the test suite. The options in brackets are optional but useful if you need to troubleshoot issues:
molecule [-vvv] test [--destroy never][-s docker]
- If you used
--destroy never
the container will remain after the test run and can be inspected interactively via:
podman exec -it <container-id> /bin/sh # for podman
# or
docker exec -it <container-id> /bin/sh # for docker
- Once you're done with inspecting the instance it has to be deleted before a new test run can be started:
molecule destroy [-s docker]
License
GPL-3.0 or some later version
Author
The content of this repository was written by:
ansible-galaxy install ganto/ansible-gdnsd