Help us shape the future of Go! Take the 2026 Go Developer Survey

genericactuator

package
v1.11.2 Latest Latest
Warning

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

Go to latest
Published: Oct 15, 2020 License: Apache-2.0, BSD-2-Clause, MIT, + 1 more Imports: 45 Imported by: 19

Documentation

Index

Constants

View Source
const (
	// ReasonRollingUpdateProgressing indicates that a rolling update is in progress
	ReasonRollingUpdateProgressing = "RollingUpdateProgressing"
	// ReasonNoRollingUpdate indicates that no rolling update is currently in progress
	ReasonNoRollingUpdate = "NoRollingUpdate"
)
View Source
const (
	// McmShootResourceName is the name of the managed resource that contains the Machine Controller Manager
	McmShootResourceName = "extension-worker-mcm-shoot"

	// McmDeploymentName is the name of the deployment that spawn machine-cotroll-manager pods
	McmDeploymentName = "machine-controller-manager"
)
View Source
const GardenPurposeMachineClass = "machineclass"

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

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 chart.Interface, 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.

func ReadMachineConfiguration added in v1.8.0

func ReadMachineConfiguration(pool extensionsv1alpha1.WorkerPool) *machinev1alpha1.MachineConfiguration

ReadMachineConfiguration reads the configuration from worker-pool and returns the corresponding configuration of machine-deployment.

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)

	// UpdateMachineImagesStatus will store a list of machine images used by the
	// machines associated with this Worker resource in its provider status.
	// The controller can look up its provider-specific machine image information
	// in case the required version has been removed from the `CloudProfile`.
	UpdateMachineImagesStatus(context.Context) error

	// DeployMachineDependencies is a hook to create external machine dependencies.
	DeployMachineDependencies(context.Context) error

	// CleanupMachineDependencies is a hook to cleanup external machine dependencies.
	CleanupMachineDependencies(context.Context) 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