Documentation ¶
Index ¶
- type Controller
- func (c *Controller) ProcessItem(ctx context.Context, key types.NamespacedName) error
- func (c *Controller) Register(ctx *controllerpkg.Context) (workqueue.TypedRateLimitingInterface[types.NamespacedName], ...)
- func (c *Controller) Sync(ctx context.Context, csr *certificatesv1.CertificateSigningRequest) error
- type RegisterExtraInformerFn
- type Signer
- type SignerConstructor
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Controller ¶
type Controller struct {
// contains filtered or unexported fields
}
Controller is a base Kubernetes CertificateSigningRequest controller. It is responsible for orchestrating and performing shared operations that all CertificateSigningRequest controllers do, before passing the CertificateSigningRequest to a Singer implementation who instantiated this controller.
func New ¶
func New(signerType string, signerConstructor SignerConstructor, registerExtraInformers ...RegisterExtraInformerFn) *Controller
New will construct a new certificatesigningrequest controller using the given Signer implementation. Note: the registerExtraInformers passed here will be 'waited' for when starting to ensure their corresponding listers have synced. The caller is responsible for ensuring the informer work functions are setup correctly on any informer. It's also the callers responsibility to ensure the Run function on the informer is called in order to start the reflector. This is handled automatically when the informer factory's Start method is called, if the given informer was obtained using a SharedInformerFactory.
func (*Controller) ProcessItem ¶
func (c *Controller) ProcessItem(ctx context.Context, key types.NamespacedName) error
func (*Controller) Register ¶
func (c *Controller) Register(ctx *controllerpkg.Context) (workqueue.TypedRateLimitingInterface[types.NamespacedName], []cache.InformerSynced, error)
func (*Controller) Sync ¶
func (c *Controller) Sync(ctx context.Context, csr *certificatesv1.CertificateSigningRequest) error
type RegisterExtraInformerFn ¶
type RegisterExtraInformerFn func(*controllerpkg.Context, logr.Logger, workqueue.TypedRateLimitingInterface[types.NamespacedName]) ([]cache.InformerSynced, error)
RegisterExtraInformerFn is a function used by CertificateSigningRequest controller implementations to add custom workqueue functions based on informers not covered in the main shared controller implementation. The returned set of InformerSyncs will be waited on when the controller starts.
type Signer ¶
type Signer interface {
Sign(context.Context, *certificatesv1.CertificateSigningRequest, cmapi.GenericIssuer) error
}
Signer is an implementation of a Kubernetes CertificateSigningRequest signer, backed by a cert-manager Issuer.
type SignerConstructor ¶
type SignerConstructor func(*controllerpkg.Context) Signer
Signer Contractor builds a Signer instance using the given controller context.