operation

package
v1.7.4 Latest Latest
Warning

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

Go to latest
Published: Aug 3, 2020 License: Apache-2.0, BSD-2-Clause, MIT, + 1 more Imports: 38 Imported by: 0

Documentation

Index

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 NewBuilder added in v1.4.0

func NewBuilder() *Builder

NewBuilder returns a new Builder.

func (*Builder) Build added in v1.4.0

func (b *Builder) Build(ctx context.Context, clientMap clientmap.ClientMap) (*Operation, error)

Build initializes a new Operation object.

func (*Builder) WithChartsRootPath added in v1.5.0

func (b *Builder) WithChartsRootPath(chartsRootPath string) *Builder

WithChartsRootPath sets the ChartsRootPath attribute at the Builder. Mainly used for testing. Optional.

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

func (b *Builder) WithGarden(g *garden.Garden) *Builder

WithGarden sets the gardenFunc attribute at the Builder.

func (*Builder) WithGardenFrom added in v1.4.0

func (b *Builder) WithGardenFrom(k8sGardenCoreInformers gardencoreinformers.Interface, namespace string) *Builder

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

func (b *Builder) WithLogger(logger *logrus.Entry) *Builder

WithLogger sets the loggerFunc attribute at the Builder.

func (*Builder) WithSecrets added in v1.4.0

func (b *Builder) WithSecrets(secrets map[string]*corev1.Secret) *Builder

WithSecrets sets the secretsFunc attribute at the Builder.

func (*Builder) WithSeed added in v1.4.0

func (b *Builder) WithSeed(s *seed.Seed) *Builder

WithSeed sets the seedFunc attribute at the Builder.

func (*Builder) WithSeedFrom added in v1.4.0

func (b *Builder) WithSeedFrom(k8sGardenCoreInformers gardencoreinformers.Interface, seedName string) *Builder

WithSeedFrom sets the seedFunc attribute at the Builder which will build a new Seed object.

func (*Builder) WithShoot added in v1.4.0

func (b *Builder) WithShoot(s *shoot.Shoot) *Builder

WithShoot sets the shootFunc attribute at the Builder.

func (*Builder) WithShootFrom added in v1.4.0

func (b *Builder) WithShootFrom(k8sGardenCoreInformers gardencoreinformers.Interface, s *gardencorev1beta1.Shoot) *Builder

WithShootFrom sets the shootFunc attribute at the Builder which will build a new Shoot object.

type Operation

type Operation struct {
	Config                    *config.GardenletConfiguration
	Logger                    *logrus.Entry
	GardenerInfo              *gardencorev1beta1.Gardener
	Secrets                   map[string]*corev1.Secret
	CheckSums                 map[string]string
	ImageVector               imagevector.ImageVector
	Garden                    *garden.Garden
	Seed                      *seed.Seed
	Shoot                     *shoot.Shoot
	ShootState                *gardencorev1alpha1.ShootState
	ShootedSeed               *gardencorev1beta1helper.ShootedSeed
	ClientMap                 clientmap.ClientMap
	K8sGardenClient           kubernetes.Interface
	K8sSeedClient             kubernetes.Interface
	K8sShootClient            kubernetes.Interface
	ChartsRootPath            string
	APIServerAddress          string
	APIServerClusterIP        string
	APIServerHealthCheckToken string
	SeedNamespaceObject       *corev1.Namespace
	MonitoringClient          prometheusclient.API

	// ControlPlaneWildcardCert is a wildcard tls certificate which is issued for the seed's ingress domain.
	ControlPlaneWildcardCert *corev1.Secret
}

Operation contains all data required to perform an operation on a Shoot cluster.

func (*Operation) CleanShootTaskError

func (o *Operation) CleanShootTaskError(_ context.Context, taskID string)

CleanShootTaskError removes the error with taskID from the Shoot's status.LastErrors array. If the status.LastErrors array is empty then status.LastError is also removed.

func (*Operation) ComputeAlertManagerHost

func (o *Operation) ComputeAlertManagerHost() string

ComputeAlertManagerHost computes the host for alert manager.

func (*Operation) ComputeAlertManagerHostDeprecated added in v0.34.0

func (o *Operation) ComputeAlertManagerHostDeprecated() string

ComputeAlertManagerHostDeprecated computes the host for alert manager. TODO: timuthy - remove in the future. Old AlertManager host is retained for migration reasons.

func (*Operation) ComputeAlertManagerHosts added in v0.34.0

func (o *Operation) ComputeAlertManagerHosts() []string

ComputeAlertManagerHosts computes the host for alert manager.

func (*Operation) ComputeGrafanaHosts

func (o *Operation) ComputeGrafanaHosts() []string

ComputeGrafanaHosts computes the host for both grafanas.

func (*Operation) ComputeGrafanaOperatorsHost

func (o *Operation) ComputeGrafanaOperatorsHost() string

ComputeGrafanaOperatorsHost computes the host for users Grafana.

