seed

package
v1.105.2 Latest Latest
Warning

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

Go to latest
Published: Oct 28, 2024 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Builder

type Builder struct {
	// contains filtered or unexported fields
}

Builder is an object that builds Seed objects.

func NewBuilder

func NewBuilder() *Builder

NewBuilder returns a new Builder.

func (*Builder) Build

func (b *Builder) Build(ctx context.Context) (*Seed, error)

Build initializes a new Seed object.

func (*Builder) WithSeedObject

func (b *Builder) WithSeedObject(seedObject *gardencorev1beta1.Seed) *Builder

WithSeedObject sets the seedObjectFunc attribute at the Builder.

func (*Builder) WithSeedObjectFrom

func (b *Builder) WithSeedObjectFrom(gardenClient client.Reader, seedName string) *Builder

WithSeedObjectFrom sets the seedObjectFunc attribute at the Builder after fetching it from the given lister.

type Seed

type Seed struct {
	KubernetesVersion *semver.Version
	// contains filtered or unexported fields
}

Seed is an object containing information about a Seed cluster.

func (*Seed) GetInfo

func (s *Seed) GetInfo() *gardencorev1beta1.Seed

GetInfo returns the seed resource of this Seed in a concurrency safe way. This method should be used only for reading the data of the returned seed resource. The returned seed resource MUST NOT BE MODIFIED (except in test code) since this might interfere with other concurrent reads and writes. To properly update the seed resource of this Seed use UpdateInfo or UpdateInfoStatus.

func (*Seed) GetIngressFQDN

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

GetIngressFQDN returns the fully qualified domain name of ingress sub-resource for the Seed cluster. The end result is '<subDomain>.<shootName>.<projectName>.<seed-ingress-domain>'.

func (*Seed) GetLoadBalancerServiceAnnotations

func (s *Seed) GetLoadBalancerServiceAnnotations() map[string]string

GetLoadBalancerServiceAnnotations returns the load balancer annotations set for the seed if any.

func (*Seed) GetLoadBalancerServiceExternalTrafficPolicy

func (s *Seed) GetLoadBalancerServiceExternalTrafficPolicy() *corev1.ServiceExternalTrafficPolicy

GetLoadBalancerServiceExternalTrafficPolicy indicates the external traffic policy for the seed if any.

func (*Seed) GetLoadBalancerServiceProxyProtocolTermination added in v1.96.0

func (s *Seed) GetLoadBalancerServiceProxyProtocolTermination() *bool

GetLoadBalancerServiceProxyProtocolTermination indicates if the seed allows proxy protocol termination for load balancer services.

func (*Seed) GetNodeCIDR added in v1.96.0

func (s *Seed) GetNodeCIDR() *string

GetNodeCIDR returns the node CIDR of the seed.

func (*Seed) GetValidVolumeSize

func (s *Seed) GetValidVolumeSize(size string) string

GetValidVolumeSize is to get a valid volume size. If the given size is smaller than the minimum volume size permitted by cloud provider on which seed cluster is running, it will return the minimum size.

func (*Seed) GetZonalLoadBalancerServiceAnnotations

func (s *Seed) GetZonalLoadBalancerServiceAnnotations(zone string) map[string]string

GetZonalLoadBalancerServiceAnnotations returns the zonal load balancer annotations set for the seed if any.

func (*Seed) GetZonalLoadBalancerServiceExternalTrafficPolicy

func (s *Seed) GetZonalLoadBalancerServiceExternalTrafficPolicy(zone string) *corev1.ServiceExternalTrafficPolicy

GetZonalLoadBalancerServiceExternalTrafficPolicy indicates the zonal external traffic policy for the seed if any.

func (*Seed) GetZonalLoadBalancerServiceProxyProtocolTermination added in v1.96.0

func (s *Seed) GetZonalLoadBalancerServiceProxyProtocolTermination(zone string) *bool

GetZonalLoadBalancerServiceProxyProtocolTermination indicates if the seed allows proxy protocol termination for load balancer services for the specified zone.

func (*Seed) IngressDomain

func (s *Seed) IngressDomain() string

IngressDomain returns the ingress domain for the seed.

func (*Seed) IsDualStack

func (s *Seed) IsDualStack() bool

IsDualStack checks if the seed is a dual-stack seed.

func (*Seed) SetInfo

func (s *Seed) SetInfo(seed *gardencorev1beta1.Seed)

SetInfo sets the seed resource of this Seed in a concurrency safe way. This method is not protected by a mutex and does not update the seed resource in the cluster and so should be used only in exceptional situations, or as a convenience in test code. The seed passed as a parameter MUST NOT BE MODIFIED after the call to SetInfo (except in test code) since this might interfere with other concurrent reads and writes. To properly update the seed resource of this Seed use UpdateInfo or UpdateInfoStatus.

func (*Seed) UpdateInfo

func (s *Seed) UpdateInfo(ctx context.Context, c client.Client, useStrategicMerge bool, f func(*gardencorev1beta1.Seed) error) error

UpdateInfo updates the seed resource of this Seed in a concurrency safe way, using the given context, client, and mutate function. It copies the current seed resource and then uses the copy to patch the resource in the cluster using either client.MergeFrom or client.StrategicMergeFrom depending on useStrategicMerge. This method is protected by a mutex, so only a single UpdateInfo or UpdateInfoStatus operation can be executed at any point in time.

func (*Seed) UpdateInfoStatus

func (s *Seed) UpdateInfoStatus(ctx context.Context, c client.Client, useStrategicMerge bool, f func(*gardencorev1beta1.Seed) error) error

UpdateInfoStatus updates the status of the seed resource of this Seed in a concurrency safe way, using the given context, client, and mutate function. It copies the current seed resource and then uses the copy to patch the resource in the cluster using either client.MergeFrom or client.StrategicMergeFrom depending on useStrategicMerge. This method is protected by a mutex, so only a single UpdateInfo or UpdateInfoStatus operation can be executed at any point in time.

Jump to

Keyboard shortcuts

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