Documentation ¶
Index ¶
- Variables
- func BuildHTTPClient(metrics *metrics.Metrics, skipTLSVerify bool) *http.Client
- func BuildHTTPClientWithCABundle(metrics *metrics.Metrics, skipTLSVerify bool, caBundle []byte) *http.Client
- func NewClient(client *http.Client, config cmacme.ACMEIssuer, privateKey *rsa.PrivateKey, ...) acmecl.Interface
- type Getter
- type NewClientFunc
- type Registry
Constants ¶
This section is empty.
Variables ¶
var ErrNotFound = errors.New("ACME client for issuer not initialised/available")
ErrNotFound is returned by GetClient if there is no ACME client registered.
Functions ¶
func BuildHTTPClient ¶
BuildHTTPClient returns a instrumented HTTP client to be used by an ACME client. For the time being, we construct a new HTTP client on each invocation, because we need to set the 'skipTLSVerify' flag on the HTTP client itself distinct from the ACME client
func BuildHTTPClientWithCABundle ¶ added in v1.11.0
func BuildHTTPClientWithCABundle(metrics *metrics.Metrics, skipTLSVerify bool, caBundle []byte) *http.Client
BuildHTTPClientWithCABundle returns a instrumented HTTP client to be used by an ACME client, with an optional custom CA bundle set. For the time being, we construct a new HTTP client on each invocation, because we need to set the 'skipTLSVerify' flag and the CA bundle on the HTTP client itself, distinct from the ACME client
Types ¶
type Getter ¶
type Getter interface { // GetClient will fetch a registered client using the UID of the Issuer // resources that constructed it. // If no client is found, ErrNotFound will be returned. GetClient(uid string) (acmecl.Interface, error) // ListClients will return a full list of all ACME clients by their UIDs. // This can be used to enumerate all registered clients and call RemoveClient // on any clients that should no longer be registered, e.g. because their // corresponding Issuer resource has been deleted. ListClients() map[string]acmecl.Interface }
Getter is an interface that contains the read-only methods for a registry.
type NewClientFunc ¶
type NewClientFunc func(*http.Client, cmacme.ACMEIssuer, *rsa.PrivateKey, string) acmecl.Interface
NewClientFunc is a function type for building a new ACME client.
type Registry ¶
type Registry interface { // AddClient will ensure the registry has a stored ACME client for the Issuer // object with the given UID, configuration and private key. AddClient(httpClient *http.Client, uid string, config cmacme.ACMEIssuer, privateKey *rsa.PrivateKey, userAgent string) // RemoveClient will remove a registered client using the UID of the Issuer // resource that constructed it. RemoveClient(uid string) // IsKeyCheckSumCached checks if the private key checksum is cached with registered client. // If not cached, the account is re-verified for the private key. IsKeyCheckSumCached(lastPrivateKeyHash string, privateKey *rsa.PrivateKey) bool Getter }
A registry provides a means to store and access ACME clients using an issuer objects UID. This is used as a shared cache of ACME clients across various controllers.
func NewDefaultRegistry ¶
func NewDefaultRegistry() Registry
NewDefaultRegistry returns a new default instantiation of a client registry.