Documentation ¶
Index ¶
- func ComputeTechnicalID(projectName string, shoot *gardenv1beta1.Shoot) string
- type CloudConfig
- type CloudConfigData
- type Shoot
- func (s *Shoot) ClusterAutoscalerEnabled() bool
- func (s *Shoot) ComputeAPIServerURL(runsInSeed, useInternalClusterDomain bool) string
- func (s *Shoot) ComputeCloudConfigSecretName(workerName string) string
- func (s *Shoot) GetIngressFQDN(subDomain string) string
- func (s *Shoot) GetK8SNetworks() *gardenv1beta1.K8SNetworks
- func (s *Shoot) GetMachineImageName() gardenv1beta1.MachineImageName
- func (s *Shoot) GetMachineTypesFromCloudProfile() []gardenv1beta1.MachineType
- func (s *Shoot) GetNodeCount() int
- func (s *Shoot) GetNodeNetwork() gardenv1beta1.CIDR
- func (s *Shoot) GetPodNetwork() gardenv1beta1.CIDR
- func (s *Shoot) GetReplicas(wokenUp int) int
- func (s *Shoot) GetServiceNetwork() gardenv1beta1.CIDR
- func (s *Shoot) GetWorkerNames() []string
- func (s *Shoot) GetWorkers() []gardenv1beta1.Worker
- func (s *Shoot) Kube2IAMEnabled() bool
- func (s *Shoot) KubeLegoEnabled() bool
- func (s *Shoot) KubernetesDashboardEnabled() bool
- func (s *Shoot) NginxIngressEnabled() bool
- func (s *Shoot) UsesCSI() bool
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ComputeTechnicalID ¶
func ComputeTechnicalID(projectName string, shoot *gardenv1beta1.Shoot) string
ComputeTechnicalID determines the technical id of that Shoot which is later used for the name of the namespace and for tagging all the resources created in the infrastructure.
Types ¶
type CloudConfig ¶
type CloudConfig struct { Downloader CloudConfigData Original CloudConfigData }
CloudConfig contains a downloader script as well as the original cloud config.
type CloudConfigData ¶
CloudConfigData contains the actual content, a command to load it and all units that shall be considered for restart on change.
type Shoot ¶
type Shoot struct { Info *gardenv1beta1.Shoot Secret *corev1.Secret CloudProfile *gardenv1beta1.CloudProfile CloudProvider gardenv1beta1.CloudProvider SeedNamespace string InternalClusterDomain string ExternalClusterDomain *string KubernetesMajorMinorVersion string WantsClusterAutoscaler bool WantsAlertmanager bool IsHibernated bool CloudConfigMap map[string]CloudConfig }
Shoot is an object containing information about a Shoot cluster.
func New ¶
func New(k8sGardenClient kubernetes.Interface, k8sGardenInformers gardeninformers.Interface, shoot *gardenv1beta1.Shoot, projectName, internalDomain string) (*Shoot, error)
New takes a <k8sGardenClient>, the <k8sGardenInformers> and a <shoot> manifest, and creates a new Shoot representation. It will add the CloudProfile, the cloud provider secret, compute the internal cluster domain and identify the cloud provider.
func (*Shoot) ClusterAutoscalerEnabled ¶
ClusterAutoscalerEnabled returns true if the cluster-autoscaler addon is enabled in the Shoot manifest.
func (*Shoot) ComputeAPIServerURL ¶
ComputeAPIServerURL takes a boolean value identifying whether the component connecting to the API server runs in the Seed cluster <runsInSeed>, and a boolean value <useInternalClusterDomain> which determines whether the internal or the external cluster domain should be used.
func (*Shoot) ComputeCloudConfigSecretName ¶
ComputeCloudConfigSecretName computes the name for a secret which contains the original cloud config for the worker group with the given <workerName>. It is build by the cloud config secret prefix, the worker name itself and a hash of the minor Kubernetes version of the Shoot cluster.
func (*Shoot) GetIngressFQDN ¶
GetIngressFQDN returns the fully qualified domain name of ingress sub-resource for the Shoot cluster. The end result is '<subDomain>.<ingressPrefix>.<clusterDomain>'.
func (*Shoot) GetK8SNetworks ¶
func (s *Shoot) GetK8SNetworks() *gardenv1beta1.K8SNetworks
GetK8SNetworks returns the Kubernetes network CIDRs for the Shoot cluster.
func (*Shoot) GetMachineImageName ¶
func (s *Shoot) GetMachineImageName() gardenv1beta1.MachineImageName
GetMachineImageName returns the name of the used machine image.
func (*Shoot) GetMachineTypesFromCloudProfile ¶
func (s *Shoot) GetMachineTypesFromCloudProfile() []gardenv1beta1.MachineType
GetMachineTypesFromCloudProfile returns a list of machine types in the cloud profile.
func (*Shoot) GetNodeCount ¶
GetNodeCount returns the sum of all 'autoScalerMax' fields of all worker groups of the Shoot.
func (*Shoot) GetNodeNetwork ¶
func (s *Shoot) GetNodeNetwork() gardenv1beta1.CIDR
GetNodeNetwork returns the node network CIDR for the Shoot cluster.
func (*Shoot) GetPodNetwork ¶
func (s *Shoot) GetPodNetwork() gardenv1beta1.CIDR
GetPodNetwork returns the pod network CIDR for the Shoot cluster.
func (*Shoot) GetReplicas ¶
GetReplicas returns the given <wokenUp> number if the shoot is not hibernated, or zero otherwise.
func (*Shoot) GetServiceNetwork ¶
func (s *Shoot) GetServiceNetwork() gardenv1beta1.CIDR
GetServiceNetwork returns the service network CIDR for the Shoot cluster.
func (*Shoot) GetWorkerNames ¶
GetWorkerNames returns a list of names of the worker groups in the Shoot manifest.
func (*Shoot) GetWorkers ¶
func (s *Shoot) GetWorkers() []gardenv1beta1.Worker
GetWorkers returns a list of worker objects of the worker groups in the Shoot manifest.
func (*Shoot) Kube2IAMEnabled ¶
Kube2IAMEnabled returns true if the kube2iam addon is enabled in the Shoot manifest.
func (*Shoot) KubeLegoEnabled ¶
KubeLegoEnabled returns true if the kube-lego addon is enabled in the Shoot manifest.
func (*Shoot) KubernetesDashboardEnabled ¶
KubernetesDashboardEnabled returns true if the kubernetes-dashboard addon is enabled in the Shoot manifest.
func (*Shoot) NginxIngressEnabled ¶
NginxIngressEnabled returns true if the nginx-ingress addon is enabled in the Shoot manifest.