seedmanagement

package
v1.7.1-0...-23dd39d Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2021 License: Apache-2.0, BSD-2-Clause, MIT, + 1 more Imports: 5 Imported by: 0

Documentation

Overview

Package seedmanagement is the internal version of the API. +groupName=seedmanagement.gardener.cloud

Index

Constants

View Source
const (
	// ManagedSeedShootExists is a condition type for indicating whether the ManagedSeed's shoot exists.
	ManagedSeedShootExists gardencore.ConditionType = "ShootExists"
	// ManagedSeedShootReconciled is a condition type for indicating whether the ManagedSeed's shoot has been reconciled.
	ManagedSeedShootReconciled gardencore.ConditionType = "ShootReconciled"
	// ManagedSeedSeedRegistered is a condition type for indicating whether the ManagedSeed's seed has been registered,
	// either directly or by deploying gardenlet into the shoot.
	ManagedSeedSeedRegistered gardencore.ConditionType = "SeedRegistered"
)
View Source
const GroupName = "seedmanagement.gardener.cloud"

GroupName is the name of the seedmanagement API group.

View Source
const (
	// ManagedSeedShootName is the field selector path for finding
	// the Shoot of a seedmanagement.gardener.cloud/v1alpha1 ManagedSeed.
	ManagedSeedShootName = "spec.shoot.name"
)

Field path constants that are specific to the internal API representation.

Variables

View Source
var (
	// SchemeBuilder is a new Scheme Builder which registers our API.
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	// AddToScheme is a reference to the Scheme Builder's AddToScheme function.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}

SchemeGroupVersion is group version used to register these objects.

Functions

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind.

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns back a Group qualified GroupResource.

Types

type Bootstrap

type Bootstrap string

Bootstrap describes a mechanism for bootstrapping gardenlet connection to the Garden cluster.

const (
	// BootstrapServiceAccount means that a temporary service account should be used for bootstrapping gardenlet connection to the Garden cluster.
	BootstrapServiceAccount Bootstrap = "ServiceAccount"
	// BootstrapToken means that a bootstrap token should be used for bootstrapping gardenlet connection to the Garden cluster.
	BootstrapToken Bootstrap = "BootstrapToken"
	// BootstrapNone means that gardenlet connection to the Garden cluster should not be bootstrapped
	// and the gardenClientConnection.kubeconfig field should be used to connect to the Garden cluster.
	BootstrapNone Bootstrap = "None"
)

type Gardenlet

type Gardenlet struct {
	// Deployment specifies certain gardenlet deployment parameters, such as the number of replicas,
	// the image, etc.
	Deployment *GardenletDeployment
	// Config is the GardenletConfiguration used to configure gardenlet.
	Config runtime.Object
	// Bootstrap is the mechanism that should be used for bootstrapping gardenlet connection to the Garden cluster. One of ServiceAccount, BootstrapToken, None.
	// If set to ServiceAccount or BootstrapToken, a service account or a bootstrap token will be created in the garden cluster and used to compute the bootstrap kubeconfig.
	// If set to None, the gardenClientConnection.kubeconfig field will be used to connect to the Garden cluster. Defaults to BootstrapToken.
	Bootstrap *Bootstrap
	// MergeWithParent specifies whether the GardenletConfiguration of the parent gardenlet
	// should be merged with the specified GardenletConfiguration. Defaults to true.
	MergeWithParent *bool
}

Gardenlet specifies gardenlet deployment parameters and the GardenletConfiguration used to configure gardenlet.

func (*Gardenlet) DeepCopy

func (in *Gardenlet) DeepCopy() *Gardenlet

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Gardenlet.

func (*Gardenlet) DeepCopyInto

func (in *Gardenlet) DeepCopyInto(out *Gardenlet)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GardenletDeployment

type GardenletDeployment struct {
	// ReplicaCount is the number of gardenlet replicas. Defaults to 1.
	ReplicaCount *int32
	// RevisionHistoryLimit is the number of old gardenlet ReplicaSets to retain to allow rollback. Defaults to 1.
	RevisionHistoryLimit *int32
	// ServiceAccountName is the name of the ServiceAccount to use to run gardenlet pods.
	ServiceAccountName *string
	// Image is the gardenlet container image.
	Image *Image
	// Resources are the compute resources required by the gardenlet container.
	Resources *corev1.ResourceRequirements
	// PodLabels are the labels on gardenlet pods.
	PodLabels map[string]string
	// PodAnnotations are the annotations on gardenlet pods.
	PodAnnotations map[string]string
	// AdditionalVolumes is the list of additional volumes that should be mounted by gardenlet containers.
	AdditionalVolumes []corev1.Volume
	// AdditionalVolumeMounts is the list of additional pod volumes to mount into the gardenlet container's filesystem.
	AdditionalVolumeMounts []corev1.VolumeMount
	// Env is the list of environment variables to set in the gardenlet container.
	Env []corev1.EnvVar
	// VPA specifies whether to enable VPA for gardenlet. Defaults to true.
	VPA *bool
}

GardenletDeployment specifies certain gardenlet deployment parameters, such as the number of replicas, the image, etc.

func (*GardenletDeployment) DeepCopy

func (in *GardenletDeployment) DeepCopy() *GardenletDeployment

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GardenletDeployment.

func (*GardenletDeployment) DeepCopyInto

func (in *GardenletDeployment) DeepCopyInto(out *GardenletDeployment)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Image

type Image struct {
	// Repository is the image repository.
	Repository *string
	// Tag is the image tag.
	Tag *string
	// PullPolicy is the image pull policy. One of Always, Never, IfNotPresent.
	// Defaults to Always if latest tag is specified, or IfNotPresent otherwise.
	PullPolicy *corev1.PullPolicy
}

Image specifies container image parameters.

func (*Image) DeepCopy

func (in *Image) DeepCopy() *Image

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Image.

func (*Image) DeepCopyInto

func (in *Image) DeepCopyInto(out *Image)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ManagedSeed

type ManagedSeed struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Specification of the ManagedSeed.
	Spec ManagedSeedSpec
	// Most recently observed status of the ManagedSeed.
	Status ManagedSeedStatus
}

