Documentation ¶
Overview ¶
Package acme abstracts away various ACME libraries
Index ¶
Constants ¶
const ( LetsEncryptStagingCA = "https://acme-staging-v02.api.letsencrypt.org/directory" LetsEncryptProductionCA = "https://acme-v02.api.letsencrypt.org/directory" )
The Let's Encrypt ACME endpoints
Variables ¶
var ErrProviderNotImplemented = errors.New("provider not implemented")
ErrProviderNotImplemented can be returned when attempting to instantiate an unimplemented provider
Functions ¶
This section is empty.
Types ¶
type Option ¶
type Option func(o *Options)
Option (or Options) are passed to New() to configure providers
func Cache ¶
func Cache(c interface{}) Option
Cache provides a cache / storage interface to the underlying ACME library as there is no standard, this needs to be validated by the underlying implementation.
func ChallengeProvider ¶
func ChallengeProvider(p interface{}) Option
ChallengeProvider sets the Challenge provider of an acme.Options if set, it enables the DNS challenge, otherwise tls-alpn-01 will be used.
type Options ¶
type Options struct { // AcceptTLS must be set to true to indicate that you have read your // provider's terms of service. AcceptToS bool // CA is the CA to use CA string // ChallengeProvider is a go-acme/lego challenge provider. Set this if you // want to use DNS Challenges. Otherwise, tls-alpn-01 will be used ChallengeProvider interface{} // Issue certificates for domains on demand. Otherwise, certs will be // retrieved / issued on start-up. OnDemand bool // Cache is a storage interface. Most ACME libraries have an cache, but // there's no defined interface, so if you consume this option // sanity check it before using. Cache interface{} }
Options represents various options you can present to ACME providers
func DefaultOptions ¶
func DefaultOptions() Options
DefaultOptions uses the Let's Encrypt Production CA, with DNS Challenge disabled.