import "github.com/gardener/gardener/pkg/operation"
type Builder struct {
// contains filtered or unexported fields
}
Builder is an object that builds Operation objects.
NewBuilder returns a new Builder.
Build initializes a new Operation object.
WithChartsRootPath sets the ChartsRootPath attribute at the Builder. Mainly used for testing. Optional.
func (b *Builder) WithConfig(cfg *config.GardenletConfiguration) *Builder
WithConfig sets the configFunc attribute at the Builder.
WithGarden sets the gardenFunc attribute at the Builder.
WithGardenClusterIdentity sets the identity of the Garden cluster as attribute at the Builder.
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 (b *Builder) WithGardenerInfo(gardenerInfo *gardencorev1beta1.Gardener) *Builder
WithGardenerInfo sets the gardenerInfoFunc attribute at the Builder.
func (b *Builder) WithImageVector(imageVector imagevector.ImageVector) *Builder
WithImageVector sets the imageVectorFunc attribute at the Builder.
WithLogger sets the loggerFunc attribute at the Builder.
WithSecrets sets the secretsFunc attribute at the Builder.
WithSeed sets the seedFunc attribute at the Builder.
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.
WithShoot sets the shootFunc attribute at the Builder.
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.
func (b *Builder) WithShootFromCluster(k8sGardenCoreInformers gardencoreinformers.Interface, 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 struct { Config *config.GardenletConfiguration Logger *logrus.Entry GardenerInfo *gardencorev1beta1.Gardener GardenClusterIdentity string 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.
CleanShootTaskErrorAndUpdateStatusLabel 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. It also re-evaluates the shoot status in case the last error list is empty now, and if necessary, updates the status label on the shoot.
ComputeAlertManagerHost computes the host for alert manager.
ComputeAlertManagerHosts computes the host for alert manager.
ComputeGrafanaHosts computes the host for both grafanas.
ComputeGrafanaOperatorsHost computes the host for users Grafana.
ComputeGrafanaUsersHost computes the host for operators Grafana.
ComputeIngressHost computes the host for a given prefix.
ComputePrometheusHost computes the host for prometheus.
ComputePrometheusHosts computes the hosts for prometheus.
DeleteClusterResourceFromSeed deletes the `Cluster` extension resource for the shoot in the seed cluster.
EnsureShootStateExists creates the ShootState resource for the corresponding shoot and sets its ownerReferences to the Shoot.
GetSecretKeysOfRole returns a list of keys which are present in the Garden Secrets map and which are prefixed with <kind>.
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.
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 (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 (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 (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.
IsAPIServerRunning checks if the API server of the Shoot currently running (not scaled-down/deleted).
ReportShootProgress will update the last operation object in the Shoot manifest `status` section by the current progress of the Flow execution.
func (o *Operation) SaveGardenerResourcesInShootState(ctx context.Context, resourceList gardencorev1alpha1helper.GardenerResourceDataList) error
SaveGardenerResourcesInShootState saves the provided GardenerResourcesDataList in the ShootState's `gardener` field
SeedVersion is a shorthand for the kubernetes version of the K8sSeedClient.
ShootVersion is a shorthand for the desired kubernetes version of the operation's shoot.
SwitchBackupEntryToTargetSeed changes the BackupEntry in the Garden cluster to the Target Seed and removes it from the Source Seed
Package operation imports 32 packages (graph) and is imported by 2 packages. Updated 2021-01-27. Refresh now. Tools for package owners.