{"id":18363452,"url":"https://github.com/stuttgart-things/install-configure-powerdns","last_synced_at":"2026-02-16T19:04:02.651Z","repository":{"id":163634287,"uuid":"638922500","full_name":"stuttgart-things/install-configure-powerdns","owner":"stuttgart-things","description":"deploy, configure \u0026 manage powerdns","archived":false,"fork":false,"pushed_at":"2024-12-17T06:17:40.000Z","size":45,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-12T04:59:58.187Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stuttgart-things.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-10T11:47:17.000Z","updated_at":"2023-05-10T18:04:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"c262edd3-0766-4b31-909f-7bb358bbb401","html_url":"https://github.com/stuttgart-things/install-configure-powerdns","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/stuttgart-things/install-configure-powerdns","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuttgart-things%2Finstall-configure-powerdns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuttgart-things%2Finstall-configure-powerdns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuttgart-things%2Finstall-configure-powerdns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuttgart-things%2Finstall-configure-powerdns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stuttgart-things","download_url":"https://codeload.github.com/stuttgart-things/install-configure-powerdns/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuttgart-things%2Finstall-configure-powerdns/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29515545,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T18:37:19.720Z","status":"ssl_error","status_checked_at":"2026-02-16T18:36:46.920Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T23:06:36.767Z","updated_at":"2026-02-16T19:04:02.636Z","avatar_url":"https://github.com/stuttgart-things.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"# stuttgart-things/install-configure-powerdns\n\nThis Ansible role can completely set up and configure a PowerDNS DNS server with a mariadb backend and a managment frontend within a podman container with a NGINX reverse proxy for secure access. The entire ansible logic is based on api calls. No client binary is required.\nIn addition to the installation, this role can also be used to create and delete dns entrys manage dns zones and much more.\n\n### Role installation:\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003eInstall this role on your ansible host (click here)\u003c/b\u003e\u003c/summary\u003e\n\n```\ncat \u003c\u003cEOF \u003e /tmp/requirements.yaml\nroles:\n- src: https://github.com/stuttgart-things/install-configure-powerdns.git\n  scm: git\n- src: https://github.com/stuttgart-things/install-configure-vault.git\n  scm: git\n- src: https://github.com/stuttgart-things/install-requirements.git\n  scm: git\n- src: https://github.com/stuttgart-things/deploy-podman-pod.git\n  scm: git\n- src: https://github.com/stuttgart-things/install-configure-podman.git\n  scm: git\n\ncollections:\n- name: containers.podman\n  version: 1.6.1\n- name: community.general\n  version: 3.4.0\n- name: community.crypto\n  version: 1.7.1\n- name: ansible.posix\n  version: 1.2.0\n\nEOF\nansible-galaxy install -r /tmp/requirements.yaml --force \u0026\u0026 ansible-galaxy collection install -r /tmp/requirements.yaml -f\n```\n\u003c/details\u003e\n\n## Example playbooks to use this role\n\n\u003cdetails\u003e\u003csummary\u003eInstall and initializing a powerdns server within a podman container and get cert from vault (click here)\u003c/summary\u003e\n\n### Ansible command:\n```\nansible-playbook -i inventory.ini playbook.yml\n```\n\n### Playbook: playbook.yml\n```\n---\n- hosts: \"powerdns-server\"\n  become: true\n\n  vars:\n\n    powerdns_install: true\n\n    vault_ca_cert_role_name: labul.sthings.de\n    vault_url: \"https://vault.labul.sthings.de:8200\"\n    vault_token: \"example-token-12345\"\n\n    vault_cert: true\n  \n  roles:\n    - install-configure-powerdns\n```\n\n### Playbook: inventory.ini\n```\n[powerdns-server]\nexample.com\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eCreate or delete DNS entrys based on ansible vars profile (click here)\u003c/summary\u003e\n\n### Ansible command:\n```\nansible-playbook -i inventory.ini playbook.yml\n```\n\n### Playbook: playbook.yml\n```\n---\n- hosts: \"powerdns-server\"\n\n  vars:\n\n    pdns_api_executor: localhost\n    pdns_url: \"https://ns.sthings.de:8443\"\n    pdns_token: \"password123\"\n\n    entry_zone: \"sthings.sthings.de.\"\n    pdns_create_record:\n          - fqdn: \"*.atalanta.sthings.sthings.de.\"\n            content: 10.100.136.242\n            record_type: A\n            zone: \"{{ entry_zone }}\"\n            state: present\n            ttl: 60\n            note: Created with ansible\n          - fqdn: \"vault.sthings.sthings.de.\"\n            content: \"vault-labul.sthings.de.\"\n            record_type: CNAME\n            zone: \"{{ entry_zone }}\"\n            state: present\n            ttl: 60\n            note: Created with ansible\n  roles:\n    - install-configure-powerdns\n```\n\n### Playbook: inventory.ini\n```\n[powerdns-server]\nexample.com\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eCreate or delete DNS zone based on ansible vars profile (click here)\u003c/summary\u003e\n\n### Ansible command:\n```\nansible-playbook -i inventory.ini playbook.yml\n```\n\n### Playbook: playbook.yml\n```\n---\n- hosts: \"powerdns-server\"\n\n  vars:\n\n    pdns_api_executor: localhost\n    pdns_url: \"https://ns.sthings.de:8443\"\n    pdns_token: \"password123\"\n\n    pdns_create_zone:\n      - name: \"sthings.sthings.de.\"\n        state: present\n        kind: NATIVE\n  roles:\n    - install-configure-powerdns\n```\n\n### Playbook: inventory.ini\n```\n[powerdns-server]\nexample.com\n```\n\u003c/details\u003e\n\n## Requirements and Dependencies:\n- Ubuntu 20.04\n- Fedora 34\n- CentOS 8\n- CentOS 7\n\n### Features:\n- Install PowerDNS with frontend and backend with NGINX reverse proxy\n- Create/delete DNS records\n- Create/delete DNS zones\n\n## Version:\n```\nDATE            WHO            WHAT\n2021-12-14      Marcel Zapf    Add logic to create pdns zones\n2021-12-14      Marcel Zapf    Add feature to disable DNSStubListener systemd-resolved\n2021-12-13      Marcel Zapf    Initial commit\n```\n\nLicense\n-------\n\nBSD\n\nAuthor Information\n------------------\n\nMarcel Zapf; 11/2021; Stuttgart-Things\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstuttgart-things%2Finstall-configure-powerdns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstuttgart-things%2Finstall-configure-powerdns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstuttgart-things%2Finstall-configure-powerdns/lists"}