certbot-dns-eurodns

raw JSON →
1.8.2 verified Fri May 01 auth: no python maintenance

EuroDNS DNS Authenticator plugin for Certbot. Version 1.8.2 enables automated DNS-01 challenges for Let's Encrypt certificates using EuroDNS DNS API. Maintenance mode – last release 2022.

pip install certbot-dns-eurodns
error ImportError: No module named certbot_dns_eurodns._internal.dns_eurodns
cause Old import path used after upgrade to 1.8.0.
fix
Update import to 'from certbot_dns_eurodns._internal.dns_eurodns import Authenticator'.
error Certbot error: The dns_eurodns plugin has unmet requirements: Credentials file permissions are too open
cause Credentials file not restricted to owner read/write.
fix
Run 'chmod 600 /path/to/credentials.ini' and retry.
error AttributeError: 'NoneType' object has no attribute 'split'
cause Missing or malformed credentials file; environment variables may be unset.
fix
Ensure all required environment variables (EURODNS_APPLICATION_ID, EURODNS_APPLICATION_SECRET, EURODNS_MAPI_PASSWORD) are set or provide a valid credentials file.
breaking Imports changed in version 1.8.0: the authenticator class moved to certbot_dns_eurodns._internal.dns_eurodns. Direct import from certbot_dns_eurodns no longer works.
fix Use 'from certbot_dns_eurodns._internal.dns_eurodns import Authenticator'.
deprecated Python 2.7 support is deprecated. The plugin may stop working in future releases.
fix Upgrade to Python 3.6+.
gotcha Credentials file must have restrictive permissions (600). Certbot will refuse to run otherwise.
fix Run 'chmod 600 /etc/letsencrypt/eurodns.ini' before using the plugin.
gotcha The plugin does not support --dry-run for some DNS record operations, causing false failures.
fix Use actual staging server instead of --dry-run.

Basic usage with environment variables or credentials file.

import os
from certbot_dns_eurodns._internal.dns_eurodns import Authenticator

# Set credentials via environment variables
os.environ['EURODNS_APPLICATION_ID'] = 'your_app_id'
os.environ['EURODNS_APPLICATION_SECRET'] = 'your_app_secret'
os.environ['EURODNS_MAPI_PASSWORD'] = 'your_mapi_password'

# Alternatively, use a credentials file
# /etc/letsencrypt/eurodns.ini:
# dns_eurodns_application_id = your_app_id
# dns_eurodns_application_secret = your_app_secret
# dns_eurodns_mapi_password = your_mapi_password

# Run certbot:
# certbot certonly --authenticator dns-eurodns --dns-eurodns-credentials /etc/letsencrypt/eurodns.ini -d example.com