ManagedSeed represents a Shoot that is registered as Seed.

func (*ManagedSeed) DeepCopy

func (in *ManagedSeed) DeepCopy() *ManagedSeed

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedSeed.

func (*ManagedSeed) DeepCopyInto

func (in *ManagedSeed) DeepCopyInto(out *ManagedSeed)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ManagedSeed) DeepCopyObject

func (in *ManagedSeed) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ManagedSeedList

type ManagedSeedList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of ManagedSeeds.
	Items []ManagedSeed
}

ManagedSeedList is a list of ManagedSeed objects.

func (*ManagedSeedList) DeepCopy

func (in *ManagedSeedList) DeepCopy() *ManagedSeedList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedSeedList.

func (*ManagedSeedList) DeepCopyInto

func (in *ManagedSeedList) DeepCopyInto(out *ManagedSeedList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ManagedSeedList) DeepCopyObject

func (in *ManagedSeedList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ManagedSeedSet

type ManagedSeedSet struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Spec defines the desired identities of ManagedSeeds and Shoots in this set.
	Spec ManagedSeedSetSpec
	// Status is the current status of ManagedSeeds and Shoots in this ManagedSeedSet.
	Status ManagedSeedSetStatus
}

ManagedSeedSet represents a set of identical ManagedSeeds.

func (*ManagedSeedSet) DeepCopy

func (in *ManagedSeedSet) DeepCopy() *ManagedSeedSet

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedSeedSet.

func (*ManagedSeedSet) DeepCopyInto

func (in *ManagedSeedSet) DeepCopyInto(out *ManagedSeedSet)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ManagedSeedSet) DeepCopyObject

