diff --git a/.vscode/launch.json b/.vscode/launch.json index 8a316eb..eaec02c 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -10,7 +10,7 @@ "request": "launch", "program": "/home/pi/dev/certbot/venv3/bin/certbot", "console": "integratedTerminal", - "args": ["certonly", "-a", "dns-ionos", "-d", "*.erbehome.de", "--config-dir", "my_debug/config", "--work-dir", "my_debug/work", "--logs-dir", "my_debug/logs"] + "args": ["certonly", "-a", "dns-ionos", "-d", "*.erbehome.de", "--dns-ionos-credentials", "/home/pi/dev/certbot-dns-ionos/my_debug/secrets/credentials.ini", "--config-dir", "my_debug/config", "--work-dir", "my_debug/work", "--logs-dir", "my_debug/logs"] } ] } \ No newline at end of file diff --git a/README.rst b/README.rst index 3e0e870..0c81d6d 100644 --- a/README.rst +++ b/README.rst @@ -1,12 +1,12 @@ -certbot-dns-ispconfig +certbot-dns-ionos ===================== -ISPConfig_ DNS Authenticator plugin for Certbot +IONOS_ DNS Authenticator plugin for Certbot This plugin automates the process of completing a ``dns-01`` challenge by -creating, and subsequently removing, TXT records using the ISPConfig Remote API. +creating, and subsequently removing, TXT records using the IONOS Remote API. -Configuration of ISPConfig +Configuration of IONOS --------------------------- In the `System -> Remote Users` you have to have a user, with the following rights @@ -16,7 +16,7 @@ In the `System -> Remote Users` you have to have a user, with the following righ - DNS txt functions -.. _ISPConfig: https://www.ispconfig.org/ +.. _IONOS: https://www.ionos.de/ .. _certbot: https://certbot.eff.org/ Installation @@ -24,27 +24,27 @@ Installation :: - pip install certbot-dns-ispconfig + pip install certbot-dns-ionos Named Arguments --------------- -To start using DNS authentication for ispconfig, pass the following arguments on +To start using DNS authentication for ionos, pass the following arguments on certbot's command line: ============================================================= ============================================== -``--authenticator certbot-dns-ispconfig:dns-ispconfig`` select the authenticator plugin (Required) +``--authenticator certbot-dns-ionos:dns-ionos`` select the authenticator plugin (Required) -``--certbot-dns-ispconfig:dns-ispconfig-credentials`` ispconfig Remote User credentials +``--certbot-dns-ionos:dns-ionos-credentials`` ionos Remote User credentials INI file. (Required) -``--certbot-dns-ispconfig:dns-ispconfig-propagation-seconds`` | waiting time for DNS to propagate before asking +``--certbot-dns-ionos:dns-ionos-propagation-seconds`` | waiting time for DNS to propagate before asking | the ACME server to verify the DNS record. | (Default: 10, Recommended: >= 600) ============================================================= ============================================== -(Note that the verbose and seemingly redundant ``certbot-dns-ispconfig:`` prefix +(Note that the verbose and seemingly redundant ``certbot-dns-ionos:`` prefix is currently imposed by certbot for external plugins.) @@ -55,17 +55,17 @@ An example ``credentials.ini`` file: .. code-block:: ini - certbot_dns_ispconfig:dns_ispconfig_username = myremoteuser - certbot_dns_ispconfig:dns_ispconfig_password = verysecureremoteuserpassword - certbot_dns_ispconfig:dns_ispconfig_endpoint = https://localhost:8080/remote/json.php + dns_ionos_prefix = myapikeyprefix + dns_ionos_secret = verysecureapikeysecret + dns_ionos_endpoint = https://api.hosting.ionos.com The path to this file can be provided interactively or using the -``--certbot-dns-ispconfig:dns-ispconfig-credentials`` command-line argument. Certbot +``--certbot-dns-ionos:dns-ionos-credentials`` command-line argument. Certbot records the path to this file for use during renewal, but does not store the file's contents. **CAUTION:** You should protect these API credentials as you would the -password to your ispconfig account. Users who can read this file can use these +password to your ionos account. Users who can read this file can use these credentials to issue arbitrary API calls on your behalf. Users who can cause Certbot to run using these credentials can complete a ``dns-01`` challenge to acquire new certificates or revoke existing certificates for associated @@ -88,9 +88,9 @@ To acquire a single certificate for both ``example.com`` and .. code-block:: bash certbot certonly \ - --authenticator certbot-dns-ispconfig:dns-ispconfig \ - --certbot-dns-ispconfig:dns-ispconfig-credentials /etc/letsencrypt/.secrets/domain.tld.ini \ - --certbot-dns-ispconfig:dns-ispconfig-propagation-seconds 900 \ + --authenticator certbot-dns-ionos:dns-ionos \ + --certbot-dns-ionos:dns-ionos-credentials /etc/letsencrypt/.secrets/domain.tld.ini \ + --certbot-dns-ionos:dns-ionos-propagation-seconds 900 \ --server https://acme-v02.api.letsencrypt.org/directory \ --agree-tos \ --rsa-key-size 4096 \ @@ -101,17 +101,17 @@ To acquire a single certificate for both ``example.com`` and Docker ------ -In order to create a docker container with a certbot-dns-ispconfig installation, +In order to create a docker container with a certbot-dns-ionos installation, create an empty directory with the following ``Dockerfile``: .. code-block:: docker FROM certbot/certbot - RUN pip install certbot-dns-ispconfig + RUN pip install certbot-dns-ionos Proceed to build the image:: - docker build -t certbot/dns-ispconfig . + docker build -t certbot/dns-ionos . Once that's finished, the application can be run as follows:: @@ -119,10 +119,10 @@ Once that's finished, the application can be run as follows:: -v /var/lib/letsencrypt:/var/lib/letsencrypt \ -v /etc/letsencrypt:/etc/letsencrypt \ --cap-drop=all \ - certbot/dns-ispconfig certonly \ - --authenticator certbot-dns-ispconfig:dns-ispconfig \ - --certbot-dns-ispconfig:dns-ispconfig-propagation-seconds 900 \ - --certbot-dns-ispconfig:dns-ispconfig-credentials \ + certbot/dns-ionos certonly \ + --authenticator certbot-dns-ionos:dns-ionos \ + --certbot-dns-ionos:dns-ionos-propagation-seconds 900 \ + --certbot-dns-ionos:dns-ionos-credentials \ /etc/letsencrypt/.secrets/domain.tld.ini \ --no-self-upgrade \ --keep-until-expiring --non-interactive --expand \ diff --git a/setup.py b/setup.py index 2fcf5b2..b7351c5 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ from setuptools import setup from setuptools import find_packages -version = "0.0.2" +version = "0.0.3" install_requires = [ "acme>=0.29.0",