controllers

package
v0.18.4 Latest Latest
Warning

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

Go to latest
Published: Jan 12, 2024 License: Apache-2.0 Imports: 55 Imported by: 0

Documentation

Index

Constants

View Source
const (

	// ClusterFinalizerName is the finalizer added to clusters to handle deletion.
	ClusterFinalizerName = "clusters.anywhere.eks.amazonaws.com/finalizer"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AWSIamConfigReconciler added in v0.13.0

type AWSIamConfigReconciler interface {
	EnsureCASecret(ctx context.Context, logger logr.Logger, cluster *anywherev1.Cluster) (controller.Result, error)
	Reconcile(ctx context.Context, logger logr.Logger, cluster *anywherev1.Cluster) (controller.Result, error)
	ReconcileDelete(ctx context.Context, logger logr.Logger, cluster *anywherev1.Cluster) error
}

AWSIamConfigReconciler manages aws-iam-authenticator installation and configuration for an eks-a cluster.

type CloudStackDatacenterReconciler added in v0.15.0

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

CloudStackDatacenterReconciler reconciles a CloudStackDatacenterConfig object.

func NewCloudStackDatacenterReconciler added in v0.15.0

func NewCloudStackDatacenterReconciler(client client.Client, validatorRegistry cloudstack.ValidatorRegistry) *CloudStackDatacenterReconciler

NewCloudStackDatacenterReconciler creates a new instance of the CloudStackDatacenterReconciler struct.

func (*CloudStackDatacenterReconciler) Reconcile added in v0.15.0

func (r *CloudStackDatacenterReconciler) Reconcile(ctx context.Context, req ctrl.Request) (_ ctrl.Result, reterr error)

Reconcile implements the reconcile.Reconciler interface.

func (*CloudStackDatacenterReconciler) SetupWithManager added in v0.15.0

func (r *CloudStackDatacenterReconciler) SetupWithManager(mgr ctrl.Manager) error

SetupWithManager sets up the controller with the Manager.

type ClusterReconciler

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

ClusterReconciler reconciles a Cluster object.

func NewClusterReconciler

func NewClusterReconciler(client client.Client, registry ProviderClusterReconcilerRegistry, awsIamAuth AWSIamConfigReconciler, clusterValidator ClusterValidator, pkgs PackagesClient, machineHealthCheck MachineHealthCheckReconciler, opts ...ClusterReconcilerOption) *ClusterReconciler

NewClusterReconciler constructs a new ClusterReconciler.

func (*ClusterReconciler) Reconcile

func (r *ClusterReconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, reterr error)

Reconcile reconciles a cluster object. nolint:gocyclo TODO: Reduce high cycomatic complexity. https://github.com/aws/eks-anywhere-internal/issues/1449

func (*ClusterReconciler) SetupWithManager

func (r *ClusterReconciler) SetupWithManager(mgr ctrl.Manager, log logr.Logger) error

SetupWithManager sets up the controller with the Manager.

type ClusterReconcilerOption added in v0.16.0

type ClusterReconcilerOption func(*ClusterReconciler)

ClusterReconcilerOption allows to configure the ClusterReconciler.

type ClusterValidator added in v0.15.0

type ClusterValidator interface {
	ValidateManagementClusterName(ctx context.Context, log logr.Logger, cluster *anywherev1.Cluster) error
}

ClusterValidator runs cluster level preflight validations before it goes to provider reconciler.

type DockerDatacenterReconciler added in v0.13.0

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

DockerDatacenterReconciler reconciles a DockerDatacenterConfig object.

func NewDockerDatacenterReconciler added in v0.13.0

func NewDockerDatacenterReconciler(client client.Client) *DockerDatacenterReconciler

NewDockerDatacenterReconciler creates a new instance of the DockerDatacenterReconciler struct.

type Factory

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

func NewFactory

func NewFactory(logger logr.Logger, manager Manager) *Factory

func (*Factory) Build

func (f *Factory) Build(ctx context.Context) (*Reconcilers, error)

func (*Factory) Close added in v0.15.0

func (f *Factory) Close(ctx context.Context) error

Close cleans up any open resources from the created dependencies.

func (*Factory) WithCloudStackDatacenterReconciler added in v0.15.0

func (f *Factory) WithCloudStackDatacenterReconciler() *Factory

WithCloudStackDatacenterReconciler adds the CloudStackDatacenterReconciler to the controller factory.

func (*Factory) WithClusterReconciler

func (f *Factory) WithClusterReconciler(capiProviders []clusterctlv1.Provider, opts ...ClusterReconcilerOption) *Factory

WithClusterReconciler builds the cluster reconciler.

func (*Factory) WithDockerDatacenterReconciler added in v0.13.0

func (f *Factory) WithDockerDatacenterReconciler() *Factory

WithDockerDatacenterReconciler adds the DockerDatacenterReconciler to the controller factory.

func (*Factory) WithNutanixDatacenterReconciler added in v0.15.0

func (f *Factory) WithNutanixDatacenterReconciler() *Factory

WithNutanixDatacenterReconciler adds the NutanixDatacenterReconciler to the controller factory.

func (*Factory) WithProviderClusterReconcilerRegistry

func (f *Factory) WithProviderClusterReconcilerRegistry(capiProviders []clusterctlv1.Provider) *Factory

func (*Factory) WithSnowMachineConfigReconciler

func (f *Factory) WithSnowMachineConfigReconciler() *Factory

func (*Factory) WithTinkerbellDatacenterReconciler added in v0.14.0

func (f *Factory) WithTinkerbellDatacenterReconciler() *Factory

WithTinkerbellDatacenterReconciler adds the TinkerbellDatacenterReconciler to the controller factory.

func (*Factory) WithVSphereDatacenterReconciler

func (f *Factory) WithVSphereDatacenterReconciler() *Factory

type MachineHealthCheckReconciler added in v0.17.0

type MachineHealthCheckReconciler interface {
	Reconcile(ctx context.Context, logger logr.Logger, cluster *anywherev1.Cluster) error
}

MachineHealthCheckReconciler manages machine health checks for an eks-a cluster.

type Manager

type Manager = manager.Manager

type NutanixDatacenterReconciler added in v0.15.0

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

NutanixDatacenterReconciler reconciles a NutanixDatacenterConfig object.

func NewNutanixDatacenterReconciler added in v0.15.0

func NewNutanixDatacenterReconciler(client client.Client, defaulter *nutanix.Defaulter) *NutanixDatacenterReconciler

NewNutanixDatacenterReconciler constructs a new NutanixDatacenterReconciler.

func (*NutanixDatacenterReconciler) Reconcile added in v0.15.0

func (r *NutanixDatacenterReconciler) Reconcile(ctx context.Context, request ctrl.Request) (ctrl.Result, error)

Reconcile reconciles a NutanixDatacenterConfig object.

func (*NutanixDatacenterReconciler) SetupWithManager added in v0.15.0

func (r *NutanixDatacenterReconciler) SetupWithManager(mgr ctrl.Manager) error

SetupWithManager sets up the controller with the Manager.

type PackagesClient added in v0.15.0

type PackagesClient interface {
	EnableFullLifecycle(ctx context.Context, log logr.Logger, clusterName, kubeConfig string, chart *v1alpha1.Image, registry *registrymirror.RegistryMirror, options ...curatedpackages.PackageControllerClientOpt) error
	ReconcileDelete(context.Context, logr.Logger, curatedpackages.KubeDeleter, *anywherev1.Cluster) error
	Reconcile(context.Context, logr.Logger, client.Client, *anywherev1.Cluster) error
}

PackagesClient handles curated packages operations from within the cluster controller.

type ProviderClusterReconcilerRegistry

type ProviderClusterReconcilerRegistry interface {
	Get(datacenterKind string) clusters.ProviderClusterReconciler
}

type Reconcilers

type Reconcilers struct {
	ClusterReconciler              *ClusterReconciler
	DockerDatacenterReconciler     *DockerDatacenterReconciler
	VSphereDatacenterReconciler    *VSphereDatacenterReconciler
	SnowMachineConfigReconciler    *SnowMachineConfigReconciler
	TinkerbellDatacenterReconciler *TinkerbellDatacenterReconciler
	CloudStackDatacenterReconciler *CloudStackDatacenterReconciler
	NutanixDatacenterReconciler    *NutanixDatacenterReconciler
}

type SnowMachineConfigReconciler

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

SnowMachineConfigReconciler reconciles a SnowMachineConfig object.

func NewSnowMachineConfigReconciler

func NewSnowMachineConfigReconciler(client client.Client, validator Validator) *SnowMachineConfigReconciler

NewSnowMachineConfigReconciler constructs a new SnowMachineConfigReconciler.

func (*SnowMachineConfigReconciler) Reconcile

func (r *SnowMachineConfigReconciler) Reconcile(ctx context.Context, req ctrl.Request) (_ ctrl.Result, reterr error)

TODO: add here kubebuilder permissions as needed. Reconcile implements the reconcile.Reconciler interface.

func (*SnowMachineConfigReconciler) SetupWithManager

func (r *SnowMachineConfigReconciler) SetupWithManager(mgr ctrl.Manager) error

SetupWithManager sets up the controller with the Manager.

type TinkerbellDatacenterReconciler added in v0.14.0

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

TinkerbellDatacenterReconciler reconciles a TinkerbellDatacenterConfig object.

func NewTinkerbellDatacenterReconciler added in v0.14.0

func NewTinkerbellDatacenterReconciler(client client.Client) *TinkerbellDatacenterReconciler

NewTinkerbellDatacenterReconciler creates a new instance of the TinkerbellDatacenterReconciler struct.

func (*TinkerbellDatacenterReconciler) Reconcile added in v0.14.0

func (r *TinkerbellDatacenterReconciler) Reconcile(ctx context.Context, req ctrl.Request) (_ ctrl.Result, reterr error)

Reconcile implements the reconcile.Reconciler interface.

func (*TinkerbellDatacenterReconciler) SetupWithManager added in v0.14.0

func (r *TinkerbellDatacenterReconciler) SetupWithManager(mgr ctrl.Manager) error

SetupWithManager sets up the controller with the Manager.

type VSphereDatacenterReconciler

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

VSphereDatacenterReconciler reconciles a VSphereDatacenterConfig object.

func NewVSphereDatacenterReconciler

func NewVSphereDatacenterReconciler(client client.Client, validator *vsphere.Validator, defaulter *vsphere.Defaulter) *VSphereDatacenterReconciler

NewVSphereDatacenterReconciler constructs a new VSphereDatacenterReconciler.

func (*VSphereDatacenterReconciler) Reconcile

func (r *VSphereDatacenterReconciler) Reconcile(ctx context.Context, req ctrl.Request) (_ ctrl.Result, reterr error)

TODO: add here kubebuilder permissions as neeeded. Reconcile implements the reconcile.Reconciler interface.

func (*VSphereDatacenterReconciler) SetupWithManager

func (r *VSphereDatacenterReconciler) SetupWithManager(mgr ctrl.Manager) error

SetupWithManager sets up the controller with the Manager.

type Validator

type Validator interface {
	ValidateEC2SshKeyNameExists(ctx context.Context, m *anywherev1.SnowMachineConfig) error
	ValidateEC2ImageExistsOnDevice(ctx context.Context, m *anywherev1.SnowMachineConfig) error
}

Directories

Path Synopsis
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