Certbot DNS-01 authenticator plugin for the Galaxyweb DNS Manager
Project description
certbot-dns-galaxyweb
Certbot DNS-01 authenticator plugin für den Galaxyweb DNS Manager.
Setzt und entfernt _acme-challenge-TXT-Records automatisch über die REST-API –
kein Shell-Hook, keine manuellen curl-Aufrufe.
Voraussetzungen
| Komponente | Version |
|---|---|
| Python | ≥ 3.8 |
| certbot | ≥ 2.0 |
Installation
# Im selben Python-Environment wie certbot:
pip install certbot-dns-galaxyweb
Certbot erkennt das Plugin automatisch über den Entry-Point –
kein zusätzliches --configurator-Flag nötig.
API-Token erstellen
Empfohlen – Wizard:
Portal → /api-keys → Let's Encrypt Wizard → Scope wird automatisch auf
acme_only eingeschränkt, Zone-Lockdown wird gesetzt.
Manuell (mehrere Zonen mit einem Token):
Portal → /api-keys → Neuer API-Key → Scope ACME_ONLY, Rate-Limit 10/min,
IP-Allowlist auf den Certbot-Host einschränken.
Credentials-Datei
Kopiere die Beispiel-Datei und trage deine Werte ein:
cp galaxyweb.ini.example /etc/letsencrypt/galaxyweb.ini
chmod 0600 /etc/letsencrypt/galaxyweb.ini # nur root darf lesen
Inhalt:
# /etc/letsencrypt/galaxyweb.ini
certbot_dns_galaxyweb_api_url = https://dns.example.ch
certbot_dns_galaxyweb_api_token = gw_xxxxxxxxxxxx_…
Zertifikat ausstellen
certbot certonly \
--authenticator dns-galaxyweb \
--dns-galaxyweb-credentials /etc/letsencrypt/galaxyweb.ini \
--dns-galaxyweb-propagation-seconds 30 \
-d example.ch \
-d '*.example.ch'
| Flag | Bedeutung |
|---|---|
--authenticator dns-galaxyweb |
Aktiviert dieses Plugin |
--dns-galaxyweb-credentials |
Pfad zur INI-Datei |
--dns-galaxyweb-propagation-seconds |
Wartezeit nach dem Setzen des TXT-Records (Default: 30 s) |
Wildcard + Apex gleichzeitig
certbot certonly \
--authenticator dns-galaxyweb \
--dns-galaxyweb-credentials /etc/letsencrypt/galaxyweb.ini \
-d '*.example.ch' -d example.ch
Beide Domains verwenden denselben Record-Namen _acme-challenge.example.ch.
Das Plugin ruft für jede Domain separat set_challenge auf – der Manager
überschreibt den Record mit dem jeweils aktuellen Token, was dem ACME-Protokoll
entspricht (nur der letzte Challenge-Token zählt).
Automatisches Renewal
certbot renew läuft idempotent – das Plugin wird automatisch erneut aufgerufen:
# /etc/cron.d/certbot (Debian/Ubuntu liefert das mit)
0 */12 * * * root certbot renew --quiet --post-hook 'systemctl reload nginx'
Kein weiterer Konfigurationsaufwand.
Troubleshooting
| Symptom | Ursache | Lösung |
|---|---|---|
HTTP 401 |
Token falsch oder abgelaufen | Portal → /api-keys → Status prüfen / regenerieren |
HTTP 403 (scope) |
Token hat read_only statt acme_only |
Scope im Portal hochstufen |
HTTP 403 (IP) |
Quell-IP nicht in der Allowlist | IP in der Key-Konfiguration ergänzen |
HTTP 403 (read-only zone) |
Zone ist Upstream-Sync oder Slave | Master direkt verwenden |
HTTP 429 |
Rate-Limit überschritten | Rate-Limit im Portal anheben |
| CA meldet "no TXT record" | DNS-Propagation noch nicht abgeschlossen | --dns-galaxyweb-propagation-seconds auf 60 oder 120 erhöhen |
| Renewal schlägt fehl, manuell klappt | Env-Variablen im Cron-Kontext fehlen | Credentials stets aus INI-Datei lesen, nie als Env-Variable |
Entwicklung & Tests
pip install -e ".[dev]"
pytest tests/
Lizenz
Apache 2.0 – siehe LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file certbot_dns_galaxyweb-1.0.0.tar.gz.
File metadata
- Download URL: certbot_dns_galaxyweb-1.0.0.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6bb563b3d0bf894fec6b53774d3de23f14f952233b26e78f678a9af1e785fea7
|
|
| MD5 |
946e4d4dbc91183cc06ba04983b0b944
|
|
| BLAKE2b-256 |
a8dac9dfdf22571f84ecb2133e7bfdcb68488faf84d3adc85ad042fceaaadd00
|
File details
Details for the file certbot_dns_galaxyweb-1.0.0-py3-none-any.whl.
File metadata
- Download URL: certbot_dns_galaxyweb-1.0.0-py3-none-any.whl
- Upload date:
- Size: 6.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
224cfa466c240fb36e9a2d6ebff60dc74c3c1061c8fbc55c9e7cc6a1ee1dbfa7
|
|
| MD5 |
49cd1ce926ca14f990e25d45424b71e7
|
|
| BLAKE2b-256 |
894a38fd111b9c0b0c55cb09e7f6d161beea960755c295e357659baf1225474d
|