diff options
Diffstat (limited to 'caddyconfig/httpcaddyfile/builtins.go')
-rw-r--r-- | caddyconfig/httpcaddyfile/builtins.go | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/caddyconfig/httpcaddyfile/builtins.go b/caddyconfig/httpcaddyfile/builtins.go index 7c56b04..29ca0be 100644 --- a/caddyconfig/httpcaddyfile/builtins.go +++ b/caddyconfig/httpcaddyfile/builtins.go @@ -98,6 +98,7 @@ func parseRoot(h Helper) ([]ConfigValue, error) { // alpn <values...> // load <paths...> // ca <acme_ca_endpoint> +// dns <provider_name> // } // func parseTLS(h Helper) ([]ConfigValue, error) { @@ -217,6 +218,21 @@ func parseTLS(h Helper) ([]ConfigValue, error) { } mgr.CA = arg[0] + // DNS provider for ACME DNS challenge + case "dns": + if !h.Next() { + return nil, h.ArgErr() + } + provName := h.Val() + if mgr.Challenges == nil { + mgr.Challenges = new(caddytls.ChallengesConfig) + } + dnsProvModule, err := caddy.GetModule("tls.dns." + provName) + if err != nil { + return nil, h.Errf("getting DNS provider module named '%s': %v", provName, err) + } + mgr.Challenges.DNSRaw = caddyconfig.JSONModuleObject(dnsProvModule.New(), "provider", provName, h.warnings) + default: return nil, h.Errf("unknown subdirective: %s", h.Val()) } |