Documentation
¶
Index ¶
- Variables
- func AddIstioIngressGateway(ctx context.Context, cl client.Client, istioDeployer istio.Interface, ...) error
- func AreZonalGatewaysInUse(ctx context.Context, c client.Client, zones []string) (bool, error)
- func DeployGardenerAPIServer(ctx context.Context, runtimeClient client.Client, runtimeNamespace string, ...) error
- func DeployGardenerResourceManager(ctx context.Context, c client.Client, secretsManager secretsmanager.Interface, ...) error
- func DeployKubeAPIServer(ctx context.Context, runtimeClient client.Client, runtimeNamespace string, ...) error
- func GetIstioNamespaceForZone(defaultNamespace string, zone string) string
- func GetIstioZoneLabels(labels map[string]string, zone *string) map[string]string
- func GetResourcesForEncryptionFromConfig(encryptionConfig *gardencorev1beta1.EncryptionConfig) []schema.GroupResource
- func IsZonalIstioExtension(labels map[string]string) (bool, string)
- func NewAlertmanager(log logr.Logger, c client.Client, namespace string, values alertmanager.Values) (alertmanager.Interface, error)
- func NewBlackboxExporter(c client.Client, secretsManager secretsmanager.Interface, namespace string, ...) (component.DeployWaiter, error)
- func NewEtcdDruid(c client.Client, gardenNamespaceName string, runtimeVersion *semver.Version, ...) (component.DeployWaiter, error)
- func NewExtension(ctx context.Context, log logr.Logger, gardenClient client.Client, ...) (extension.Interface, error)
- func NewFluentBit(c client.Client, gardenNamespaceName string, enabled bool, valiEnabled bool, ...) (deployer component.DeployWaiter, err error)
- func NewFluentOperator(c client.Client, gardenNamespaceName string, enabled bool, ...) (deployer component.DeployWaiter, err error)
- func NewFluentOperatorCustomResources(c client.Client, gardenNamespaceName string, enabled bool, suffix string, ...) (deployer component.DeployWaiter, err error)
- func NewGardenerAPIServer(ctx context.Context, runtimeClient client.Client, runtimeNamespace string, ...) (gardenerapiserver.Interface, error)
- func NewIstio(ctx context.Context, cl client.Client, chartRenderer chartrenderer.Interface, ...) (istio.Interface, error)
- func NewKubeAPIServer(ctx context.Context, runtimeClientSet kubernetes.Interface, ...) (kubeapiserver.Interface, error)
- func NewKubeControllerManager(log logr.Logger, runtimeClientSet kubernetes.Interface, ...) (kubecontrollermanager.Interface, error)
- func NewKubeStateMetrics(c client.Client, gardenNamespaceName string, runtimeVersion *semver.Version, ...) (component.DeployWaiter, error)
- func NewNginxIngress(c client.Client, namespaceName string, targetNamespace string, ...) (component.DeployWaiter, error)
- func NewOpenTelemetryCollector(c client.Client, gardenNamespaceName string, priorityClassName string, ...) (deployer collector.Interface, err error)
- func NewOpenTelemetryOperator(c client.Client, gardenNamespaceName string, enabled bool, ...) (deployer component.DeployWaiter, err error)
- func NewPersesOperator(c client.Client, gardenNamespaceName string, priorityClassName string) (deployer component.DeployWaiter, err error)
- func NewPlutono(c client.Client, namespace string, secretsManager secretsmanager.Interface, ...) (plutono.Interface, error)
- func NewPrometheus(log logr.Logger, c client.Client, namespace string, values prometheus.Values) (prometheus.Interface, error)
- func NewPrometheusOperator(c client.Client, gardenNamespaceName string, priorityClassName string) (deployer component.DeployWaiter, err error)
- func NewRuntimeGardenerResourceManager(c client.Client, gardenNamespaceName string, ...) (resourcemanager.Interface, error)
- func NewTargetGardenerResourceManager(c client.Client, namespaceName string, secretsManager secretsmanager.Interface, ...) (resourcemanager.Interface, error)
- func NewVali(c client.Client, namespace string, secretsManager secretsmanager.Interface, ...) (vali.Interface, error)
- func NewVerticalPodAutoscaler(c client.Client, gardenNamespaceName string, runtimeVersion *semver.Version, ...) (component.DeployWaiter, error)
- func NewVictoriaLogs(c client.Client, namespace string, clusterType component.ClusterType, ...) (component.DeployWaiter, error)
- func NewVictoriaOperator(c client.Client, gardenNamespaceName string, priorityClassName string) (deployer component.DeployWaiter, err error)
- func NormalizeResources(resources []string) []string
- func ShouldEnforceSpreadAcrossHosts(ctx context.Context, cl client.Client, zones []string) (bool, error)
- func SnapshotEtcd(ctx context.Context, secretsManager secretsmanager.Interface, ...) error
- func StringifyGroupResources(resources []schema.GroupResource) []string
Constants ¶
This section is empty.
Variables ¶
var ( // TimeoutWaitForGardenerResourceManagerBootstrapping is the maximum time the bootstrap process for the // gardener-resource-manager may take. // Exposed for testing. TimeoutWaitForGardenerResourceManagerBootstrapping = 2 * time.Minute // IntervalWaitForGardenerResourceManagerBootstrapping is the interval how often it's checked whether the bootstrap // process for the gardener-resource-manager has completed. // Exposed for testing. IntervalWaitForGardenerResourceManagerBootstrapping = 5 * time.Second )
var ImageVector = imagevector.Containers()
ImageVector is an alias for imagevector.Containers(). Exposed for testing.
Functions ¶
func AddIstioIngressGateway ¶
func AddIstioIngressGateway( ctx context.Context, cl client.Client, istioDeployer istio.Interface, namespace string, annotations map[string]string, labels map[string]string, loadBalancerClass *string, externalTrafficPolicy *corev1.ServiceExternalTrafficPolicy, serviceExternalIP *string, zone *string, dualStack bool, terminateLoadBalancerProxyProtocol *bool, kubernetesVersion *semver.Version, ) error
AddIstioIngressGateway adds an Istio ingress gateway to the given deployer. It uses the first Ingress Gateway to fill out common chart values. Hence, it is assumed that at least one Ingress Gateway was added to the given `istioDeployer` before calling this function.
func AreZonalGatewaysInUse ¶
AreZonalGatewaysInUse checks whether any shoots are using zonal Istio ingress gateways. It returns true if any shoot control plane gateway targets a zonal Istio ingress gateway in the specified zones.
func DeployGardenerAPIServer ¶ added in v1.76.0
func DeployGardenerAPIServer( ctx context.Context, runtimeClient client.Client, runtimeNamespace string, gardenerAPIServer gardenerapiserver.Interface, resourcesToEncrypt []string, encryptedResources []string, encryptionProviderType gardencorev1beta1.EncryptionProviderType, etcdEncryptionKeyRotationPhase gardencorev1beta1.CredentialsRotationPhase, workloadIdentityKeyRotationPhase gardencorev1beta1.CredentialsRotationPhase, ) error
DeployGardenerAPIServer deploys the Gardener API server.
func DeployGardenerResourceManager ¶
func DeployGardenerResourceManager( ctx context.Context, c client.Client, secretsManager secretsmanager.Interface, gardenerResourceManager resourcemanager.Interface, namespace string, determineReplicas func(ctx context.Context) (int32, error), getAPIServerAddress func() string, ) error
DeployGardenerResourceManager deploys the gardener-resource-manager
func DeployKubeAPIServer ¶
func DeployKubeAPIServer( ctx context.Context, runtimeClient client.Client, runtimeNamespace string, kubeAPIServer kubeapiserver.Interface, serviceAccountConfig kubeapiserver.ServiceAccountConfig, serverCertificateConfig kubeapiserver.ServerCertificateConfig, sniConfig kubeapiserver.SNIConfig, externalHostname string, nodeNetworkCIDRs []net.IPNet, serviceNetworkCIDRs []net.IPNet, podNetworkCIDRs []net.IPNet, seedPodNetwork *net.IPNet, resourcesToEncrypt []string, encryptedResources []string, encryptionProviderType gardencorev1beta1.EncryptionProviderType, etcdEncryptionKeyRotationPhase gardencorev1beta1.CredentialsRotationPhase, wantScaleDown bool, ) error
DeployKubeAPIServer deploys the Kubernetes API server.
func GetIstioNamespaceForZone ¶
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 ¶
GetIstioZoneLabels returns the labels to be used for istio with the mandatory zone label set.
func GetResourcesForEncryptionFromConfig ¶ added in v1.86.0
func GetResourcesForEncryptionFromConfig(encryptionConfig *gardencorev1beta1.EncryptionConfig) []schema.GroupResource
GetResourcesForEncryptionFromConfig returns the list of schema.GroupResource requiring encryption from the EncryptionConfig.
func IsZonalIstioExtension ¶
IsZonalIstioExtension indicates whether the namespace related to the given labels is a zonal istio extension. It also returns the zone.
func NewAlertmanager ¶ added in v1.90.0
func NewAlertmanager(log logr.Logger, c client.Client, namespace string, values alertmanager.Values) (alertmanager.Interface, error)
NewAlertmanager creates a new alertmanager deployer.
func NewBlackboxExporter ¶ added in v1.93.0
func NewBlackboxExporter(c client.Client, secretsManager secretsmanager.Interface, namespace string, values blackboxexporter.Values) (component.DeployWaiter, error)
NewBlackboxExporter creates a new blackbox-exporter deployer.
func NewEtcdDruid ¶
func NewEtcdDruid( c client.Client, gardenNamespaceName string, runtimeVersion *semver.Version, imageVectorOverwrites map[string]string, etcdConfig *gardenletconfigv1alpha1.ETCDConfig, secretsManager secretsmanager.Interface, secretNameServerCA string, priorityClassName string, managedbyGardenerOperator bool, ) ( component.DeployWaiter, error, )
NewEtcdDruid instantiates a new `etcd-druid` component.
func NewExtension ¶ added in v1.116.1
func NewExtension( ctx context.Context, log logr.Logger, gardenClient client.Client, seedClient client.Client, namespace string, class extensionsv1alpha1.ExtensionClass, extensions []gardencorev1beta1.Extension, workerlessSupported bool, ) (extension.Interface, error)
NewExtension creates the default deployer for the Extension custom resources.
func NewFluentBit ¶ added in v1.77.0
func NewFluentBit( c client.Client, gardenNamespaceName string, enabled bool, valiEnabled bool, priorityClassName string, ) ( deployer component.DeployWaiter, err error, )
NewFluentBit instantiates a new `Fluent-bit` component.
func NewFluentOperator ¶
func NewFluentOperator( c client.Client, gardenNamespaceName string, enabled bool, priorityClassName string, ) ( deployer component.DeployWaiter, err error, )
NewFluentOperator instantiates a new `Fluent Operator` component.
func NewFluentOperatorCustomResources ¶
func NewFluentOperatorCustomResources( c client.Client, gardenNamespaceName string, enabled bool, suffix string, centralLoggingConfigurations []component.CentralLoggingConfiguration, output *fluentbitv1alpha2.ClusterOutput, ) ( deployer component.DeployWaiter, err error, )
NewFluentOperatorCustomResources instantiates a new `Fluent Operator Custom Resources` component.
func NewGardenerAPIServer ¶ added in v1.76.0
func NewGardenerAPIServer( ctx context.Context, runtimeClient client.Client, runtimeNamespace string, objectMeta metav1.ObjectMeta, runtimeVersion *semver.Version, secretsManager secretsmanager.Interface, apiServerConfig *operatorv1alpha1.GardenerAPIServerConfig, autoscalingConfig gardenerapiserver.AutoscalingConfig, auditWebhookConfig *apiserver.AuditWebhook, topologyAwareRoutingEnabled bool, clusterIdentity, workloadIdentityTokenIssuer string, goAwayChance *float64, targetVersion *semver.Version, ) ( gardenerapiserver.Interface, error, )
NewGardenerAPIServer returns a deployer for the gardener-apiserver.
func NewIstio ¶
func NewIstio( ctx context.Context, cl client.Client, chartRenderer chartrenderer.Interface, namePrefix string, ingressNamespace string, priorityClassName string, istiodEnabled bool, labels map[string]string, toKubeAPIServerPolicyLabel string, lbAnnotations map[string]string, loadBalancerClass *string, externalTrafficPolicy *corev1.ServiceExternalTrafficPolicy, serviceExternalIP *string, servicePorts []corev1.ServicePort, terminateLoadBalancerProxyProtocol *bool, vpnEnabled bool, zones []string, dualStack bool, kubernetesVersion *semver.Version, ) ( istio.Interface, error, )
NewIstio returns a deployer for Istio.
func NewKubeAPIServer ¶
func NewKubeAPIServer( ctx context.Context, runtimeClientSet kubernetes.Interface, resourceConfigClient client.Client, runtimeNamespace string, objectMeta metav1.ObjectMeta, runtimeVersion *semver.Version, targetVersion *semver.Version, secretsManager secretsmanager.Interface, namePrefix string, apiServerConfig *gardencorev1beta1.KubeAPIServerConfig, autoscalingConfig kubeapiserver.AutoscalingConfig, vpnConfig kubeapiserver.VPNConfig, priorityClassName string, isWorkerless bool, runsAsStaticPod bool, istioTLSTerminationEnabled bool, auditWebhookConfig *apiserver.AuditWebhook, authenticationWebhookConfig *kubeapiserver.AuthenticationWebhook, authorizationWebhookConfigs []kubeapiserver.AuthorizationWebhook, resourcesToStoreInETCDEvents []schema.GroupResource, ) ( kubeapiserver.Interface, error, )
NewKubeAPIServer returns a deployer for the kube-apiserver.
func NewKubeControllerManager ¶
func NewKubeControllerManager( log logr.Logger, runtimeClientSet kubernetes.Interface, runtimeNamespace string, runtimeVersion *semver.Version, targetVersion *semver.Version, secretsManager secretsmanager.Interface, namePrefix string, config *gardencorev1beta1.KubeControllerManagerConfig, priorityClassName string, isWorkerless bool, isScaleDownDisabled bool, clusterSigningDuration *time.Duration, controllerWorkers kubecontrollermanager.ControllerWorkers, controllerSyncPeriods kubecontrollermanager.ControllerSyncPeriods, managedResourceLabels map[string]string, ) ( kubecontrollermanager.Interface, error, )
NewKubeControllerManager returns a deployer for the kube-controller-manager.
func NewKubeStateMetrics ¶
func NewKubeStateMetrics( c client.Client, gardenNamespaceName string, runtimeVersion *semver.Version, priorityClassName string, nameSuffix string, ) ( component.DeployWaiter, error, )
NewKubeStateMetrics instantiates a new `kube-state-metrics` component.
func NewNginxIngress ¶ added in v1.75.0
func NewNginxIngress( c client.Client, namespaceName string, targetNamespace string, kubernetesVersion *semver.Version, config map[string]string, loadBalancerAnnotations map[string]string, loadBalancerSourceRanges []string, priorityClassName string, vpaEnabled bool, clusterType component.ClusterType, externalTrafficPolicy corev1.ServiceExternalTrafficPolicy, ingressClass string, wildcardIngressDomains []string, istioIngressGatewayLabels map[string]string, seedIsGarden bool, ) ( component.DeployWaiter, error, )
NewNginxIngress returns a deployer for nginx-ingress-controller.
func NewOpenTelemetryCollector ¶
func NewOpenTelemetryCollector( c client.Client, gardenNamespaceName string, priorityClassName string, secretsManager secretsmanager.Interface, secretNameServerCA string, clusterType component.ClusterType, isGardenCluster bool, ) ( deployer collector.Interface, err error, )
NewOpenTelemetryCollector instantiates a new `OpenTelemetryOperator` component.
func NewOpenTelemetryOperator ¶ added in v1.123.0
func NewOpenTelemetryOperator( c client.Client, gardenNamespaceName string, enabled bool, priorityClassName string, ) ( deployer component.DeployWaiter, err error, )
NewOpenTelemetryOperator instantiates a new `OpenTelemetryOperator` component.
func NewPersesOperator ¶ added in v1.121.0
func NewPersesOperator( c client.Client, gardenNamespaceName string, priorityClassName string, ) ( deployer component.DeployWaiter, err error, )
NewPersesOperator instantiates a new perses-operator component.
func NewPlutono ¶ added in v1.76.0
func NewPlutono( c client.Client, namespace string, secretsManager secretsmanager.Interface, clusterType component.ClusterType, replicas int32, authSecretName, ingressHost, priorityClassName string, includeIstioDashboards, isWorkerless bool, isGardenCluster, vpnHighAvailabilityEnabled, vpaEnabled bool, wildcardCertName *string, onlyDeployDataSourcesAndDashboards bool, ) ( plutono.Interface, error, )
NewPlutono returns a deployer for the plutono.
func NewPrometheus ¶ added in v1.93.0
func NewPrometheus(log logr.Logger, c client.Client, namespace string, values prometheus.Values) (prometheus.Interface, error)
NewPrometheus creates a new prometheus deployer.
func NewPrometheusOperator ¶ added in v1.88.0
func NewPrometheusOperator( c client.Client, gardenNamespaceName string, priorityClassName string, ) ( deployer component.DeployWaiter, err error, )
NewPrometheusOperator instantiates a new prometheus-operator component.
func NewRuntimeGardenerResourceManager ¶
func NewRuntimeGardenerResourceManager( c client.Client, gardenNamespaceName string, secretsManager secretsmanager.Interface, values resourcemanager.Values, ) ( resourcemanager.Interface, error, )
NewRuntimeGardenerResourceManager instantiates a new `gardener-resource-manager` component configured to reconcile objects in the runtime (seed) cluster.
func NewTargetGardenerResourceManager ¶
func NewTargetGardenerResourceManager( c client.Client, namespaceName string, secretsManager secretsmanager.Interface, values resourcemanager.Values, ) ( resourcemanager.Interface, error, )
NewTargetGardenerResourceManager instantiates a new `gardener-resource-manager` component configured to reconcile objects in a target (shoot) cluster.
func NewVali ¶ added in v1.74.0
func NewVali( c client.Client, namespace string, secretsManager secretsmanager.Interface, clusterType component.ClusterType, replicas int32, isShootNodeLoggingEnabled bool, priorityClassName string, storage *resource.Quantity, ingressHost string, isGardenCluster bool, ) ( vali.Interface, error, )
NewVali returns new Vali deployer
func NewVerticalPodAutoscaler ¶
func NewVerticalPodAutoscaler( c client.Client, gardenNamespaceName string, runtimeVersion *semver.Version, secretsManager secretsmanager.Interface, maxAllowed corev1.ResourceList, secretNameServerCA string, priorityClassNameAdmissionController string, priorityClassNameRecommender string, priorityClassNameUpdater string, isGardenCluster bool, featureGates map[string]bool, ) ( component.DeployWaiter, error, )
NewVerticalPodAutoscaler instantiates a new `vertical-pod-autoscaler` component.
func NewVictoriaLogs ¶
func NewVictoriaLogs( c client.Client, namespace string, clusterType component.ClusterType, replicas int32, priorityClassName string, storage *resource.Quantity, isGardenCluster bool, ) ( component.DeployWaiter, error, )
NewVictoriaLogs returns new VictoriaLogs deployer.
func NewVictoriaOperator ¶
func NewVictoriaOperator( c client.Client, gardenNamespaceName string, priorityClassName string, ) ( deployer component.DeployWaiter, err error, )
NewVictoriaOperator instantiates a new victoria-operator component.
func NormalizeResources ¶ added in v1.86.0
NormalizeResources returns the list of resources after trimming the suffix '.' if present. This is needed for core resources which can be specified as '<resource>.' as well. TODO: With https://github.com/gardener/gardener/pull/12355 we no longer allow resources with '.' suffix. This function is kept for backwards compatibility and should be removed in the future.
func ShouldEnforceSpreadAcrossHosts ¶ added in v1.87.0
func ShouldEnforceSpreadAcrossHosts(ctx context.Context, cl client.Client, zones []string) (bool, error)
ShouldEnforceSpreadAcrossHosts checks whether all given zones have at least two nodes so that Istio can be spread across hosts in each zone.
func SnapshotEtcd ¶
func SnapshotEtcd(ctx context.Context, secretsManager secretsmanager.Interface, etcdMain etcd.Interface) error
SnapshotEtcd performs a full snapshot on ETCD main.
func StringifyGroupResources ¶ added in v1.123.0
func StringifyGroupResources(resources []schema.GroupResource) []string
StringifyGroupResources returns the list of schema.GroupResource resources in string type.
Types ¶
This section is empty.
Source Files
¶
- alertmanager.go
- apiserver.go
- blackboxexporter.go
- etcd.go
- etcd_druid.go
- extension.go
- fluent_bit.go
- fluent_custom_resources.go
- fluent_operator.go
- gardenerapiserver.go
- istio.go
- kube_state_metrics.go
- kubeapiserver.go
- kubecontrollermanager.go
- nginx_ingress.go
- opentelemetry_collector.go
- opentelemetry_operator.go
- perses_operator.go
- plutono.go
- prometheus.go
- prometheus_operator.go
- resourcemanager.go
- vali.go
- victoria_operator.go
- victorialogs.go
- vpa.go