Problem
pingap currently uses a hard-coded list of DNS providers for ACME DNS-01 challenges (currently ~4 providers).
This does not scale well:
- Users are limited to the predefined providers
- Adding a new provider (e.g. Hetzner DNS) requires a code change
- The number of possible DNS providers is very large
- Maintenance effort grows with each new provider request
Existing solutions / inspiration
The lego ACME client (used by Traefik) already solves this problem by supporting many DNS providers via a flexible configuration model:
https://go-acme.github.io/lego/dns/index.html
This shows that an extensible approach is feasible and proven.
Proposed solution
1. Configurable DNS provider registry
Introduce a DNS provider configuration instead of a fixed list.
Each provider entry could define:
name
api_endpoint
auth (API token / key / secret)
- optional provider-specific parameters (TTL, propagation timeout, etc.)
Built-in providers (Cloudflare, Alibaba, …) could be shipped as defaults but remain editable.
2. Provider selection
When configuring ACME certificates, select a provider from the configured provider list (dropdown).
Optional UX improvement (“deluxe”)
To keep the UI clean when many providers exist:
- Show (checkbox): provider appears in dropdown
- Default provider (radio button): preselected provider
Benefits
- No hard dependency on a fixed provider list
- Supports custom / less common providers (e.g. Hetzner DNS)
- Reduced maintenance burden
- Better long-term scalability
- Aligns pingap with established tooling like lego / Traefik
Problem
pingap currently uses a hard-coded list of DNS providers for ACME DNS-01 challenges (currently ~4 providers).
This does not scale well:
Existing solutions / inspiration
The lego ACME client (used by Traefik) already solves this problem by supporting many DNS providers via a flexible configuration model:
https://go-acme.github.io/lego/dns/index.html
This shows that an extensible approach is feasible and proven.
Proposed solution
1. Configurable DNS provider registry
Introduce a DNS provider configuration instead of a fixed list.
Each provider entry could define:
nameapi_endpointauth(API token / key / secret)Built-in providers (Cloudflare, Alibaba, …) could be shipped as defaults but remain editable.
2. Provider selection
When configuring ACME certificates, select a provider from the configured provider list (dropdown).
Optional UX improvement (“deluxe”)
To keep the UI clean when many providers exist:
Benefits