Documentation ¶
Index ¶
- type Operation
- func (o *Operation) ApplyChartGarden(chartPath, namespace, name string, ...) error
- func (o *Operation) ApplyChartSeed(chartPath, namespace, name string, ...) error
- func (o *Operation) CleanShootTaskError(ctx context.Context, taskID string)
- func (o *Operation) ComputeAlertManagerHost() string
- func (o *Operation) ComputeAlertManagerHostDeprecated() string
- func (o *Operation) ComputeAlertManagerHosts() []string
- func (o *Operation) ComputeGrafanaHosts() []string
- func (o *Operation) ComputeGrafanaOperatorsHost() string
- func (o *Operation) ComputeGrafanaOperatorsHostDeprecated() string
- func (o *Operation) ComputeGrafanaUsersHost() string
- func (o *Operation) ComputeGrafanaUsersHostDeprecated() string
- func (o *Operation) ComputeIngressHost(prefix string) string
- func (o *Operation) ComputeIngressHostDeprecated(prefix string) string
- func (o *Operation) ComputeKibanaHost() string
- func (o *Operation) ComputeKibanaHostDeprecated() string
- func (o *Operation) ComputeKibanaHosts() []string
- func (o *Operation) ComputePrometheusHost() string
- func (o *Operation) ComputePrometheusHostDeprecated() string
- func (o *Operation) ComputePrometheusHosts() []string
- func (o *Operation) DeleteClusterResourceFromSeed(ctx context.Context) error
- func (o *Operation) GetSecretKeysOfRole(kind string) []string
- func (o *Operation) InitializeMonitoringClient() error
- func (o *Operation) InitializeSeedClients() error
- func (o *Operation) InitializeShootClients() 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) ReportShootProgress(ctx context.Context, stats *flow.Stats)
- func (o *Operation) SeedVersion() string
- func (o *Operation) ShootVersion() string
- func (o *Operation) SyncClusterResourceToSeed(ctx context.Context) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
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 ShootedSeed *gardencorev1beta1helper.ShootedSeed K8sGardenClient kubernetes.Interface K8sGardenCoreInformers gardencoreinformers.Interface K8sSeedClient kubernetes.Interface K8sShootClient kubernetes.Interface ChartApplierGarden kubernetes.ChartApplier ChartApplierSeed kubernetes.ChartApplier ChartApplierShoot kubernetes.ChartApplier APIServerAddress 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 New ¶
func New(shoot *gardencorev1beta1.Shoot, config *config.GardenletConfiguration, logger *logrus.Entry, k8sGardenClient kubernetes.Interface, k8sGardenCoreInformers gardencoreinformers.Interface, gardenerInfo *gardencorev1beta1.Gardener, secretsMap map[string]*corev1.Secret, imageVector imagevector.ImageVector) (*Operation, error)
New creates a new operation object with a Shoot resource object.
func (*Operation) ApplyChartGarden ¶
func (o *Operation) ApplyChartGarden(chartPath, namespace, name string, defaultValues, additionalValues map[string]interface{}) error
ApplyChartGarden takes a path to a chart <chartPath>, name of the release <name>, release's namespace <namespace> and two maps <defaultValues>, <additionalValues>, and renders the template based on the merged result of both value maps. The resulting manifest will be applied to the Garden cluster.
func (*Operation) ApplyChartSeed ¶
func (o *Operation) ApplyChartSeed(chartPath, namespace, name string, defaultValues, additionalValues map[string]interface{}) error
ApplyChartSeed takes a path to a chart <chartPath>, name of the release <name>, release's namespace <namespace> and two maps <defaultValues>, <additionalValues>, and renders the template based on the merged result of both value maps. The resulting manifest will be applied to the Seed cluster.
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.LastError is also removed.
func (*Operation) ComputeAlertManagerHost ¶
ComputeAlertManagerHost computes the host for alert manager.
func (*Operation) ComputeAlertManagerHostDeprecated ¶ added in v0.34.0
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
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) ComputeGrafanaOperatorsHostDeprecated ¶ added in v0.34.0
ComputeGrafanaOperatorsHostDeprecated computes the host for users Grafana. TODO: timuthy - remove in the future. Old Grafana host is retained for migration reasons.
func (*Operation) ComputeGrafanaUsersHost ¶
ComputeGrafanaUsersHost computes the host for operators Grafana.
func (*Operation) ComputeGrafanaUsersHostDeprecated ¶ added in v0.34.0
ComputeGrafanaUsersHostDeprecated computes the host for operators Grafana. TODO: timuthy - remove in the future. Old Grafana host is retained for migration reasons.
func (*Operation) ComputeIngressHost ¶
ComputeIngressHost computes the host for a given prefix.
func (*Operation) ComputeIngressHostDeprecated ¶ added in v0.34.0
ComputeIngressHostDeprecated computes the host for a given prefix. TODO: timuthy - remove in the future. Only retained for migration reasons.
func (*Operation) ComputeKibanaHost ¶
ComputeKibanaHost computes the host for kibana.
func (*Operation) ComputeKibanaHostDeprecated ¶ added in v0.34.0
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
ComputeKibanaHosts computes the hosts for kibana.
func (*Operation) ComputePrometheusHost ¶
ComputePrometheusHost computes the host for prometheus.
func (*Operation) ComputePrometheusHostDeprecated ¶ added in v0.34.0
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
ComputePrometheusHosts computes the hosts for prometheus.
func (*Operation) DeleteClusterResourceFromSeed ¶
DeleteClusterResourceFromSeed deletes the `Cluster` extension resource for the shoot in the seed cluster.
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) InitializeMonitoringClient ¶
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 ¶
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) ReportShootProgress ¶
ReportShootProgress will update the last operation object in the Shoot manifest `status` section by the current progress of the Flow execution.
func (*Operation) SeedVersion ¶
SeedVersion is a shorthand for the kubernetes version of the K8sSeedClient.
func (*Operation) ShootVersion ¶
ShootVersion is a shorthand for the desired kubernetes version of the operation's shoot.