Skip to main content

Certbot plugin for authentication using Gandi LiveDNS

Project description

Certbot plugin for authentication using Gandi LiveDNS

This is a plugin for Certbot that uses the Gandi LiveDNS API to allow Gandi customers to prove control of a domain name.

[!IMPORTANT]
In order to match the naming convention for certbot plugin, the plugin has been repackaged under a new name certbot-dns-plugin and legacy owner of the previous package will receive the new package as a dependency.

Usage

  1. Obtain a Gandi API token (see Gandi LiveDNS API)

  2. Install the plugin and ensure the old plugin name variant is not present:

    pip uninstall certbot-plugin-gandi
    pip install certbot-dns-gandi>=1.6.0
    
  3. Create a /etc/letsencrypt/gandi.ini config file with the following contents:

    # Gandi Token
    dns_gandi_token=TOKEN
    
    # optional organization id, remove it if not used
    dns_gandi_sharing_id=SHARINGID
    

    Replace PERSONAL_ACCESS_TOKEN with your Gandi personal access token. You can also use a Gandi LiveDNS API Key instead, see FAQ below.

  4. Ensure permissions are set to disallow access from other users, e.g., using chmod 0600 gandi.ini

  5. Run certbot and direct it to use the plugin for authentication with the config file:

    certbot certonly --authenticator dns-gandi --dns-gandi-credentials /etc/letsencrypt/gandi.ini -d example.com
    # or
    certbot renew --authenticator dns-gandi --dns-gandi-credentials /etc/letsencrypt/gandi.ini
    

Please note that this solution is usually not relevant if you're using Gandi's web hosting services as Gandi offers free automated certificates for all simplehosting plans having SSL in the admin interface.

Be aware that the plugin configuration must be provided by CLI, configuration for third-party plugins in cli.ini is not supported by certbot for the moment. Please refer to #4351, #6504 and #7681 for details.

Distribution

PyPI is the upstream distribution channel, other channels are not maintained by me.

pip uninstall certbot-plugin-gandi
pip install certbot-dns-gandi>=1.6.0

Installing this plugin from PyPI using pip will also install a recent version of certbot itself, which may conflict with any other certbot already installed on your system. See the provided Dockerfile on how to containerize certbot + the plugin to run together.

Wildcard certificates

This plugin is particularly useful when you need to obtain a wildcard certificate using dns challenges:

certbot certonly --authenticator dns-gandi --dns-gandi-credentials /etc/letsencrypt/gandi/gandi.ini -d domain.com -d \*.domain.com --server https://acme-v02.api.letsencrypt.org/directory

Automatic renewal

You can setup automatic renewal using crontab with the following job for weekly renewal attempts:

0 0 * * 0 certbot renew -q --authenticator dns-gandi --dns-gandi-credentials /etc/letsencrypt/gandi/gandi.ini --server https://acme-v02.api.letsencrypt.org/directory

Reading material

FAQ

What's certbot-plugin-gandi and certbot-dns-gandi ?

Decision was taken to adapt the name of the plugin to the common DNS plugin naming convention certbot-dns-* so the legacy package certbot-plugin-gandi will be deprecated in favor of certbot-dns-gandi.

I don't have a personal access token, only a Gandi LiveDNS API Key

Live DNS API keys are deprecated and now unusable.

I have a warning telling me Plugin legacy name certbot-plugin-gandi:dns may be removed in a future version. Please use dns instead.

Certbot had moved to remove 3rd party plugins prefixes since v1.7.0. Please switch to the new configuration format and remove any used prefix-based configuration.

Why do you keep this plugin a third-party plugin ? Just merge it with certbot ?

This Gandi plugin is a third-party plugin mainly because this plugin is not officially backed by Gandi and because Certbot does not accept new plugin submissions.

no_submission

Credits

Huge thanks to Michael Porter for its original work !

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

certbot_dns_gandi-1.6.1.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

certbot_dns_gandi-1.6.1-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file certbot_dns_gandi-1.6.1.tar.gz.

File metadata

  • Download URL: certbot_dns_gandi-1.6.1.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for certbot_dns_gandi-1.6.1.tar.gz
Algorithm Hash digest
SHA256 83d42bb148b03d34c0eb7e07386cc9af6f770580579ab70c30515c8dc99600f0
MD5 9e152d5217ec488e03c84a62dd2e0ba6
BLAKE2b-256 55144aadc95bdcbe12cd12eec1c204b278d53e21ef8e5cb1670e537b771b9ee3

See more details on using hashes here.

File details

Details for the file certbot_dns_gandi-1.6.1-py3-none-any.whl.

File metadata

File hashes

Hashes for certbot_dns_gandi-1.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b9361634ecc22be26050fb82d87e0fb17bf4a173d86edd95414b904f9b981962
MD5 65ef8425c5b4b0c4a9f6f006ba8579c7
BLAKE2b-256 9c1eaba30775f15f040aaacb5ba52557c16b6a9379e6396a046a8c1701b18df5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page