Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add Hetzner Cloud DNS provider (
hetznerhcloud)Summary
Implements DNS-01 challenge support for Hetzner Cloud DNS API (
api.hetzner.cloud/v1/zones), distinct from the existinghetznerprovider which targets the legacy DNS API (dns.hetzner.com).Motivation
Hetzner Cloud customers managing DNS zones via the Cloud API require a unified token strategy. Current
hetznerprovider necessitates separate DNS-specific credentials, incompatible with CloudAPI tokens used for infrastructure-as-code workflows.
Implementation
Provider: 373 LOC total
challenge.ProviderinterfaceAPI Integration:
GET /v1/zones→ Zone resolution with cachingPOST /v1/zones/{id}/records→ TXT record creationDELETE /v1/zones/{id}/records/{id}→ Record cleanupPatterns Followed:
Present,CleanUp,Timeout)platform/config/envTesting
go test ./providers/dns/hetznerhcloud/...PASS - 76% coverage, 3 test scenarios
Configuration
HCLOUD_TOKEN=xxx lego --dns hetznerhcloud -d example.com run
Optional: HCLOUD_TTL, HCLOUD_PROPAGATION_TIMEOUT, HCLOUD_POLLING_INTERVAL, HCLOUD_BASE_URL, HCLOUD_HTTP_TIMEOUT
Validation
Related