reconcilers

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Dec 5, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateOnlyMutator

func CreateOnlyMutator(_, _ client.Object) (bool, error)

func DeploymentImageMutator

func DeploymentImageMutator(desired, existing *appsv1.Deployment) bool

Types

type BaseReconciler

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

func NewBaseReconciler

func NewBaseReconciler(client client.Client, scheme *runtime.Scheme, apiClientReader client.Reader, logger logr.Logger) *BaseReconciler

func (*BaseReconciler) APIClientReader

func (b *BaseReconciler) APIClientReader() client.Reader

APIClientReader return a client that directly reads objects from the Kubernetes APIServer

func (*BaseReconciler) AddFinalizer

func (b *BaseReconciler) AddFinalizer(ctx context.Context, obj client.Object, finalizer string) error

func (*BaseReconciler) Client

func (b *BaseReconciler) Client() client.Client

Client returns a split client that reads objects from the cache and writes to the Kubernetes APIServer

func (*BaseReconciler) CreateResource

func (b *BaseReconciler) CreateResource(ctx context.Context, obj client.Object) error

func (*BaseReconciler) DeleteResource

func (b *BaseReconciler) DeleteResource(ctx context.Context, obj client.Object, options ...client.DeleteOption) error

func (*BaseReconciler) GetResource

func (b *BaseReconciler) GetResource(ctx context.Context, objKey types.NamespacedName, obj client.Object) error

func (*BaseReconciler) Logger

func (b *BaseReconciler) Logger() logr.Logger

func (*BaseReconciler) Reconcile

func (*BaseReconciler) ReconcileResource

func (b *BaseReconciler) ReconcileResource(ctx context.Context, obj, desired client.Object, mutateFn MutateFn) error

ReconcileResource attempts to mutate the existing state in order to match the desired state. The object's desired state must be reconciled with the existing state inside the passed in callback MutateFn.

obj: Object of the same type as the 'desired' object.

Used to read the resource from the kubernetes cluster.
Could be zero-valued initialized object.

desired: Object representing the desired state

It returns an error.

func (*BaseReconciler) ReconcileResourceStatus

func (b *BaseReconciler) ReconcileResourceStatus(ctx context.Context, objKey client.ObjectKey, obj client.Object, mutator StatusMutator) error

func (*BaseReconciler) RemoveFinalizer

func (b *BaseReconciler) RemoveFinalizer(ctx context.Context, obj client.Object, finalizer string) error

func (*BaseReconciler) Scheme

func (b *BaseReconciler) Scheme() *runtime.Scheme

func (*BaseReconciler) UpdateResource

func (b *BaseReconciler) UpdateResource(ctx context.Context, obj client.Object) error

func (*BaseReconciler) UpdateResourceStatus

func (b *BaseReconciler) UpdateResourceStatus(ctx context.Context, obj client.Object) error

type DeploymentMutateFn

type DeploymentMutateFn func(desired, existing *appsv1.Deployment) bool

DeploymentMutateFn is a function which mutates the existing Deployment into it's desired state.

type MutateFn

type MutateFn func(existing, desired client.Object) (bool, error)

MutateFn is a function which mutates the existing object into it's desired state.

func DeploymentMutator

func DeploymentMutator(opts ...DeploymentMutateFn) MutateFn

func Mutator

func Mutator[T client.Object](opts ...TypedMutateFn[T]) MutateFn

type StatusMeta

type StatusMeta struct {
	// ObservedGeneration reflects the generation of the most recently observed spec.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

func (*StatusMeta) GetObservedGeneration

func (meta *StatusMeta) GetObservedGeneration() int64

func (*StatusMeta) SetObservedGeneration

func (meta *StatusMeta) SetObservedGeneration(o int64)

type StatusMutator

type StatusMutator interface {
	Mutate(obj client.Object) (bool, error)
}

StatusMutator is an interface to hold mutator functions for status updates.

type StatusMutatorFunc

type StatusMutatorFunc func(client.Object) (bool, error)

StatusMutatorFunc is a function adaptor for StatusMutators.

func (StatusMutatorFunc) Mutate

func (s StatusMutatorFunc) Mutate(o client.Object) (bool, error)

Mutate adapts the MutatorFunc to fit through the StatusMutator interface.

type TypedMutateFn

type TypedMutateFn[T client.Object] func(desired, existing T) bool

TypedMutateFn is a function which mutates the existing T into it's desired state.

Jump to

Keyboard shortcuts

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