shoot

package
v0.0.0-...-be4dc66 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2019 License: Apache-2.0, BSD-2-Clause, MIT, + 1 more Imports: 9 Imported by: 0

Documentation

Index

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

type CloudConfigData struct {
	Content string
	Command *string
	Units   []string
}

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

func (s *Shoot) ClusterAutoscalerEnabled() bool

ClusterAutoscalerEnabled returns true if the cluster-autoscaler addon is enabled in the Shoot manifest.

func (*Shoot) ComputeAPIServerURL

func (s *Shoot) ComputeAPIServerURL(runsInSeed, useInternalClusterDomain bool) string

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

func (s *Shoot) ComputeCloudConfigSecretName(workerName string) string

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

func (s *Shoot) GetIngressFQDN(subDomain string) string

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

func (s *Shoot) GetNodeCount() int

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

func (s *Shoot) GetReplicas(wokenUp int) int

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

func (s *Shoot) GetWorkerNames() []string

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

func (s *Shoot) Kube2IAMEnabled() bool

Kube2IAMEnabled returns true if the kube2iam addon is enabled in the Shoot manifest.

func (*Shoot) KubeLegoEnabled

func (s *Shoot) KubeLegoEnabled() bool

KubeLegoEnabled returns true if the kube-lego addon is enabled in the Shoot manifest.

func (*Shoot) KubernetesDashboardEnabled

func (s *Shoot) KubernetesDashboardEnabled() bool

KubernetesDashboardEnabled returns true if the kubernetes-dashboard addon is enabled in the Shoot manifest.

func (*Shoot) NginxIngressEnabled

func (s *Shoot) NginxIngressEnabled() bool

NginxIngressEnabled returns true if the nginx-ingress addon is enabled in the Shoot manifest.

func (*Shoot) UsesCSI

func (s *Shoot) UsesCSI() bool

UsesCSI returns whether the given shoot uses CSI volume plugins.

Jump to

Keyboard shortcuts

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