Documentation
¶
Index ¶
Constants ¶
const GardenPurposeMachineClass = "machineclass"
GardenPurposeMachineClass is a constant for the 'machineclass' value in a label.
const McmDeploymentName = "machine-controller-manager"
McmDeploymentName is the name of the deployment that spawn machine-cotroll-manager pods
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
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 ¶
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.