...

Package registration

import "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/controller/registration"
Overview
Index

Overview ▾

func Add

func Add(mgr manager.Manager, p *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, dclConfig *dcl.Config, dclConverter *conversion.Converter, regFunc registrationFunc) error

Add creates a new registration Controller and adds it to the Manager with default RBAC. The Manager will set fields on the Controller and Start it when the Manager is Started.

func RegisterDefaultController

func RegisterDefaultController(r *ReconcileRegistration, crd *apiextensions.CustomResourceDefinition, gvk schema.GroupVersionKind) (k8s.SchemaReferenceUpdater, error)

func RegisterDeletionDefenderController

func RegisterDeletionDefenderController(r *ReconcileRegistration, crd *apiextensions.CustomResourceDefinition, _ schema.GroupVersionKind) (k8s.SchemaReferenceUpdater, error)

func RegisterUnmanagedDetectorController

func RegisterUnmanagedDetectorController(r *ReconcileRegistration, crd *apiextensions.CustomResourceDefinition, _ schema.GroupVersionKind) (k8s.SchemaReferenceUpdater, error)

type ManagedByKCCPredicate

This predicate will react only to Create requests from CRDs that KCC manages.

type ManagedByKCCPredicate struct {
    predicate.Funcs
}

func (ManagedByKCCPredicate) Create

func (ManagedByKCCPredicate) Create(e event.CreateEvent) bool

Create returns true if the given resource has the KCC management label.

func (ManagedByKCCPredicate) Delete

func (ManagedByKCCPredicate) Delete(_ event.DeleteEvent) bool

Delete always returns false, as currently there is no support for removing controllers on CRD deletion.

func (ManagedByKCCPredicate) Update

func (ManagedByKCCPredicate) Update(e event.UpdateEvent) bool

Update returns true if the given resource has the KCC management label. When CRD is changed, the controller should reload its jsonSchema from the newly updated CRD.

type ReconcileRegistration

ReconcileRegistration reconciles a CRD owned by KCC

type ReconcileRegistration struct {
    client.Client
    // contains filtered or unexported fields
}

func (*ReconcileRegistration) Reconcile

func (r *ReconcileRegistration) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error)