func (*Operation) ComputeGrafanaOperatorsHostDeprecated added in v0.34.0

func (o *Operation) ComputeGrafanaOperatorsHostDeprecated() string

ComputeGrafanaOperatorsHostDeprecated computes the host for users Grafana. TODO: timuthy - remove in the future. Old Grafana host is retained for migration reasons.

func (*Operation) ComputeGrafanaUsersHost

func (o *Operation) ComputeGrafanaUsersHost() string

ComputeGrafanaUsersHost computes the host for operators Grafana.

func (*Operation) ComputeGrafanaUsersHostDeprecated added in v0.34.0

func (o *Operation) ComputeGrafanaUsersHostDeprecated() string

ComputeGrafanaUsersHostDeprecated computes the host for operators Grafana. TODO: timuthy - remove in the future. Old Grafana host is retained for migration reasons.

func (*Operation) ComputeIngressHost

func (o *Operation) ComputeIngressHost(prefix string) string

ComputeIngressHost computes the host for a given prefix.

func (*Operation) ComputeIngressHostDeprecated added in v0.34.0

func (o *Operation) ComputeIngressHostDeprecated(prefix string) string

ComputeIngressHostDeprecated computes the host for a given prefix. TODO: timuthy - remove in the future. Only retained for migration reasons.

func (*Operation) ComputeKibanaHost

func (o *Operation) ComputeKibanaHost() string

ComputeKibanaHost computes the host for kibana.

func (*Operation) ComputeKibanaHostDeprecated added in v0.34.0

func (o *Operation) ComputeKibanaHostDeprecated() string

ComputeKibanaHostDeprecated computes the host for kibana. TODO: timuthy - remove in the future. Old Kibana host is retained for migration reasons.

func (*Operation) ComputeKibanaHosts added in v0.34.0

func (o *Operation) ComputeKibanaHosts() []string

ComputeKibanaHosts computes the hosts for kibana.

func (*Operation) ComputePrometheusHost

func (o *Operation) ComputePrometheusHost() string

ComputePrometheusHost computes the host for prometheus.

func (*Operation) ComputePrometheusHostDeprecated added in v0.34.0

func (o *Operation) ComputePrometheusHostDeprecated() string

ComputePrometheusHostDeprecated computes the host for prometheus. TODO: timuthy - remove in the future. Old Prometheus host is retained for migration reasons.

func (*Operation) ComputePrometheusHosts added in v0.34.0

func (o *Operation) ComputePrometheusHosts() []string

ComputePrometheusHosts computes the hosts for prometheus.

func (*Operation) DeleteClusterResourceFromSeed

func (o *Operation) DeleteClusterResourceFromSeed(ctx context.Context) error

DeleteClusterResourceFromSeed deletes the `Cluster` extension resource for the shoot in the seed cluster.

func (*Operation) EnsureShootStateExists added in v1.2.0

func (o *Operation) EnsureShootStateExists(ctx context.Context) error

EnsureShootStateExists creates the ShootState resource for the corresponding shoot and sets its ownerReferences to the Shoot.

func (*Operation) GetSecretKeysOfRole

func (o *Operation) GetSecretKeysOfRole(kind string) []string

GetSecretKeysOfRole returns a list of keys which are present in the Garden Secrets map and which are prefixed with <kind>.

func (*Operation) InitializeMonitoringClient

func (o *Operation) InitializeMonitoringClient() error

InitializeMonitoringClient will read the Prometheus ingress auth and tls secrets from the Seed cluster, which are containing the cert to secure the connection and the credentials authenticate against the Shoot Prometheus. With those certs and credentials, a Prometheus client API will be created and attached to the existing Operation object.

func (*Operation) InitializeSeedClients

func (o *Operation) InitializeSeedClients() error

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

func (o *Operation) InitializeShootClients() error

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

func (o *Operation) IsAPIServerRunning() (bool, error)

IsAPIServerRunning checks if the API server of the Shoot currently running (not scaled-down/deleted).

func (*Operation) ReportShootProgress

func (o *Operation) ReportShootProgress(ctx context.Context, stats *flow.Stats)

ReportShootProgress will update the last operation object in the Shoot manifest `status` section by the current progress of the Flow execution.

func (*Operation) SeedVersion

func (o *Operation) SeedVersion() string

SeedVersion is a shorthand for the kubernetes version of the K8sSeedClient.

func (*Operation) ShootVersion

func (o *Operation) ShootVersion() string

ShootVersion is a shorthand for the desired kubernetes version of the operation's shoot.

func (*Operation) SwitchBackupEntryToTargetSeed added in v1.5.0

func (o *Operation) SwitchBackupEntryToTargetSeed(ctx context.Context) error

SwitchBackupEntryToTargetSeed changes the BackupEntry in the Garden cluster to the Target Seed and removes it from the Source Seed

Directories

Path Synopsis
component/fake
Package fake is a generated GoMock package.
Package fake 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.

Jump to

Keyboard shortcuts

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