genericactuator

package
v1.7.0 Latest Latest
Warning

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

Go to latest
Published: Jul 3, 2020 License: Apache-2.0, BSD-2-Clause, MIT, + 1 more Imports: 40 Imported by: 18

Documentation

Index

Constants

View Source
const GardenPurposeMachineClass = "machineclass"

GardenPurposeMachineClass is a constant for the 'machineclass' value in a label.

View Source
const McmDeploymentName = "machine-controller-manager"

McmDeploymentName is the name of the deployment that spawn machine-cotroll-manager pods

View Source
const McmShootResourceName = "extension-worker-mcm-shoot"

McmShootResourceName is the name of the managed resource that contains the Machine Controller Manager

Variables

This section is empty.

Functions

func CleanupLeakedClusterRoles added in v1.5.0

func CleanupLeakedClusterRoles(ctx context.Context, c client.Client, providerName string) error

CleanupLeakedClusterRoles cleans up leaked ClusterRoles from the system that were created earlier without owner references. See https://github.com/gardener-attic/gardener-extensions/pull/378/files and https://github.com/gardener/gardener/issues/2144. TODO: This code can be removed in a future version again.

func NewActuator

func NewActuator(logger logr.Logger, delegateFactory DelegateFactory, mcmName string, mcmSeedChart, mcmShootChart util.Chart, imageVector imagevector.ImageVector, chartRendererFactory extensionscontroller.ChartRendererFactory) worker.Actuator

NewActuator creates a new Actuator that reconciles Worker resources of Gardener's `extensions.gardener.cloud` API group. It provides a default implementation that allows easier integration of providers.

Types

type DelegateFactory

type DelegateFactory interface {
	// WorkerDelegate returns a worker delegate interface that is used for the Worker reconciliation
	// based on this generic actuator.
	WorkerDelegate(context.Context, *extensionsv1alpha1.Worker, *extensionscontroller.Cluster) (WorkerDelegate, error)
}

DelegateFactory acts upon Worker resources.

type ReplicaCount

type ReplicaCount func() (int32, error)

ReplicaCount determines the number of replicas.

type WorkerDelegate

type WorkerDelegate interface {
	// GetMachineControllerManagerChart should return the the chart and the values for the machine-controller-manager
	// deployment.
	GetMachineControllerManagerChartValues(context.Context) (map[string]interface{}, error)
	// GetMachineControllerManagerShootChart should return the values to render the chart containing resources
	// that are required by the machine-controller-manager inside the shoot cluster itself.
	GetMachineControllerManagerShootChartValues(context.Context) (map[string]interface{}, error)

	// MachineClassKind yields the name of the provider specific machine class.
	MachineClassKind() string
	// MachineClassList yields a newly initialized machine class list object.
	MachineClassList() runtime.Object
	// DeployMachineClasses generates and creates the provider specific machine classes.
	DeployMachineClasses(context.Context) error

	// GenerateMachineDeployments generates the configuration for the desired machine deployments.
	GenerateMachineDeployments(context.Context) (worker.MachineDeployments, error)

	// GetMachineImages returns the list of used machine images for this `Worker` resource. It will be stored in the
	// `.status.providerStatus` field of the `Worker` resource such that the controller can look up its provider-specific
	// machine image information in case the required version has been removed from its componentconfig.
	GetMachineImages(context.Context) (runtime.Object, error)
}

WorkerDelegate is used for the Worker reconciliation.

Jump to

Keyboard shortcuts

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