This repo contains the kpfleming.powerdns_auth
Ansible
Collection. The collection includes modules to work with PowerDNS
Authoritative servers.
Open Source software: Apache License 2.0
The modules require the Bravado package for parsing the Swagger/OpenAPI specification of the PowerDNS Authoritative Server API.
As of PowerDNS Authoritative Server 4.9.x, the Swagger API specification is not completely compliant, and as a result the validation packages used by Bravado will not accept it. In order to work around this problem, older versions of the validation packages can be installed, like this:
pip install -r requirements.txt
This command can be executed in the environment on the Ansible controller if the roles will be used only on 'localhost'; if they will be used on Ansible-managed nodes, then the packages from the requirements file will need to be installed there:
- name: manage dependencies needed for powerdns_auth modules
ansible.builtin.pip:
name:
- bravado
- jsonschema<4
- swagger-spec-validator==2.6.0
Add suitable parameters if the packages should be installed into a virtual environment on the managed node.
- Modules:
- PowerDNS Authoritative Server:
- kpfleming.powerdns_auth.tsigkey: manage TSIG keys
- kpfleming.powerdns_auth.zone: manage zones
- PowerDNS Authoritative Server:
In order to use this collection, you need to install it using the
ansible-galaxy
CLI:
ansible-galaxy collection install kpfleming.powerdns_auth
You can also include it in a requirements.yml
file and install it
via ansible-galaxy collection install -r requirements.yml
using the
format:
collections:
- name: kpfleming.powerdns_auth
See Ansible Using collections for more details.
Documentation of the collections's modules and their arguments/return values can be found here.
If you want to develop new content for this collection or improve what
is already here, the easiest way to work on the collection is to clone
it into one of the configured COLLECTIONS_PATH
, and work on it
there.
You can find more information in the developer guide for collections, and in the Ansible Community Guide.