Documentation ¶
Index ¶
- type Builder
- func (b *Builder) Build(ctx context.Context, clientMap clientmap.ClientMap) (*Operation, error)
- func (b *Builder) WithConfig(cfg *config.GardenletConfiguration) *Builder
- func (b *Builder) WithExposureClassHandlerFromConfig(cfg *config.GardenletConfiguration) *Builder
- func (b *Builder) WithGarden(g *garden.Garden) *Builder
- func (b *Builder) WithGardenClusterIdentity(gardenClusterIdentity string) *Builder
- func (b *Builder) WithGardenFrom(reader client.Reader, namespace string) *Builder
- func (b *Builder) WithGardenerInfo(gardenerInfo *gardencorev1beta1.Gardener) *Builder
- func (b *Builder) WithImageVector(imageVector imagevector.ImageVector) *Builder
- func (b *Builder) WithLogger(log logr.Logger) *Builder
- func (b *Builder) WithSecrets(secrets map[string]*corev1.Secret) *Builder
- func (b *Builder) WithSeed(s *seed.Seed) *Builder
- func (b *Builder) WithSeedFrom(gardenClient client.Reader, seedName string) *Builder
- func (b *Builder) WithShoot(s *shootpkg.Shoot) *Builder
- func (b *Builder) WithShootFromCluster(gardenClient, seedClient kubernetes.Interface, s *gardencorev1beta1.Shoot) *Builder
- type Operation
- func (o *Operation) AllSecretKeys() []string
- func (o *Operation) CleanShootTaskError(ctx context.Context, taskID string)
- func (o *Operation) ComputeAlertManagerHost() string
- func (o *Operation) ComputeAlertManagerHosts() []string
- func (o *Operation) ComputeGrafanaHosts() []string
- func (o *Operation) ComputeGrafanaOperatorsHost() string
- func (o *Operation) ComputeGrafanaUsersHost() string
- func (o *Operation) ComputeIngressHost(prefix string) string
- func (o *Operation) ComputeLokiHost() string
- func (o *Operation) ComputeLokiHosts() []string
- func (o *Operation) ComputePrometheusHost() string
- func (o *Operation) ComputePrometheusHosts() []string
- func (o *Operation) DeleteClusterResourceFromSeed(ctx context.Context) error
- func (o *Operation) DeleteSecret(key string)
- func (o *Operation) DeleteShootState(ctx context.Context) error
- func (o *Operation) EnsureShootStateExists(ctx context.Context) error
- func (o *Operation) GetSecretKeysOfRole(kind string) []string
- func (o *Operation) GetShootState() *gardencorev1alpha1.ShootState
- func (o *Operation) InitializeDesiredShootClients(ctx context.Context) error
- func (o *Operation) InitializeSeedClients(ctx context.Context) error
- func (o *Operation) InitializeShootClients(ctx context.Context) error
- func (o *Operation) InjectSeedSeedImages(values map[string]interface{}, names ...string) (map[string]interface{}, error)
- func (o *Operation) InjectSeedShootImages(values map[string]interface{}, names ...string) (map[string]interface{}, error)
- func (o *Operation) InjectShootShootImages(values map[string]interface{}, names ...string) (map[string]interface{}, error)
- func (o *Operation) IsAPIServerRunning(ctx context.Context) (bool, error)
- func (o *Operation) LoadSecret(key string) *corev1.Secret
- func (o *Operation) ReportShootProgress(ctx context.Context, stats *flow.Stats)
- func (o *Operation) SaveGardenerResourceDataInShootState(ctx context.Context, f func(*[]gardencorev1alpha1.GardenerResourceData) error) error
- func (o *Operation) SeedVersion() string
- func (o *Operation) SetShootState(shootState *gardencorev1alpha1.ShootState)
- func (o *Operation) ShootVersion() string
- func (o *Operation) StoreSecret(key string, secret *corev1.Secret)
- func (o *Operation) ToAdvertisedAddresses() []gardencorev1beta1.ShootAdvertisedAddress
- func (o *Operation) UpdateAdvertisedAddresses(ctx context.Context) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Builder ¶ added in v1.4.0
type Builder struct {
// contains filtered or unexported fields
}
Builder is an object that builds Operation objects.
func (*Builder) WithConfig ¶ added in v1.4.0
func (b *Builder) WithConfig(cfg *config.GardenletConfiguration) *Builder
WithConfig sets the configFunc attribute at the Builder.
func (*Builder) WithExposureClassHandlerFromConfig ¶ added in v1.24.0
func (b *Builder) WithExposureClassHandlerFromConfig(cfg *config.GardenletConfiguration) *Builder
WithExposureClassHandlerFromConfig sets the exposureClassFunc attribute at the Builder which will find the the required exposure class handler in the passed Gardenlet config.
func (*Builder) WithGarden ¶ added in v1.4.0
WithGarden sets the gardenFunc attribute at the Builder.
func (*Builder) WithGardenClusterIdentity ¶ added in v1.8.0
WithGardenClusterIdentity sets the identity of the Garden cluster as attribute at the Builder.
func (*Builder) WithGardenFrom ¶ added in v1.4.0
WithGardenFrom sets the gardenFunc attribute at the Builder which will build a new Garden object.
func (*Builder) WithGardenerInfo ¶ added in v1.4.0
func (b *Builder) WithGardenerInfo(gardenerInfo *gardencorev1beta1.Gardener) *Builder
WithGardenerInfo sets the gardenerInfoFunc attribute at the Builder.
func (*Builder) WithImageVector ¶ added in v1.4.0
func (b *Builder) WithImageVector(imageVector imagevector.ImageVector) *Builder
WithImageVector sets the imageVectorFunc attribute at the Builder.
func (*Builder) WithLogger ¶ added in v1.4.0
WithLogger sets the loggerFunc attribute at the Builder.
func (*Builder) WithSecrets ¶ added in v1.4.0
WithSecrets sets the secretsFunc attribute at the Builder.
func (*Builder) WithSeedFrom ¶ added in v1.4.0
WithSeedFrom sets the seedFunc attribute at the Builder which will build a new Seed object.
func (*Builder) WithShootFromCluster ¶ added in v1.16.0
func (b *Builder) WithShootFromCluster(gardenClient, seedClient kubernetes.Interface, s *gardencorev1beta1.Shoot) *Builder
WithShootFromCluster sets the shootFunc attribute at the Builder which will build a new Shoot object constructed from the cluster resource. The shoot status is still taken from the passed `shoot`, though.
type Operation ¶
type Operation struct { SecretsManager secretsmanager.Interface Config *config.GardenletConfiguration Logger logr.Logger GardenerInfo *gardencorev1beta1.Gardener GardenClusterIdentity string ImageVector imagevector.ImageVector Garden *garden.Garden Seed *seed.Seed Shoot *shoot.Shoot ManagedSeed *seedmanagementv1alpha1.ManagedSeed ManagedSeedAPIServer *gardencorev1beta1helper.ManagedSeedAPIServer ClientMap clientmap.ClientMap K8sGardenClient kubernetes.Interface K8sSeedClient kubernetes.Interface K8sShootClient kubernetes.Interface APIServerAddress string APIServerClusterIP string SeedNamespaceObject *corev1.Namespace ExposureClassHandler *config.ExposureClassHandler // ControlPlaneWildcardCert is a wildcard tls certificate which is issued for the seed's ingress domain. ControlPlaneWildcardCert *corev1.Secret // contains filtered or unexported fields }
Operation contains all data required to perform an operation on a Shoot cluster.
func (*Operation) AllSecretKeys ¶ added in v1.28.3
AllSecretKeys returns all stored secret keys from the operation. Calling this function is thread-safe.
func (*Operation) CleanShootTaskError ¶
CleanShootTaskError removes the error with taskID from the Shoot's status.LastErrors array. If the status.LastErrors array is empty then status.LastErrors is also removed.
func (*Operation) ComputeAlertManagerHost ¶
ComputeAlertManagerHost computes the host for alert manager.
func (*Operation) ComputeAlertManagerHosts ¶ added in v0.34.0
ComputeAlertManagerHosts computes the host for alert manager.
func (*Operation) ComputeGrafanaHosts ¶
ComputeGrafanaHosts computes the host for both grafanas.
func (*Operation) ComputeGrafanaOperatorsHost ¶
ComputeGrafanaOperatorsHost computes the host for users Grafana.
func (*Operation) ComputeGrafanaUsersHost ¶
ComputeGrafanaUsersHost computes the host for operators Grafana.
func (*Operation) ComputeIngressHost ¶
ComputeIngressHost computes the host for a given prefix.
func (*Operation) ComputeLokiHost ¶ added in v1.27.0
ComputeLokiHost computes the host for loki.
func (*Operation) ComputeLokiHosts ¶ added in v1.27.0
ComputeLokiHosts computes the host for loki.
func (*Operation) ComputePrometheusHost ¶
ComputePrometheusHost computes the host for prometheus.
func (*Operation) ComputePrometheusHosts ¶ added in v0.34.0
ComputePrometheusHosts computes the hosts for prometheus.
func (*Operation) DeleteClusterResourceFromSeed ¶
DeleteClusterResourceFromSeed deletes the `Cluster` extension resource for the shoot in the seed cluster.
func (*Operation) DeleteSecret ¶ added in v1.28.3
DeleteSecret deleted the secret under the given key from the operation. Calling this function is thread-safe.
func (*Operation) DeleteShootState ¶ added in v1.24.0
DeleteShootState deletes the ShootState resource for the corresponding shoot.
func (*Operation) EnsureShootStateExists ¶ added in v1.2.0
EnsureShootStateExists creates the ShootState resource for the corresponding shoot and updates the operations object
func (*Operation) GetSecretKeysOfRole ¶
GetSecretKeysOfRole returns a list of keys which are present in the Garden Secrets map and which are prefixed with <kind>.
func (*Operation) GetShootState ¶ added in v1.32.0
func (o *Operation) GetShootState() *gardencorev1alpha1.ShootState
GetShootState returns the shootstate resource of this Shoot in a concurrency safe way. This method should be used only for reading the data of the returned shootstate resource. The returned shootstate resource MUST NOT BE MODIFIED (except in test code) since this might interfere with other concurrent reads and writes. To properly update the shootstate resource of this Shoot use SaveGardenerResourceDataInShootState.
func (*Operation) InitializeDesiredShootClients ¶ added in v1.31.0
InitializeDesiredShootClients will use the Seed Kubernetes client to read the gardener Secret in the Seed cluster which contains a Kubeconfig that can be used to authenticate against the Shoot cluster. With it, a Kubernetes client as well as a Chart renderer for the Shoot cluster will be initialized and attached to the already existing Operation object. In contrast to InitializeShootClients, InitializeDesiredShootClients returns an error if the discovered version via the client does not match the desired Kubernetes version from the shoot spec. This is especially useful, if the client is initialized after a rolling update of the Kube-Apiserver and you want to ensure that the discovered version matches the expected version.
func (*Operation) InitializeSeedClients ¶
InitializeSeedClients will use the Garden Kubernetes client to read the Seed Secret in the Garden cluster which contains a Kubeconfig that can be used to authenticate against the Seed cluster. With it, a Kubernetes client as well as a Chart renderer for the Seed cluster will be initialized and attached to the already existing Operation object.
func (*Operation) InitializeShootClients ¶
InitializeShootClients will use the Seed Kubernetes client to read the gardener Secret in the Seed cluster which contains a Kubeconfig that can be used to authenticate against the Shoot cluster. With it, a Kubernetes client as well as a Chart renderer for the Shoot cluster will be initialized and attached to the already existing Operation object.
func (*Operation) InjectSeedSeedImages ¶
func (o *Operation) InjectSeedSeedImages(values map[string]interface{}, names ...string) (map[string]interface{}, error)
InjectSeedSeedImages injects images that shall run on the Seed and target the Seed's Kubernetes version.
func (*Operation) InjectSeedShootImages ¶
func (o *Operation) InjectSeedShootImages(values map[string]interface{}, names ...string) (map[string]interface{}, error)
InjectSeedShootImages injects images that shall run on the Seed but target the Shoot's Kubernetes version.
func (*Operation) InjectShootShootImages ¶
func (o *Operation) InjectShootShootImages(values map[string]interface{}, names ...string) (map[string]interface{}, error)
InjectShootShootImages injects images that shall run on the Shoot and target the Shoot's Kubernetes version.
func (*Operation) IsAPIServerRunning ¶ added in v1.7.0
IsAPIServerRunning checks if the API server of the Shoot currently running (not scaled-down/deleted).
func (*Operation) LoadSecret ¶ added in v1.28.3
LoadSecret loads the secret under the given key from the operation. Calling this function is thread-safe. Be aware that the returned pointer and the underlying secret map refer to the same secret object. If you need to modify the returned secret, copy it first and store the changes via `StoreSecret`.
func (*Operation) ReportShootProgress ¶
ReportShootProgress will update the last operation object in the Shoot manifest `status` section by the current progress of the Flow execution.
func (*Operation) SaveGardenerResourceDataInShootState ¶ added in v1.32.0
func (o *Operation) SaveGardenerResourceDataInShootState(ctx context.Context, f func(*[]gardencorev1alpha1.GardenerResourceData) error) error
SaveGardenerResourceDataInShootState updates the shootstate resource of this Shoot in a concurrency safe way, using the given context and mutate function. The mutate function should modify the passed GardenerResourceData so that changes are persisted. This method is protected by a mutex, so only a single SaveGardenerResourceDataInShootState operation can be executed at any point in time.
func (*Operation) SeedVersion ¶
SeedVersion is a shorthand for the kubernetes version of the K8sSeedClient.
func (*Operation) SetShootState ¶ added in v1.32.0
func (o *Operation) SetShootState(shootState *gardencorev1alpha1.ShootState)
SetShootState sets the shootstate resource of this Shoot in a concurrency safe way. This method is not protected by a mutex and does not update the shootstate resource in the cluster and so should be used only in exceptional situations, or as a convenience in test code. The shootstate passed as a parameter MUST NOT BE MODIFIED after the call to SetShootState (except in test code) since this might interfere with other concurrent reads and writes. To properly update the shootstate resource of this Shoot use SaveGardenerResourceDataInShootState.
func (*Operation) ShootVersion ¶
ShootVersion is a shorthand for the desired kubernetes version of the operation's shoot.
func (*Operation) StoreSecret ¶ added in v1.28.3
StoreSecret stores the passed secret under the given key from the operation. Calling this function is thread-safe.
func (*Operation) ToAdvertisedAddresses ¶ added in v1.21.0
func (o *Operation) ToAdvertisedAddresses() []gardencorev1beta1.ShootAdvertisedAddress
ToAdvertisedAddresses returns list of advertised addresses on a Shoot cluster.
Directories ¶
Path | Synopsis |
---|---|
component/backupentry/mock
Package backupentry is a generated GoMock package.
|
Package backupentry is a generated GoMock package. |
component/clusterautoscaler/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
component/clusteridentity/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
component/coredns/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
component/etcd/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
component/etcdcopybackupstask/mock
Package etcdcopybackupstask is a generated GoMock package.
|
Package etcdcopybackupstask is a generated GoMock package. |
component/extensions/backupentry/mock
Package backupentry is a generated GoMock package.
|
Package backupentry is a generated GoMock package. |
component/extensions/containerruntime/mock
Package containerruntime is a generated GoMock package.
|
Package containerruntime is a generated GoMock package. |
component/extensions/controlplane/mock
Package controlplane is a generated GoMock package.
|
Package controlplane is a generated GoMock package. |
component/extensions/crds/templates
Package seed_crds contains generated manifests for all CRDs that are present on a Seed cluster.
|
Package seed_crds contains generated manifests for all CRDs that are present on a Seed cluster. |
component/extensions/dnsrecord/mock
Package dnsrecord is a generated GoMock package.
|
Package dnsrecord is a generated GoMock package. |
component/extensions/extension/mock
Package extension is a generated GoMock package.
|
Package extension is a generated GoMock package. |
component/extensions/infrastructure/mock
Package infrastructure is a generated GoMock package.
|
Package infrastructure is a generated GoMock package. |
component/extensions/operatingsystemconfig/mock
Package operatingsystemconfig is a generated GoMock package.
|
Package operatingsystemconfig is a generated GoMock package. |
component/extensions/operatingsystemconfig/original/components/kubelet/mock
Package kubelet is a generated GoMock package.
|
Package kubelet is a generated GoMock package. |
component/extensions/operatingsystemconfig/original/components/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
component/extensions/operatingsystemconfig/utils/mock
Package utils is a generated GoMock package.
|
Package utils is a generated GoMock package. |
component/extensions/worker/mock
Package worker is a generated GoMock package.
|
Package worker is a generated GoMock package. |
component/gardenerkubescheduler/configurator
Package configurator contains the Configurator interface It is a separate package to avoid dependency cycle.
|
Package configurator contains the Configurator interface It is a separate package to avoid dependency cycle. |
component/gardenerkubescheduler/v18
Package v18 contains a kube-scheduler specific configuration for Kubernetes version 1.18.
|
Package v18 contains a kube-scheduler specific configuration for Kubernetes version 1.18. |
component/gardenerkubescheduler/v19
Package v19 contains a kube-scheduler specific configuration for Kubernetes version 1.19.
|
Package v19 contains a kube-scheduler specific configuration for Kubernetes version 1.19. |
component/gardenerkubescheduler/v20
Package v20 contains a kube-scheduler specific configuration for Kubernetes version 1.20.
|
Package v20 contains a kube-scheduler specific configuration for Kubernetes version 1.20. |
component/gardenerkubescheduler/v21
Package v21 contains a kube-scheduler specific configuration for Kubernetes version 1.21.
|
Package v21 contains a kube-scheduler specific configuration for Kubernetes version 1.21. |
component/gardenerkubescheduler/v22
Package v22 contains a kube-scheduler specific configuration for Kubernetes version 1.22.
|
Package v22 contains a kube-scheduler specific configuration for Kubernetes version 1.22. |
component/gardenerkubescheduler/v23
Package v23 contains a kube-scheduler specific configuration for Kubernetes version 1.23.
|
Package v23 contains a kube-scheduler specific configuration for Kubernetes version 1.23. |
component/hvpa/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
component/kubeapiserver/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
component/kubecontrollermanager/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
component/kubeproxy/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
component/kubescheduler/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
component/kubestatemetrics/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
component/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
component/nodelocaldns/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
component/resourcemanager/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
component/vpa/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
component/vpnseedserver/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
component/vpnshoot/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
matchers
this file is copy of https://github.com/kubernetes/kubernetes/blob/f247e75980061d7cf83c63c0fb1f12c7060c599f/staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/rules/rules.go with some modifications for the webhook matching use-case.
|
this file is copy of https://github.com/kubernetes/kubernetes/blob/f247e75980061d7cf83c63c0fb1f12c7060c599f/staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/rules/rules.go with some modifications for the webhook matching use-case. |