{"id":19015167,"url":"https://github.com/adfinis/acme-powerdns","last_synced_at":"2026-03-08T16:31:55.597Z","repository":{"id":68508066,"uuid":"108378918","full_name":"adfinis/acme-powerdns","owner":"adfinis","description":"An ACME Client which talks to PowerDNS to handle the DNS Challenge-Response.","archived":false,"fork":false,"pushed_at":"2017-10-26T07:51:29.000Z","size":1331,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-04-17T18:22:58.868Z","etag":null,"topics":["acme","acme-client","automation","letsencrypt","powerdns","python"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adfinis.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2017-10-26T07:49:49.000Z","updated_at":"2025-01-23T01:09:00.000Z","dependencies_parsed_at":"2023-03-11T03:44:57.777Z","dependency_job_id":null,"html_url":"https://github.com/adfinis/acme-powerdns","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adfinis%2Facme-powerdns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adfinis%2Facme-powerdns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adfinis%2Facme-powerdns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adfinis%2Facme-powerdns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adfinis","download_url":"https://codeload.github.com/adfinis/acme-powerdns/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250354288,"owners_count":21416748,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["acme","acme-client","automation","letsencrypt","powerdns","python"],"created_at":"2024-11-08T19:35:51.839Z","updated_at":"2026-03-08T16:31:55.568Z","avatar_url":"https://github.com/adfinis.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"=============\nACME PowerDNS\n=============\n\nACME PowerDNS is a `Let's Encrypt`_ client which makes the `ACME`_ challenge\nresponse with PowerDNS. The big benefit of doing the ACME challenge response\nover DNS is, that a central server can validate each certificate signing\nrequest without access to the web-servers. There is also no modification\nneeded on the web-server.\n\n\nREQUIREMENTS\n============\n\n* Python \u003e= 3.4\n\n\nINSTALLATION\n============\nClone the git repository to a local directory and install it inside a\nvirtualenv.\n\n.. code-block:: bash\n\n  mkdir -p /opt/acme-powerdns\n  git clone https://github.com/adfinis-sygroup/acme-powerdns.git \\\n          /opt/acme-powerdns/acme-powerdns\n  python3 -m venv --without-pip /opt/acme-powerdns/venv\n  . /opt/acme-powerdns/venv/bin/activate\n  python /opt/acme-powerdns/acme-powerdns/.testdata/get-pip.py\n\nCreate your certificate signing request directories and your directories for\nthe certificates.\n\n.. code-block:: bash\n\n  mkdir -p /etc/acme-powerdns/{csr,live}\n\nCreate your configuration file ``/etc/acme-powerdns/settings.yml``:\n\n.. code-block:: yaml\n\n  ---\n\n  directory_url: 'https://acme-staging.api.letsencrypt.org/directory'\n  days: 30\n  updater: powerdns\n\n  powerdns:\n    server: 'https://api.example.com/'\n    username: '\u003cuser\u003e'\n    password: '\u003cpassword\u003e'\n\n  directories:\n    - account_key: /etc/acme-powerdns/account.key\n      csr:         /etc/acme-powerdns/csr\n      cert:        /etc/acme-powerdns/live\n\n  # vim: set ft=yaml sw=2 ts=2 et wrap tw=76:\n\nMultiple accounts are possible with multiple directories. Each directory is\nlinked to one account.\n\n\nUSAGE\n=====\nThe command ``acme-powerdns`` will do the following:\n\n1. Search for files inside the csr directories (setting ``directories`` -\u003e\n   ``csr``).\n#. Read those files as certificate signing request (be aware, no other\n   files are allowed inside the csr directories).\n#. Validate the dns entries of each csr.\n#. Get certificates from acme directory (e.g. `Let's Encrypt`_).\n#. Store certificates to cert directories (setting ``directories`` -\u003e\n   ``cert``).\n\n\nLICENSE\n=======\n\nGNU GENERAL PUBLIC LICENSE Version 3\n\nSee the `LICENSE`_ file.\n\n.. _Let's Encrypt: https://letsencrypt.org/\n.. _ACME: https://tools.ietf.org/html/draft-ietf-acme-acme-05\n.. _LICENSE: LICENSE\n\n\n.. vim: set ft=rst sw=2 ts=2 et wrap tw=76:\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadfinis%2Facme-powerdns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadfinis%2Facme-powerdns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadfinis%2Facme-powerdns/lists"}