gardenletdeployer

package
v1.102.0 Latest Latest
Warning

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

Go to latest
Published: Aug 23, 2024 License: Apache-2.0 Imports: 36 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// GardenletDefaultKubeconfigSecretName is the default name for the field in the Gardenlet component configuration
	// .gardenClientConnection.KubeconfigSecret.Name
	GardenletDefaultKubeconfigSecretName = "gardenlet-kubeconfig" // #nosec G101 -- No credential.
	// GardenletDefaultKubeconfigBootstrapSecretName is the default name for the field in the Gardenlet component configuration
	// .gardenClientConnection.BootstrapKubeconfig.Name
	GardenletDefaultKubeconfigBootstrapSecretName = "gardenlet-kubeconfig-bootstrap" // #nosec G101 -- No credential.
)

Variables

This section is empty.

Functions

func GetSeed

func GetSeed(ctx context.Context, gardenClient client.Client, seedName string) (*gardencorev1beta1.Seed, error)

GetSeed returns the seed with the given name if found. If not, nil is returned.

func PrepareGardenletChartValues

func PrepareGardenletChartValues(
	ctx context.Context,
	log logr.Logger,
	gardenClient client.Client,
	gardenRESTConfig *rest.Config,
	targetClusterClient client.Client,
	recorder record.EventRecorder,
	obj client.Object,
	seed *gardencorev1beta1.Seed,
	vp ValuesHelper,
	bootstrap seedmanagementv1alpha1.Bootstrap,
	gardenletDeployment *seedmanagementv1alpha1.GardenletDeployment,
	gardenletConfig *gardenletv1alpha1.GardenletConfiguration,
	gardenNamespaceTargetCluster string,
) (
	map[string]any,
	error,
)

PrepareGardenletChartValues prepares the gardenlet chart values based on the config.

Types

type Actuator

type Actuator struct {
	GardenConfig            *rest.Config
	GardenAPIReader         client.Reader
	GardenClient            client.Client
	GetTargetClientFunc     func(ctx context.Context) (kubernetes.Interface, error)
	CheckIfVPAAlreadyExists func(ctx context.Context) (bool, error)
	GetInfrastructureSecret func(ctx context.Context) (*corev1.Secret, error)
	GetTargetDomain         func() string
	ApplyGardenletChart     func(ctx context.Context, targetChartApplier kubernetes.ChartApplier, values map[string]interface{}) error
	DeleteGardenletChart    func(ctx context.Context, targetChartApplier kubernetes.ChartApplier, values map[string]interface{}) error
	Clock                   clock.Clock
	ValuesHelper            ValuesHelper
	Recorder                record.EventRecorder
	GardenNamespaceTarget   string
}

Actuator is a concrete implementation of Interface.

func (*Actuator) Delete

func (a *Actuator) Delete(
	ctx context.Context,
	log logr.Logger,
	obj client.Object,
	conditions []gardencorev1beta1.Condition,
	gardenletDeployment *seedmanagementv1alpha1.GardenletDeployment,
	rawComponentConfig *runtime.RawExtension,
	bootstrap seedmanagementv1alpha1.Bootstrap,
	mergeWithParent bool,
) (
	[]gardencorev1beta1.Condition,
	bool,
	bool,
	error,
)

Delete deletes the gardenlet.

func (*Actuator) Reconcile

func (a *Actuator) Reconcile(
	ctx context.Context,
	log logr.Logger,
	obj client.Object,
	conditions []gardencorev1beta1.Condition,
	gardenletDeployment *seedmanagementv1alpha1.GardenletDeployment,
	rawComponentConfig *runtime.RawExtension,
	bootstrap seedmanagementv1alpha1.Bootstrap,
	mergeWithParent bool,
) (
	[]gardencorev1beta1.Condition,
	error,
)

Reconcile deploys or updates gardenlets.

type Interface

Interface deploys gardenlets into target clusters.

type ValuesHelper

type ValuesHelper interface {
	// MergeGardenletDeployment merges the given GardenletDeployment with the values from the parent gardenlet.
	MergeGardenletDeployment(*seedmanagementv1alpha1.GardenletDeployment) (*seedmanagementv1alpha1.GardenletDeployment, error)
	// MergeGardenletConfiguration merges the given GardenletConfiguration with the parent GardenletConfiguration.
	MergeGardenletConfiguration(config *gardenletv1alpha1.GardenletConfiguration) (*gardenletv1alpha1.GardenletConfiguration, error)
	// GetGardenletChartValues computes the values to be used when applying the gardenlet chart.
	GetGardenletChartValues(*seedmanagementv1alpha1.GardenletDeployment, *gardenletv1alpha1.GardenletConfiguration, string) (map[string]any, error)
}

ValuesHelper provides methods for merging GardenletDeployment and GardenletConfiguration with parent, as well as computing the values to be used when applying the gardenlet chart.

func NewValuesHelper

func NewValuesHelper(config *config.GardenletConfiguration) ValuesHelper

NewValuesHelper creates a new ValuesHelper with the given parent GardenletConfiguration and image vector.

Directories

Path Synopsis
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.

Jump to

Keyboard shortcuts

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