add proxy support and dns resolver in acme providers #2485
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.
Title
ACME: per‑provisioner networking options (proxy and DNS resolver) + CLI flags and help
Summary
This PR adds provider‑level networking options to ACME provisioners so you can control, per provisioner, the HTTP(S)/SOCKS proxy used for outbound ACME validation requests and the DNS resolver used during ACME challenges. The CLI exposes new flags, help text is updated, and the ACME server injects a per‑provisioner client honoring these settings at request time.
Motivation
What’s changed
--acme-proxy-url <url>: explicit proxy URL for outbound ACME validation requests.--acme-disable-proxy: disable any proxy usage (ignoresHTTP_PROXY/HTTPS_PROXY).--acme-dns-resolver <host:port>: force a specific DNS resolver for ACME challenge operations.Available in:
step ca provisioner add --type ACMEstep ca provisioner update(when the target is ACME)acme.Clientconfigured with proxy/DNS settings, if present, for each request.provisioner.ACMEstruct exposesProxyURL,DisableProxy, andDNSso the handler can apply them.linkedca schema
linkedca.ACMEProvisionerto persist these values via the Admin API:string proxy_urlbool disable_proxystring dns_resolverUsage examples
Rules and precedence
--acme-disable-proxywins: when set, no proxy is used at all (even if--acme-proxy-urlor env vars are present).--acme-proxy-urloverrides system/env proxy settings.--acme-dns-resolverexpectshost:port(e.g.,8.8.8.8:53).