Documentation ¶
Index ¶
- Constants
- func GetIstioNamespaceForZone(defaultNamespace string, zone string) string
- func GetIstioZoneLabels(labels map[string]string, zone *string) map[string]string
- func IsZonalIstioExtension(labels map[string]string) (bool, string)
- type Builder
- func (b *Builder) Build(ctx context.Context, gardenClient client.Client, ...) (*Operation, error)
- func (b *Builder) WithConfig(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 client.Client, seedClientSet kubernetes.Interface, ...) *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) ComputeGrafanaHost() string
- func (o *Operation) ComputeGrafanaHosts() []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() *gardencorev1beta1.ShootState
- func (o *Operation) InitializeDesiredShootClients(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) IsShootMonitoringEnabled() bool
- func (o *Operation) IstioLabels() map[string]string
- func (o *Operation) IstioLoadBalancerAnnotations() map[string]string
- func (o *Operation) IstioNamespace() string
- func (o *Operation) IstioServiceName() string
- 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(*[]gardencorev1beta1.GardenerResourceData) error) error
- func (o *Operation) SeedVersion() string
- func (o *Operation) SetShootState(shootState *gardencorev1beta1.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
- func (o *Operation) WantsGrafana() bool
Constants ¶
const (
// IstioDefaultZoneKey is the label key for the istio default ingress gateway.
IstioDefaultZoneKey = "istio"
)
Variables ¶
This section is empty.
Functions ¶
func GetIstioNamespaceForZone ¶ added in v1.63.0
GetIstioNamespaceForZone returns the namespace to use for a given zone. In case the zone name is too long the first five characters of the hash of the zone are used as zone identifiers.
func GetIstioZoneLabels ¶ added in v1.63.0
GetIstioZoneLabels returns the labels to be used for istio with the mandatory zone label set.
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) Build ¶ added in v1.4.0
func (b *Builder) Build( ctx context.Context, gardenClient client.Client, seedClientSet kubernetes.Interface, shootClientMap clientmap.ClientMap, ) ( *Operation, error, )
Build initializes a new Operation object.
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) 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 client.Client, seedClientSet 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 *v1beta1helper.ManagedSeedAPIServer GardenClient client.Client SeedClientSet kubernetes.Interface ShootClientMap clientmap.ClientMap ShootClientSet kubernetes.Interface APIServerAddress string APIServerClusterIP string SeedNamespaceObject *corev1.Namespace // 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) ComputeGrafanaHost ¶ added in v1.64.0
ComputeGrafanaHost computes the host for Grafana.
func (*Operation) ComputeGrafanaHosts ¶
ComputeGrafanaHosts computes the host for 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() *gardencorev1beta1.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) 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) IsShootMonitoringEnabled ¶ added in v1.53.0
IsShootMonitoringEnabled returns true if shoot monitoring is enabled and shoot is not of purpose testing.
func (*Operation) IstioLabels ¶ added in v1.63.0
IstioLabels contain the labels to be used for the istio ingress gateway entities.
func (*Operation) IstioLoadBalancerAnnotations ¶ added in v1.63.0
IstioLoadBalancerAnnotations contain the annotation to be used for the istio ingress service load balancer.
func (*Operation) IstioNamespace ¶ added in v1.63.0
IstioNamespace is the currently used namespace of the istio ingress gateway, which is responsible for the shoot cluster.
func (*Operation) IstioServiceName ¶ added in v1.63.0
IstioServiceName is the currently used name of the istio ingress service, which is responsible for the shoot cluster.
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(*[]gardencorev1beta1.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 SeedClientSet.
func (*Operation) SetShootState ¶ added in v1.32.0
func (o *Operation) SetShootState(shootState *gardencorev1beta1.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.
func (*Operation) UpdateAdvertisedAddresses ¶ added in v1.36.0
UpdateAdvertisedAddresses updates the shoot.status.advertisedAddresses with the list of addresses on which the API server of the shoot is accessible.
func (*Operation) WantsGrafana ¶ added in v1.53.0
WantsGrafana returns true if shoot is not of purpose testing and either shoot monitoring or loki is enabled.
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/assets
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/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/kubernetesdashboard/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. |