MCPcopy
hub / github.com/caddyserver/caddy / Provision

Method Provision

modules/caddytls/zerosslissuer.go:77–110  ·  view source on GitHub ↗

Provision sets up the issuer.

(ctx caddy.Context)

Source from the content-addressed store, hash-verified

75
76// Provision sets up the issuer.
77func (iss *ZeroSSLIssuer) Provision(ctx caddy.Context) error {
78 iss.logger = ctx.Logger()
79 iss.storage = ctx.Storage()
80 repl := caddy.NewReplacer()
81
82 var dnsManager *certmagic.DNSManager
83 if iss.CNAMEValidation != nil && len(iss.CNAMEValidation.ProviderRaw) > 0 {
84 val, err := ctx.LoadModule(iss.CNAMEValidation, "ProviderRaw")
85 if err != nil {
86 return fmt.Errorf("loading DNS provider module: %v", err)
87 }
88 dnsManager = &certmagic.DNSManager{
89 DNSProvider: val.(certmagic.DNSProvider),
90 TTL: time.Duration(iss.CNAMEValidation.TTL),
91 PropagationDelay: time.Duration(iss.CNAMEValidation.PropagationDelay),
92 PropagationTimeout: time.Duration(iss.CNAMEValidation.PropagationTimeout),
93 Resolvers: iss.CNAMEValidation.Resolvers,
94 OverrideDomain: iss.CNAMEValidation.OverrideDomain,
95 Logger: iss.logger.Named("cname"),
96 }
97 }
98
99 iss.issuer = &certmagic.ZeroSSLIssuer{
100 APIKey: repl.ReplaceAll(iss.APIKey, ""),
101 ValidityDays: iss.ValidityDays,
102 ListenHost: iss.ListenHost,
103 AltHTTPPort: iss.AlternateHTTPPort,
104 Storage: iss.storage,
105 CNAMEValidation: dnsManager,
106 Logger: iss.logger,
107 }
108
109 return nil
110}
111
112// Issue obtains a certificate for the given csr.
113func (iss *ZeroSSLIssuer) Issue(ctx context.Context, csr *x509.CertificateRequest) (*certmagic.IssuedCertificate, error) {

Callers

nothing calls this directly

Calls 5

ReplaceAllMethod · 0.95
StorageMethod · 0.80
LoadModuleMethod · 0.80
DurationMethod · 0.80
LoggerMethod · 0.45

Tested by

no test coverage detected