Documentation ¶
Index ¶
- Variables
- func DefaultItemBasedRateLimiter() workqueue.RateLimiter
- func HandleOwnedResourceNamespacedFunc(log logr.Logger, queue workqueue.RateLimitingInterface, ...) func(obj interface{})
- func Known() map[string]Constructor
- func Register(name string, fn Constructor)
- type ACMEOptions
- type BaseController
- type BlockingEventHandler
- type CertificateOptions
- type Constructor
- type Context
- type IngressShimOptions
- type Interface
- type IssuerOptions
- func (o IssuerOptions) CalculateDurationUntilRenew(ctx context.Context, cert *x509.Certificate, crt *cmapi.Certificate) time.Duration
- func (o IssuerOptions) CanUseAmbientCredentials(iss cmapi.GenericIssuer) bool
- func (o IssuerOptions) CertificateNeedsRenew(ctx context.Context, cert *x509.Certificate, crt *cmapi.Certificate) bool
- func (o IssuerOptions) ResourceNamespace(iss cmapi.GenericIssuer) string
- type QueuingEventHandler
- type SchedulerOptions
Constants ¶
This section is empty.
Variables ¶
var (
KeyFunc = cache.DeletionHandlingMetaNamespaceKeyFunc
)
Functions ¶
func DefaultItemBasedRateLimiter ¶ added in v0.6.0
func DefaultItemBasedRateLimiter() workqueue.RateLimiter
func HandleOwnedResourceNamespacedFunc ¶ added in v0.9.0
func HandleOwnedResourceNamespacedFunc(log logr.Logger, queue workqueue.RateLimitingInterface, ownerGVK schema.GroupVersionKind, get func(namespace, name string) (interface{}, error)) func(obj interface{})
func Known ¶
func Known() map[string]Constructor
Known returns a map of the registered controller Constructors
func Register ¶
func Register(name string, fn Constructor)
Register registers a controller constructor with the controller package
Types ¶
type ACMEOptions ¶
type ACMEOptions struct { // ACMEHTTP01SolverImage is the image to use for solving ACME HTTP01 // challenges HTTP01SolverImage string // HTTP01SolverResourceRequestCPU defines the ACME pod's resource request CPU size HTTP01SolverResourceRequestCPU resource.Quantity // HTTP01SolverResourceRequestMemory defines the ACME pod's resource request Memory size HTTP01SolverResourceRequestMemory resource.Quantity // HTTP01SolverResourceLimitsCPU defines the ACME pod's resource limits CPU size HTTP01SolverResourceLimitsCPU resource.Quantity // HTTP01SolverResourceLimitsMemory defines the ACME pod's resource limits Memory size HTTP01SolverResourceLimitsMemory resource.Quantity // DNS01CheckAuthoritative is a flag for controlling if auth nss are used // for checking propogation of an RR. This is the ideal scenario DNS01CheckAuthoritative bool // DNS01Nameservers is a list of nameservers to use when performing self-checks // for ACME DNS01 validations. DNS01Nameservers []string }
type BaseController ¶ added in v0.9.0
type BaseController struct { // the root controller context, used when calling Register() on // the queueingController *Context // contains filtered or unexported fields }
func New ¶ added in v0.9.0
func New(ctx *Context, name string, qc queueingController) (*BaseController, error)
New creates a basic BaseController, setting the sync call to the one given
func (*BaseController) Run ¶ added in v0.9.0
func (bc *BaseController) Run(workers int, stopCh <-chan struct{}) error
Run starts the controller loop
type BlockingEventHandler ¶
type BlockingEventHandler struct {
WorkFunc func(obj interface{})
}
BlockingEventHandler is an implementation of cache.ResourceEventHandler that simply synchronously calls it's WorkFunc upon calls to OnAdd, OnUpdate or OnDelete.
func (*BlockingEventHandler) Enqueue ¶
func (b *BlockingEventHandler) Enqueue(obj interface{})
func (*BlockingEventHandler) OnAdd ¶
func (b *BlockingEventHandler) OnAdd(obj interface{})
func (*BlockingEventHandler) OnDelete ¶
func (b *BlockingEventHandler) OnDelete(obj interface{})
func (*BlockingEventHandler) OnUpdate ¶
func (b *BlockingEventHandler) OnUpdate(old, new interface{})
type CertificateOptions ¶ added in v0.6.0
type CertificateOptions struct { // EnableOwnerRef controls wheter wheter the certificate is configured as an owner of // secret where the effective TLS certificate is stored. EnableOwnerRef bool }
type Constructor ¶
Constructor is a function that creates a new control loop given a controller Context.
type Context ¶
type Context struct { // RootContext is the root context for the controller RootContext context.Context // StopCh is a channel that will be closed when the controller is signalled // to exit StopCh <-chan struct{} // RESTConfig is the loaded Kubernetes apiserver rest client configuration RESTConfig *rest.Config // Client is a Kubernetes clientset Client kubernetes.Interface // CMClient is a cert-manager clientset CMClient clientset.Interface // Recorder to record events to Recorder record.EventRecorder // SharedIndexInformer instances for Kubernetes types KubeSharedInformerFactory kubeinformers.SharedInformerFactory // instances SharedInformerFactory informers.SharedInformerFactory // Namespace is the namespace to operate within. // If unset, operates on all namespaces Namespace string IssuerOptions ACMEOptions IngressShimOptions CertificateOptions SchedulerOptions }
Context contains various types that are used by controller implementations. We purposely don't have specific informers/listers here, and instead keep a reference to a SharedInformerFactory so that controllers can choose themselves which listers are required.
type IngressShimOptions ¶
type Interface ¶
Interface represents a controller that can run. 'workers' should be the number of independent goroutines for this controller in question that are to be run, and the workers should shut down upon a signal on stopCh. This method should block until all workers have exited cleanly, thus allowing for graceful shutdown of control loops.
type IssuerOptions ¶
type IssuerOptions struct { // ClusterResourceNamespace is the namespace to store resources created by // non-namespaced resources (e.g. ClusterIssuer) in. ClusterResourceNamespace string // ClusterIssuerAmbientCredentials controls whether a cluster issuer should // pick up ambient credentials, such as those from metadata services, to // construct clients. ClusterIssuerAmbientCredentials bool // IssuerAmbientCredentials controls whether an issuer should pick up ambient // credentials, such as those from metadata services, to construct clients. IssuerAmbientCredentials bool // RenewBeforeExpiryDuration is the default 'renew before expiry' time for Certificates. // Once a certificate is within this duration until expiry, a new Certificate // will be attempted to be issued. RenewBeforeExpiryDuration time.Duration }
func (IssuerOptions) CalculateDurationUntilRenew ¶ added in v0.7.0
func (o IssuerOptions) CalculateDurationUntilRenew(ctx context.Context, cert *x509.Certificate, crt *cmapi.Certificate) time.Duration
CalculateDurationUntilRenew calculates how long cert-manager should wait to until attempting to renew this certificate resource.
func (IssuerOptions) CanUseAmbientCredentials ¶
func (o IssuerOptions) CanUseAmbientCredentials(iss cmapi.GenericIssuer) bool
func (IssuerOptions) CertificateNeedsRenew ¶
func (o IssuerOptions) CertificateNeedsRenew(ctx context.Context, cert *x509.Certificate, crt *cmapi.Certificate) bool
func (IssuerOptions) ResourceNamespace ¶
func (o IssuerOptions) ResourceNamespace(iss cmapi.GenericIssuer) string
type QueuingEventHandler ¶
type QueuingEventHandler struct {
Queue workqueue.RateLimitingInterface
}
QueuingEventHandler is an implementation of cache.ResourceEventHandler that simply queues objects that are added/updated/deleted.
func (*QueuingEventHandler) Enqueue ¶
func (q *QueuingEventHandler) Enqueue(obj interface{})
func (*QueuingEventHandler) OnAdd ¶
func (q *QueuingEventHandler) OnAdd(obj interface{})
func (*QueuingEventHandler) OnDelete ¶
func (q *QueuingEventHandler) OnDelete(obj interface{})
func (*QueuingEventHandler) OnUpdate ¶
func (q *QueuingEventHandler) OnUpdate(old, new interface{})
type SchedulerOptions ¶ added in v0.8.0
type SchedulerOptions struct { // MaxConcurrentChallenges determines the maximum number of challenges that can be // scheduled as 'processing' at once. MaxConcurrentChallenges int }
Directories ¶
Path | Synopsis |
---|---|
Package test contains testing utilities used for constructing fake Contexts which can be used during tests.
|
Package test contains testing utilities used for constructing fake Contexts which can be used during tests. |