controller

package
v0.16.3 Latest Latest
Warning

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

Go to latest
Published: Aug 3, 2023 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CAPIKubeadmControlPlaneKey added in v0.15.2

func CAPIKubeadmControlPlaneKey(cluster *anywherev1.Cluster) client.ObjectKey

CAPIKubeadmControlPlaneKey generates an ObjectKey for the CAPI Kubeadm control plane owned by the provided eks-a cluster.

func CapiClusterObjectKey added in v0.12.0

func CapiClusterObjectKey(cluster *anywherev1.Cluster) client.ObjectKey

CapiClusterObjectKey generates an ObjectKey for the CAPI cluster owned by the provided eks-a cluster.

func GetCAPICluster added in v0.12.0

func GetCAPICluster(ctx context.Context, client client.Client, cluster *anywherev1.Cluster) (*clusterv1.Cluster, error)

GetCAPICluster reads a cluster-api Cluster for an eks-a cluster using a kube client If the CAPI cluster is not found, the method returns (nil, nil).

func GetKubeadmControlPlane added in v0.15.0

func GetKubeadmControlPlane(ctx context.Context, client client.Client, cluster *anywherev1.Cluster) (*controlplanev1.KubeadmControlPlane, error)

GetKubeadmControlPlane reads a cluster-api KubeadmControlPlane for an eks-a cluster using a kube client If the KubeadmControlPlane is not found, the method returns (nil, nil).

func GetMachineDeployment added in v0.15.0

func GetMachineDeployment(ctx context.Context, client client.Client, machineDeploymentName string) (*clusterv1.MachineDeployment, error)

GetMachineDeployment reads a cluster-api MachineDeployment for an eks-a cluster using a kube client. If the MachineDeployment is not found, the method returns (nil, nil).

func KubeadmControlPlane added in v0.15.0

func KubeadmControlPlane(ctx context.Context, client client.Client, cluster *anywherev1.Cluster) (*controlplanev1.KubeadmControlPlane, error)

KubeadmControlPlane reads a cluster-api KubeadmControlPlane for an eks-a cluster using a kube client.

Types

type Phase

type Phase[O any] func(ctx context.Context, log logr.Logger, obj O) (Result, error)

Phase represents a generic reconciliation phase for a cluster spec.

type PhaseRunner

type PhaseRunner[O any] struct {
	// contains filtered or unexported fields
}

PhaseRunner allows to execute Phases in order.

func NewPhaseRunner

func NewPhaseRunner[O any]() PhaseRunner[O]

NewPhaseRunner creates a new PhaseRunner without any Phases.

func (PhaseRunner[O]) Register

func (r PhaseRunner[O]) Register(phases ...Phase[O]) PhaseRunner[O]

Register adds a phase to the runnner.

func (PhaseRunner[O]) Run

func (r PhaseRunner[O]) Run(ctx context.Context, log logr.Logger, obj O) (Result, error)

Run will execute phases in the order they were registered until a phase returns an error or a Result that requests to an interruption.

type Result

type Result struct {
	Result *ctrl.Result
}

Result represents the result of a reconciliation It allows to express intent for a reconciliation interruption without necessarily requeueing the request.

func ResultWithRequeue

func ResultWithRequeue(after time.Duration) Result

ResultWithReturn creates a new Result that requeues the request after the provided duration.

func ResultWithReturn

func ResultWithReturn() Result

ResultWithReturn creates a new Result that interrupts the reconciliation without requeueing.

func (*Result) Return

func (r *Result) Return() bool

Return evaluates the intent of a Result to interrupt the reconciliation process or not.

func (Result) ToCtrlResult

func (r Result) ToCtrlResult() ctrl.Result

ToCtrlResult converts Result to a controller-runtime result.

Directories

Path Synopsis
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

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