mirror of
https://github.com/caddyserver/caddy.git
synced 2025-03-31 01:09:33 +03:00
caddytls: Add dns
config to acmeissuer (#3701)
This commit is contained in:
parent
d4f249741e
commit
00e6b77fe4
1 changed files with 26 additions and 0 deletions
|
@ -24,6 +24,7 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/caddyserver/caddy/v2"
|
"github.com/caddyserver/caddy/v2"
|
||||||
|
"github.com/caddyserver/caddy/v2/caddyconfig"
|
||||||
"github.com/caddyserver/caddy/v2/caddyconfig/caddyfile"
|
"github.com/caddyserver/caddy/v2/caddyconfig/caddyfile"
|
||||||
"github.com/caddyserver/certmagic"
|
"github.com/caddyserver/certmagic"
|
||||||
"github.com/mholt/acmez"
|
"github.com/mholt/acmez"
|
||||||
|
@ -220,6 +221,7 @@ func (iss *ACMEIssuer) GetACMEIssuer() *ACMEIssuer { return iss }
|
||||||
// alt_tlsalpn_port <port>
|
// alt_tlsalpn_port <port>
|
||||||
// eab <key_id> <mac_key>
|
// eab <key_id> <mac_key>
|
||||||
// trusted_roots <pem_files...>
|
// trusted_roots <pem_files...>
|
||||||
|
// dns <provider_name> [<options>]
|
||||||
// resolvers <dns_servers...>
|
// resolvers <dns_servers...>
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
|
@ -318,6 +320,30 @@ func (iss *ACMEIssuer) UnmarshalCaddyfile(d *caddyfile.Dispenser) error {
|
||||||
case "trusted_roots":
|
case "trusted_roots":
|
||||||
iss.TrustedRootsPEMFiles = d.RemainingArgs()
|
iss.TrustedRootsPEMFiles = d.RemainingArgs()
|
||||||
|
|
||||||
|
case "dns":
|
||||||
|
if !d.NextArg() {
|
||||||
|
return d.ArgErr()
|
||||||
|
}
|
||||||
|
provName := d.Val()
|
||||||
|
if iss.Challenges == nil {
|
||||||
|
iss.Challenges = new(ChallengesConfig)
|
||||||
|
}
|
||||||
|
if iss.Challenges.DNS == nil {
|
||||||
|
iss.Challenges.DNS = new(DNSChallengeConfig)
|
||||||
|
}
|
||||||
|
dnsProvModule, err := caddy.GetModule("dns.providers." + provName)
|
||||||
|
if err != nil {
|
||||||
|
return d.Errf("getting DNS provider module named '%s': %v", provName, err)
|
||||||
|
}
|
||||||
|
dnsProvModuleInstance := dnsProvModule.New()
|
||||||
|
if unm, ok := dnsProvModuleInstance.(caddyfile.Unmarshaler); ok {
|
||||||
|
err = unm.UnmarshalCaddyfile(d.NewFromNextSegment())
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
iss.Challenges.DNS.ProviderRaw = caddyconfig.JSONModuleObject(dnsProvModuleInstance, "name", provName, nil)
|
||||||
|
|
||||||
case "resolvers":
|
case "resolvers":
|
||||||
if !d.NextArg() {
|
if !d.NextArg() {
|
||||||
return d.ArgErr()
|
return d.ArgErr()
|
||||||
|
|
Loading…
Reference in a new issue