• Matthew Holt's avatar
    Extract most of caddytls core code into external CertMagic package · e0f1a02c
    Matthew Holt authored
    All code relating to a caddytls.Config and setting it up from the
    Caddyfile is still intact; only the certificate management-related
    code was removed into a separate package.
    I don't expect this to build in CI successfully; updating dependencies
    and vendor is coming next.
    I've also removed the ad-hoc, half-baked storage plugins that we need
    to finish making first-class Caddy plugins (they were never documented
    anyway). The new certmagic package has a much better storage interface,
    and we can finally move toward making a new storage plugin type, but
    it shouldn't be configurable in the Caddyfile, I think, since it doesn't
    make sense for a Caddy instance to use more than one storage config...
    We also have the option of eliminating DNS provider plugins and just
    shipping all of lego's DNS providers by using a lego package (the
    caddytls/setup.go file has a comment describing how) -- but it doubles
    Caddy's binary size by 100% from about 19 MB to around 40 MB...!