Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ACME ¶
type ACME struct { Email string `description:"Email address used for registration"` Domains []Domain `` /* 162-byte string literal not displayed */ Storage string `description:"File or key used for certificates storage."` StorageFile string // deprecated OnDemand bool `` /* 178-byte string literal not displayed */ OnHostRule bool `description:"Enable certificate generation on frontends Host rules."` CAServer string `description:"CA server to use."` EntryPoint string `description:"Entrypoint to proxy acme challenge to."` // contains filtered or unexported fields }
ACME allows to connect to lets encrypt and retrieve certs
func (*ACME) CreateClusterConfig ¶ added in v1.1.0
func (a *ACME) CreateClusterConfig(leadership *cluster.Leadership, tlsConfig *tls.Config, checkOnDemandDomain func(domain string) bool) error
CreateClusterConfig creates a tls.config using ACME configuration in cluster mode
func (*ACME) CreateLocalConfig ¶ added in v1.1.0
func (a *ACME) CreateLocalConfig(tlsConfig *tls.Config, checkOnDemandDomain func(domain string) bool) error
CreateLocalConfig creates a tls.config using local ACME configuration
func (*ACME) LoadCertificateForDomains ¶ added in v1.1.0
LoadCertificateForDomains loads certificates from ACME for given domains
type Account ¶
type Account struct { Email string Registration *acme.RegistrationResource PrivateKey []byte DomainsCertificate DomainsCertificates ChallengeCerts map[string]*ChallengeCert }
Account is used to store lets encrypt registration info
func NewAccount ¶ added in v1.1.0
NewAccount creates an account
func (*Account) GetPrivateKey ¶
func (a *Account) GetPrivateKey() crypto.PrivateKey
GetPrivateKey returns private key
func (*Account) GetRegistration ¶
func (a *Account) GetRegistration() *acme.RegistrationResource
GetRegistration returns lets encrypt registration resource
type Certificate ¶
type Certificate struct { Domain string CertURL string CertStableURL string PrivateKey []byte Certificate []byte }
Certificate is used to store certificate info
type ChallengeCert ¶ added in v1.1.0
type ChallengeCert struct { Certificate []byte PrivateKey []byte // contains filtered or unexported fields }
ChallengeCert stores a challenge certificate
func TLSSNI01ChallengeCert ¶ added in v1.1.0
func TLSSNI01ChallengeCert(keyAuth string) (ChallengeCert, string, error)
TLSSNI01ChallengeCert returns a certificate and target domain for the `tls-sni-01` challenge
type Domains ¶
type Domains []Domain
Domains parse []Domain
type DomainsCertificate ¶
type DomainsCertificate struct { Domains Domain Certificate *Certificate // contains filtered or unexported fields }
DomainsCertificate contains a certificate for multiple domains
type DomainsCertificates ¶
type DomainsCertificates struct { Certs []*DomainsCertificate // contains filtered or unexported fields }
DomainsCertificates stores a certificate for multiple domains
func (*DomainsCertificates) Init ¶ added in v1.1.0
func (dc *DomainsCertificates) Init() error
Init inits DomainsCertificates
type LocalStore ¶ added in v1.1.0
type LocalStore struct {
// contains filtered or unexported fields
}
LocalStore is a store using a file as storage
func NewLocalStore ¶ added in v1.1.0
func NewLocalStore(file string) *LocalStore
NewLocalStore create a LocalStore
func (*LocalStore) Begin ¶ added in v1.1.0
func (s *LocalStore) Begin() (cluster.Transaction, cluster.Object, error)
Begin creates a transaction with the KV store.
func (*LocalStore) Get ¶ added in v1.1.0
func (s *LocalStore) Get() cluster.Object
Get atomically a struct from the file storage