Plan
2019-06-14 Edit

Caddy is using the CertMagic library. In the file caddy/caddytls/setup.go

if onDemand {
	config.Manager.OnDemand = new(certmagic.OnDemandConfig)
	if maxCerts != "" {
		maxCertsNum, err := strconv.Atoi(maxCerts)
		if err != nil || maxCertsNum < 1 {
			return c.Err("max_certs must be a positive integer")
		}
		config.Manager.OnDemand.MaxObtain = int32(maxCertsNum)
	}
	if askURL != "" {
		parsedURL, err := url.Parse(askURL)
		if err != nil {
			return c.Err("ask must be a valid url")
		}
		if parsedURL.Scheme != "http" && parsedURL.Scheme != "https" {
			return c.Err("ask URL must use http or https")
		}
		config.Manager.OnDemand.AskURL = parsedURL
	}
}