func (in *ManagedSeedSet) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ManagedSeedSetList

type ManagedSeedSetList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of ManagedSeedSets.
	Items []ManagedSeedSet
}

ManagedSeedSetList is a list of ManagedSeed objects.

func (*ManagedSeedSetList) DeepCopy

func (in *ManagedSeedSetList) DeepCopy() *ManagedSeedSetList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedSeedSetList.

func (*ManagedSeedSetList) DeepCopyInto

func (in *ManagedSeedSetList) DeepCopyInto(out *ManagedSeedSetList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ManagedSeedSetList) DeepCopyObject

func (in *ManagedSeedSetList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ManagedSeedSetSpec

type ManagedSeedSetSpec struct {
	// Replicas is the desired number of replicas of the given Template. Defaults to 1.
	Replicas *int32
	// Selector is a label query over ManagedSeeds and Shoots that should match the replica count.
	// It must match the ManagedSeeds and Shoots template's labels.
	Selector metav1.LabelSelector
	// Template describes the ManagedSeed that will be created if insufficient replicas are detected.
	// Each ManagedSeed created / updated by the ManagedSeedSet will fulfill this template.
	Template ManagedSeedTemplate
	// ShootTemplate describes the Shoot that will be created if insufficient replicas are detected for hosting the corresponding ManagedSeed.
	// Each Shoot created / updated by the ManagedSeedSet will fulfill this template.
	ShootTemplate gardencore.ShootTemplate
	// UpdateStrategy specifies the UpdateStrategy that will be
	// employed to update ManagedSeeds / Shoots in the ManagedSeedSet when a revision is made to
	// Template / ShootTemplate.
	UpdateStrategy *UpdateStrategy
	// RevisionHistoryLimit is the maximum number of revisions that will
	// be maintained in the ManagedSeedSet's revision history. Defaults to 10.
	RevisionHistoryLimit *int32
}

ManagedSeedSetSpec is the specification of a ManagedSeedSet.

func (*ManagedSeedSetSpec) DeepCopy

func (in *ManagedSeedSetSpec) DeepCopy() *ManagedSeedSetSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedSeedSetSpec.

func (*ManagedSeedSetSpec) DeepCopyInto

func (in *ManagedSeedSetSpec) DeepCopyInto(out *ManagedSeedSetSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ManagedSeedSetStatus

type ManagedSeedSetStatus struct {
	// ObservedGeneration is the most recent generation observed for this ManagedSeedSet. It corresponds to the
	// ManagedSeedSet's generation, which is updated on mutation by the API Server.
	ObservedGeneration int64
	// Replicas is the number of replicas (ManagedSeeds and their corresponding Shoots) created by the ManagedSeedSet controller.
	Replicas int32
	// ReadyReplicas is the number of ManagedSeeds created by the ManagedSeedSet controller that have a Ready Condition.
	ReadyReplicas int32
	// NextReplicaNumber is the ordinal number that will be assigned to the next replica of the ManagedSeedSet.
	NextReplicaNumber int32
	// CurrentReplicas is the number of ManagedSeeds created by the ManagedSeedSet controller from the ManagedSeedSet version
	// indicated by CurrentRevision.
	CurrentReplicas int32
	// UpdatedReplicas is the number of ManagedSeeds created by the ManagedSeedSet controller from the ManagedSeedSet version
	// indicated by UpdateRevision.
	UpdatedReplicas int32
	// CurrentRevision, if not empty, indicates the version of the ManagedSeedSet used to generate ManagedSeeds with smaller
	// ordinal numbers during updates.
	CurrentRevision string
	// UpdateRevision, if not empty, indicates the version of the ManagedSeedSet used to generate ManagedSeeds with larger
	// ordinal numbers during updates
	UpdateRevision string
	// CollisionCount is the count of hash collisions for the ManagedSeedSet. The ManagedSeedSet controller
	// uses this field as a collision avoidance mechanism when it needs to create the name for the
	// newest ControllerRevision.
	CollisionCount *int32
	// Conditions represents the latest available observations of a ManagedSeedSet's current state.
	Conditions []gardencore.Condition
	// PendingReplica, if not empty, indicates the replica that is currently pending creation, update, or deletion.
	// This replica is in a state that requires the controller to wait for it to change before advancing to the next replica.
	PendingReplica *PendingReplica
}

ManagedSeedSetStatus represents the current state of a ManagedSeedSet.

func (*ManagedSeedSetStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedSeedSetStatus.

func (*ManagedSeedSetStatus) DeepCopyInto

func (in *ManagedSeedSetStatus) DeepCopyInto(out *ManagedSeedSetStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ManagedSeedSpec

type ManagedSeedSpec struct {
	// Shoot references a Shoot that should be registered as Seed.
	Shoot *Shoot
	// SeedTemplate is a template for a Seed object, that should be used to register a given cluster as a Seed.
	// Either SeedTemplate or Gardenlet must be specified. When Seed is specified, the ManagedSeed controller will not deploy a gardenlet into the cluster
	// and an existing gardenlet reconciling the new Seed is required.
	SeedTemplate *gardencore.SeedTemplate
	// Gardenlet specifies that the ManagedSeed controller should deploy a gardenlet into the cluster
	// with the given deployment parameters and GardenletConfiguration.
	Gardenlet *Gardenlet
}

ManagedSeedSpec is the specification of a ManagedSeed.

func (*ManagedSeedSpec) DeepCopy

func (in *ManagedSeedSpec) DeepCopy() *ManagedSeedSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedSeedSpec.

func (*ManagedSeedSpec) DeepCopyInto

func (in *ManagedSeedSpec) DeepCopyInto(out *ManagedSeedSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ManagedSeedStatus

type ManagedSeedStatus struct {
	// Conditions represents the latest available observations of a ManagedSeed's current state.
	Conditions []gardencore.Condition
	// ObservedGeneration is the most recent generation observed for this ManagedSeed. It corresponds to the
	// ManagedSeed's generation, which is updated on mutation by the API Server.
	ObservedGeneration int64
}

ManagedSeedStatus is the status of a ManagedSeed.

func (*ManagedSeedStatus) DeepCopy

func (in *ManagedSeedStatus) DeepCopy() *ManagedSeedStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedSeedStatus.

func (*ManagedSeedStatus) DeepCopyInto

func (in *ManagedSeedStatus) DeepCopyInto(out *ManagedSeedStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ManagedSeedTemplate

type ManagedSeedTemplate struct {
	// Standard object metadata.
	metav1.ObjectMeta
	// Specification of the desired behavior of the ManagedSeed.
	Spec ManagedSeedSpec
}

ManagedSeedTemplate is a template for creating a ManagedSeed object.

func (*ManagedSeedTemplate) DeepCopy

func (in *ManagedSeedTemplate) DeepCopy() *ManagedSeedTemplate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedSeedTemplate.

func (*ManagedSeedTemplate) DeepCopyInto

func (in *ManagedSeedTemplate) DeepCopyInto(out *ManagedSeedTemplate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PendingReplica

type PendingReplica struct {
	// Name is the replica name.
	Name string
	// Reason is the reason for the replica to be pending.
	Reason PendingReplicaReason
	// Since is the moment in time since the replica is pending with the specified reason.
	Since metav1.Time
	// Retries is the number of times the shoot operation (reconcile or delete) has been retried after having failed.
	// Only applicable if Reason is ShootReconciling or ShootDeleting.
	Retries *int32
}

PendingReplica contains information about a replica that is currently pending creation, update, or deletion.

func (*PendingReplica) DeepCopy

func (in *PendingReplica) DeepCopy() *PendingReplica

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PendingReplica.

func (*PendingReplica) DeepCopyInto

func (in *PendingReplica) DeepCopyInto(out *PendingReplica)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PendingReplicaReason

type PendingReplicaReason string

PendingReplicaReason is a string enumeration type that enumerates all possible reasons for a replica to be pending.

const (
	// ShootReconcilingReason indicates that the replica's shoot is reconciling.
	ShootReconcilingReason PendingReplicaReason = "ShootReconciling"
	// ShootDeletingReason indicates that the replica's shoot is deleting.
	ShootDeletingReason PendingReplicaReason = "ShootDeleting"
	// ShootReconcileFailedReason indicates that the reconciliation of this replica's shoot has failed.
	ShootReconcileFailedReason PendingReplicaReason = "ShootReconcileFailed"
	// ShootDeleteFailedReason indicates that the deletion of tis replica's shoot has failed.
	ShootDeleteFailedReason PendingReplicaReason = "ShootDeleteFailed"
	// ManagedSeedPreparingReason indicates that the replica's managed seed is preparing.
	ManagedSeedPreparingReason PendingReplicaReason = "ManagedSeedPreparing"
	// ManagedSeedDeletingReason indicates that the replica's managed seed is deleting.
	ManagedSeedDeletingReason PendingReplicaReason = "ManagedSeedDeleting"
	// SeedNotReadyReason indicates that the replica's seed is not ready.
	SeedNotReadyReason PendingReplicaReason = "SeedNotReady"
	// ShootNotHealthyReason indicates that the replica's shoot is not healthy.
	ShootNotHealthyReason PendingReplicaReason = "ShootNotHealthy"
)

type RollingUpdateStrategy

type RollingUpdateStrategy struct {
	// Partition indicates the ordinal at which the ManagedSeedSet should be partitioned. Defaults to 0.
	Partition *int32
}

RollingUpdateStrategy is used to communicate parameter for RollingUpdateStrategyType.

func (*RollingUpdateStrategy) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RollingUpdateStrategy.

func (*RollingUpdateStrategy) DeepCopyInto

func (in *RollingUpdateStrategy) DeepCopyInto(out *RollingUpdateStrategy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Shoot

type Shoot struct {
	// Name is the name of the Shoot that will be registered as Seed.
	Name string
}

Shoot identifies the Shoot that should be registered as Seed.

func (*Shoot) DeepCopy

func (in *Shoot) DeepCopy() *Shoot

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Shoot.

func (*Shoot) DeepCopyInto

func (in *Shoot) DeepCopyInto(out *Shoot)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UpdateStrategy

type UpdateStrategy struct {
	// Type indicates the type of the UpdateStrategy. Defaults to RollingUpdate.
	Type *UpdateStrategyType
	// RollingUpdate is used to communicate parameters when Type is RollingUpdateStrategyType.
	RollingUpdate *RollingUpdateStrategy
}

UpdateStrategy specifies the strategy that the ManagedSeedSet controller will use to perform updates. It includes any additional parameters necessary to perform the update for the indicated strategy.

func (*UpdateStrategy) DeepCopy

func (in *UpdateStrategy) DeepCopy() *UpdateStrategy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpdateStrategy.

func (*UpdateStrategy) DeepCopyInto

func (in *UpdateStrategy) DeepCopyInto(out *UpdateStrategy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UpdateStrategyType

type UpdateStrategyType string

UpdateStrategyType is a string enumeration type that enumerates all possible update strategies for the ManagedSeedSet controller.

const (
	// RollingUpdateStrategyType indicates that update will be
	// applied to all ManagedSeeds / Shoots in the ManagedSeedSet with respect to the ManagedSeedSet
	// ordering constraints.
	RollingUpdateStrategyType UpdateStrategyType = "RollingUpdate"
)

Directories

Path Synopsis
Package v1alpha1 is a version of the API.
Package v1alpha1 is a version of the API.

Jump to

Keyboard shortcuts

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