Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ganto/ansible-gdnsd
Ansible role to manage gdnsd authoritative DNS server and zone files
https://github.com/ganto/ansible-gdnsd
ansible-role gdnsd
Last synced: about 1 month ago
JSON representation
Ansible role to manage gdnsd authoritative DNS server and zone files
- Host: GitHub
- URL: https://github.com/ganto/ansible-gdnsd
- Owner: ganto
- License: gpl-3.0
- Created: 2020-12-22T13:33:16.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-06-14T19:54:41.000Z (8 months ago)
- Last Synced: 2024-11-07T22:44:46.308Z (3 months ago)
- Topics: ansible-role, gdnsd
- Language: Jinja
- Homepage:
- Size: 111 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.rst
- License: LICENSE
Awesome Lists containing this project
README
## Ansible Role: ganto.gdnsd
[![CI](https://github.com/ganto/ansible-gdnsd/workflows/CI/badge.svg?event=push)](https://github.com/ganto/ansible-gdnsd/actions?query=workflow%3ACI)
[![Ansible Galaxy](https://img.shields.io/badge/ansible--galaxy-ganto.gdnsd-blue.svg?style=flat&logo=ansible)](https://galaxy.ansible.com/ganto/gdnsd)
[![Read the Docs](https://img.shields.io/badge/docs-ansible--gdnsd-darkblue.svg?style=flat&logo=read-the-docs)](https://ansible-gdnsd.readthedocs.io/)[gdnsd](https://gdnsd.org/) 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](https://galaxy.ansible.com/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:
```Shell
ansible-galaxy install ganto.gdnsd
```### Documentation
The role documentation is available online at [ansible-gdnsd.readthedocs.io](https://ansible-gdnsd.readthedocs.io).
It can be built locally from the [docs](docs/) directory by running:
```Shell
cd docs && make html
```### Development
#### Testing
There is a [Molecule](https://molecule.readthedocs.io/) test profile that can be used to verify the basic functionality of the role. The default scenario is using the [podman](https://podman.io/) container driver. If you prefer [docker](https://www.docker.com/) you can select the corresponding scenario with the `-s docker` molecule arguments.
1. Ensure you have the necessary dependencies installed (e.g. in a Python [venv](https://docs.python.org/3/tutorial/venv.html)):
```
pip install -r molecule/podman/requirements.txt # for podman
# or
pip install -r molecule/docker/requirements.txt # for docker
```
2. 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]
```
3. If you used `--destroy never` the container will remain after the test run and can be inspected interactively via:
```
podman exec -it /bin/sh # for podman
# or
docker exec -it /bin/sh # for docker
```
4. 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](https://spdx.org/licenses/GPL-3.0-or-later.html) or some later version
### Author
The content of this repository was written by:
- [Reto Gantenbein](https://linuxmonk.ch/) | [e-mail](mailto:[email protected]) | [GitHub](https://github.com/ganto)