caddyserver/caddy · error

loading DNS provider module: %v

Error message

loading DNS provider module: %v

What it means

Error "loading DNS provider module: %v" thrown in caddyserver/caddy.

Source

Thrown at modules/caddytls/zerosslissuer.go:86

// CaddyModule returns the Caddy module information.
func (*ZeroSSLIssuer) CaddyModule() caddy.ModuleInfo {
	return caddy.ModuleInfo{
		ID:  "tls.issuance.zerossl",
		New: func() caddy.Module { return new(ZeroSSLIssuer) },
	}
}

// Provision sets up the issuer.
func (iss *ZeroSSLIssuer) Provision(ctx caddy.Context) error {
	iss.logger = ctx.Logger()
	iss.storage = ctx.Storage()
	repl := caddy.NewReplacer()

	var dnsManager *certmagic.DNSManager
	if iss.CNAMEValidation != nil && len(iss.CNAMEValidation.ProviderRaw) > 0 {
		val, err := ctx.LoadModule(iss.CNAMEValidation, "ProviderRaw")
		if err != nil {
			return fmt.Errorf("loading DNS provider module: %v", err)
		}
		dnsManager = &certmagic.DNSManager{
			DNSProvider:        val.(certmagic.DNSProvider),
			TTL:                time.Duration(iss.CNAMEValidation.TTL),
			PropagationDelay:   time.Duration(iss.CNAMEValidation.PropagationDelay),
			PropagationTimeout: time.Duration(iss.CNAMEValidation.PropagationTimeout),
			Resolvers:          iss.CNAMEValidation.Resolvers,
			OverrideDomain:     iss.CNAMEValidation.OverrideDomain,
			Logger:             iss.logger.Named("cname"),
		}
	}

	iss.issuer = &certmagic.ZeroSSLIssuer{
		APIKey:          repl.ReplaceAll(iss.APIKey, ""),
		ValidityDays:    iss.ValidityDays,
		ListenHost:      iss.ListenHost,
		AltHTTPPort:     iss.AlternateHTTPPort,
		Storage:         iss.storage,

View on GitHub (pinned to 50e54ee279)

Solutions

  1. Check the DNS provider module name and configuration for the ZeroSSL issuer; the wrapped error identifies the problem.

When it happens

Trigger: Thrown at modules/caddytls/zerosslissuer.go:86 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of caddyserver/caddy@50e54ee279 (2026-08-15). Data as JSON: /api/errors/093bda6ea2f9a558. Report an issue: GitHub.