controllers

package
v0.17.0 Latest Latest
Warning

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

Go to latest
Published: Aug 16, 2023 License: Apache-2.0 Imports: 53 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.

func WithExperimentalSelfManagedClusterUpgrades added in v0.16.0

func WithExperimentalSelfManagedClusterUpgrades(exp bool) ClusterReconcilerOption

WithExperimentalSelfManagedClusterUpgrades allows to enable experimental upgrades for self managed clusters.

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
JackTT - Gopher 🇻🇳