controllers

package
v0.19.4 Latest Latest
Warning

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

Go to latest
Published: Apr 26, 2024 License: Apache-2.0 Imports: 66 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

func GetNamespacedNameType added in v0.19.0

func GetNamespacedNameType(name, namespace string) types.NamespacedName

GetNamespacedNameType takes name and namespace and returns NamespacedName in namespace/name format.

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 ControlPlaneUpgradeReconciler added in v0.19.0

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

ControlPlaneUpgradeReconciler reconciles a ControlPlaneUpgradeReconciler object.

func NewControlPlaneUpgradeReconciler added in v0.19.0

func NewControlPlaneUpgradeReconciler(client client.Client, remoteClientRegistry RemoteClientRegistry) *ControlPlaneUpgradeReconciler

NewControlPlaneUpgradeReconciler returns a new instance of ControlPlaneUpgradeReconciler.

func (*ControlPlaneUpgradeReconciler) Reconcile added in v0.19.0

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

Reconcile reconciles a ControlPlaneUpgrade object. nolint:gocyclo

func (*ControlPlaneUpgradeReconciler) SetupWithManager added in v0.19.0

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

SetupWithManager sets up the controller with the Manager.

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) WithControlPlaneUpgradeReconciler added in v0.19.0

func (f *Factory) WithControlPlaneUpgradeReconciler() *Factory

WithControlPlaneUpgradeReconciler builds the ControlPlaneUpgrade reconciler.

func (*Factory) WithDockerDatacenterReconciler added in v0.13.0

func (f *Factory) WithDockerDatacenterReconciler() *Factory

WithDockerDatacenterReconciler adds the DockerDatacenterReconciler to the controller factory.

func (*Factory) WithKubeadmControlPlaneReconciler added in v0.19.0

func (f *Factory) WithKubeadmControlPlaneReconciler() *Factory

WithKubeadmControlPlaneReconciler builds the KubeadmControlPlane reconciler.

func (*Factory) WithMachineDeploymentReconciler added in v0.19.0

func (f *Factory) WithMachineDeploymentReconciler() *Factory

WithMachineDeploymentReconciler builds the MachineDeployment reconciler.

func (*Factory) WithMachineDeploymentUpgradeReconciler added in v0.19.0

func (f *Factory) WithMachineDeploymentUpgradeReconciler() *Factory

WithMachineDeploymentUpgradeReconciler builds the WithMachineDeploymentUpgrade reconciler.

func (*Factory) WithNodeUpgradeReconciler added in v0.19.0

func (f *Factory) WithNodeUpgradeReconciler() *Factory

WithNodeUpgradeReconciler builds the WithNodeUpgrade reconciler.

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 KubeadmControlPlaneReconciler added in v0.19.0

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

KubeadmControlPlaneReconciler reconciles a KubeadmControlPlaneReconciler object.

func NewKubeadmControlPlaneReconciler added in v0.19.0

func NewKubeadmControlPlaneReconciler(client client.Client, uncachedClient client.Reader) *KubeadmControlPlaneReconciler

NewKubeadmControlPlaneReconciler returns a new instance of KubeadmControlPlaneReconciler.

func (*KubeadmControlPlaneReconciler) Reconcile added in v0.19.0

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

Reconcile reconciles a KubeadmControlPlane object for in place upgrades.

func (*KubeadmControlPlaneReconciler) SetupWithManager added in v0.19.0

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

SetupWithManager sets up the controller with the Manager.

type MachineDeploymentReconciler added in v0.19.0

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

MachineDeploymentReconciler reconciles a MachineDeploymentReconciler object.

func NewMachineDeploymentReconciler added in v0.19.0

func NewMachineDeploymentReconciler(client client.Client, uncachedClient client.Reader) *MachineDeploymentReconciler

NewMachineDeploymentReconciler returns a new instance of MachineDeploymentReconciler.

func (*MachineDeploymentReconciler) Reconcile added in v0.19.0

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

Reconcile reconciles a MachineDeployment object for in place upgrades.

func (*MachineDeploymentReconciler) SetupWithManager added in v0.19.0

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

SetupWithManager sets up the controller with the Manager.

type MachineDeploymentUpgradeReconciler added in v0.19.0

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

MachineDeploymentUpgradeReconciler reconciles a MachineDeploymentUpgrade object.

func NewMachineDeploymentUpgradeReconciler added in v0.19.0

func NewMachineDeploymentUpgradeReconciler(client client.Client) *MachineDeploymentUpgradeReconciler

NewMachineDeploymentUpgradeReconciler returns a new instance of MachineDeploymentUpgradeReconciler.

func (*MachineDeploymentUpgradeReconciler) Reconcile added in v0.19.0

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

Reconcile reconciles a MachineDeploymentUpgrade object. nolint:gocyclo TODO: Reduce high cyclomatic complexity: https://github.com/aws/eks-anywhere-internal/issues/2119

func (*MachineDeploymentUpgradeReconciler) SetupWithManager added in v0.19.0

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

SetupWithManager sets up the controller with the Manager.

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 NodeUpgradeReconciler added in v0.19.0

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

NodeUpgradeReconciler reconciles a NodeUpgrade object.

func NewNodeUpgradeReconciler added in v0.19.0

func NewNodeUpgradeReconciler(client client.Client, remoteClientRegistry RemoteClientRegistry) *NodeUpgradeReconciler

NewNodeUpgradeReconciler returns a new instance of NodeUpgradeReconciler.

func (*NodeUpgradeReconciler) Reconcile added in v0.19.0

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

Reconcile reconciles a NodeUpgrade object. nolint:gocyclo

func (*NodeUpgradeReconciler) SetupWithManager added in v0.19.0

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

SetupWithManager sets up the controller with the 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
	KubeadmControlPlaneReconciler      *KubeadmControlPlaneReconciler
	MachineDeploymentReconciler        *MachineDeploymentReconciler
	ControlPlaneUpgradeReconciler      *ControlPlaneUpgradeReconciler
	MachineDeploymentUpgradeReconciler *MachineDeploymentUpgradeReconciler
	NodeUpgradeReconciler              *NodeUpgradeReconciler
}

type RemoteClientRegistry added in v0.19.0

type RemoteClientRegistry interface {
	GetClient(ctx context.Context, cluster client.ObjectKey) (client.Client, error)
}

RemoteClientRegistry defines methods for remote cluster controller clients.

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