definition

package
v1.14.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 14, 2024 License: Apache-2.0 Imports: 44 Imported by: 0

Documentation

Overview

Package definition manages the lifecycle of XR controllers.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CompositeReconcilerOptions added in v1.11.0

CompositeReconcilerOptions builds the options for a composite resource reconciler. The options vary based on the supplied feature flags.

func IndexCompositeResourceRefGVKs added in v1.14.0

func IndexCompositeResourceRefGVKs(o client.Object) []string

IndexCompositeResourceRefGVKs assumes the passed object is a composite. It returns gvk keys for every resource referenced in the composite.

func IndexCompositeResourcesRefs added in v1.14.0

func IndexCompositeResourcesRefs(o client.Object) []string

IndexCompositeResourcesRefs assumes the passed object is a composite. It returns keys for every composed resource referenced in the composite.

func Setup

Setup adds a controller that reconciles CompositeResourceDefinitions by defining a composite resource and starting a controller to reconcile it.

Types

type CRDRenderFn

A CRDRenderFn renders a CompositeResourceDefinition's corresponding CustomResourceDefinition.

func (CRDRenderFn) Render

Render the supplied CompositeResourceDefinition's corresponding CustomResourceDefinition.

type CRDRenderer

type CRDRenderer interface {
	Render(d *v1.CompositeResourceDefinition) (*extv1.CustomResourceDefinition, error)
}

A CRDRenderer renders a CompositeResourceDefinition's corresponding CustomResourceDefinition.

type ControllerEngine

type ControllerEngine interface {
	IsRunning(name string) bool
	Create(name string, o kcontroller.Options, w ...controller.Watch) (controller.NamedController, error)
	Start(name string, o kcontroller.Options, w ...controller.Watch) error
	Stop(name string)
	Err(name string) error
}

A ControllerEngine can start and stop Kubernetes controllers on demand.

type Reconciler

type Reconciler struct {
	// contains filtered or unexported fields
}

A Reconciler reconciles CompositeResourceDefinitions.

func NewReconciler

NewReconciler returns a Reconciler of CompositeResourceDefinitions.

func (*Reconciler) Reconcile

func (r *Reconciler) Reconcile(ctx context.Context, req reconcile.Request) (reconcile.Result, error)

Reconcile a CompositeResourceDefinition by defining a new kind of composite resource and starting a controller to reconcile it.

type ReconcilerOption

type ReconcilerOption func(*Reconciler)

ReconcilerOption is used to configure the Reconciler.

func WithCRDRenderer

func WithCRDRenderer(c CRDRenderer) ReconcilerOption

WithCRDRenderer specifies how the Reconciler should render an CompositeResourceDefinition's corresponding CustomResourceDefinition.

func WithClientApplicator

func WithClientApplicator(ca resource.ClientApplicator) ReconcilerOption

WithClientApplicator specifies how the Reconciler should interact with the Kubernetes API.

func WithControllerEngine

func WithControllerEngine(c ControllerEngine) ReconcilerOption

WithControllerEngine specifies how the Reconciler should manage the lifecycles of composite controllers.

func WithFinalizer

func WithFinalizer(f resource.Finalizer) ReconcilerOption

WithFinalizer specifies how the Reconciler should finalize CompositeResourceDefinitions.

func WithLogger

func WithLogger(log logging.Logger) ReconcilerOption

WithLogger specifies how the Reconciler should log messages.

func WithRecorder

func WithRecorder(er event.Recorder) ReconcilerOption

WithRecorder specifies how the Reconciler should record Kubernetes events.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL