You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Tracking epic for ACME DNS-01 provider coverage in dash-proxy. Split out of the R1–R5 roadmap epic (zoolutions/kamal#13) because it is a distinct concern: R1–R7 is proxy features and the gem flag surface that exposes them, this is credential plumbing for certificate issuance.
Goal: an operator on a mainstream registrar can get a wildcard certificate without patching the proxy, and adding provider number thirteen is a one-line table entry rather than a seven-file change.
Why now
internal/server/acme/providers/factory.go supports eight providers, all US/global hosts. Each one is spread across five edit sites — the lego import, a ProviderInfo entry, a NewProvider switch case, a bespoke newXProvider() credential check, and two separately-maintained ordered lists (autoDetectProvider's providerOrder and DetectProviderName's checks). Those two lists must agree and nothing asserts that they do.
So the refactor comes first and everything else is cheap after it.
Order
Strictly sequential for the first two; the provider batches are independent of each other once the registry exists.
Curated rather than all ~150 of lego's: each provider pulls its SDK into the binary, and the credential metadata has to be honest per provider. Both batch issues require recording the go build size delta so the curated-vs-everything tradeoff stays evidence-backed rather than assumed.
On-demand TLS and the domains poller — already shipped, R4.
Release
This epic does not gate the proxy v1.0.0.0 release. The registry refactor is behaviour-preserving and the provider batches are additive, so they can land before or after the tag. If they land after, they ship in the next fork counter.
Tracking epic for ACME DNS-01 provider coverage in dash-proxy. Split out of the R1–R5 roadmap epic (zoolutions/kamal#13) because it is a distinct concern: R1–R7 is proxy features and the gem flag surface that exposes them, this is credential plumbing for certificate issuance.
Goal: an operator on a mainstream registrar can get a wildcard certificate without patching the proxy, and adding provider number thirteen is a one-line table entry rather than a seven-file change.
Why now
internal/server/acme/providers/factory.gosupports eight providers, all US/global hosts. Each one is spread across five edit sites — the lego import, aProviderInfoentry, aNewProviderswitch case, a bespokenewXProvider()credential check, and two separately-maintained ordered lists (autoDetectProvider'sproviderOrderandDetectProviderName'schecks). Those two lists must agree and nothing asserts that they do.So the refactor comes first and everything else is cheap after it.
Order
Strictly sequential for the first two; the provider batches are independent of each other once the registry exists.
proxyM--acme-dns-providerhelp from the registryproxySproxySproxySproxyMproxybugSDoing #75 second means the two provider batches get the README drift check for free instead of hand-editing a 20-row table twice.
Coverage after this epic
8 providers today → 21. Verified present in the pinned lego v4.30.1:
cloudflareroute53digitaloceangcloudnamecheapgodaddyhetznervultr— todayloopiaovhgandiv5netcupnjalladesec— European batchdnsimplelinodeporkbunbunnyazurednsalidns— remaining batchCurated rather than all ~150 of lego's: each provider pulls its SDK into the binary, and the credential metadata has to be honest per provider. Both batch issues require recording the
go buildsize delta so the curated-vs-everything tradeoff stays evidence-backed rather than assumed.Not in scope
proxy.run.options.envdocker passthrough, which has no.kamal/secretsintegration — README wildcard-with-Kamal recipe configures the app containers, not the proxy #76 documents that honestly, and the gem issue fixes it properly.Release
This epic does not gate the proxy v1.0.0.0 release. The registry refactor is behaviour-preserving and the provider batches are additive, so they can land before or after the tag. If they land after, they ship in the next fork counter.