component

package
v1.63.1 Latest Latest
Warning

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

Go to latest
Published: Feb 1, 2023 License: Apache-2.0, BSD-2-Clause, MIT, + 1 more Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AllApplicationObjects added in v1.51.0

func AllApplicationObjects(configsLists ...ResourceConfigs) []client.Object

AllApplicationObjects returns all objects of class Application from the provided ResourceConfigs lists.

func AllRuntimeObjects added in v1.51.0

func AllRuntimeObjects(configsLists ...ResourceConfigs) []client.Object

AllRuntimeObjects returns all objects of class Runtime from the provided ResourceConfigs lists.

func DeployResourceConfigs added in v1.51.0

func DeployResourceConfigs(
	ctx context.Context,
	c client.Client,
	namespace string,
	clusterType ClusterType,
	managedResourceName string,
	registry *managedresources.Registry,
	allResources ResourceConfigs,
) error

DeployResourceConfigs deploys the provided ResourceConfigs <allResources> based on the ClusterType. For seeds, all resources are deployed via a single ManagedResource (independent of their Class). For shoots, all Runtime resources are applied directly with the client while all Application resources are deployed via a ManagedResource.

func DestroyResourceConfigs added in v1.51.0

func DestroyResourceConfigs(
	ctx context.Context,
	c client.Client,
	namespace string,
	clusterType ClusterType,
	managedResourceName string,
	resourceConfigs ...ResourceConfigs,
) error

DestroyResourceConfigs destroys the provided ResourceConfigs <allResources> based on the ClusterType. For seeds, all resources are deleted indirectly by deleting the ManagedResource. For shoots, all Runtime resources are deleted directly with the client while all Application resources are deleted indirectly by deleting the ManagedResource.

Types

type AggregateMonitoringConfig added in v1.51.0

type AggregateMonitoringConfig struct {
	// ScrapeConfigs are the scrape configurations for aggregate Prometheus.
	ScrapeConfigs []string
}

AggregateMonitoringConfig is a structure that contains configuration for the aggregate monitoring stack.

type AggregateMonitoringConfiguration added in v1.51.0

type AggregateMonitoringConfiguration func() (AggregateMonitoringConfig, error)

AggregateMonitoringConfiguration is a function alias for returning configuration for the aggregate monitoring.

type CentralLoggingConfig added in v1.13.0

type CentralLoggingConfig struct {
	// Filters contains the filters for specific component.
	Filters string
	// Parser contains the parsers for specific component.
	Parsers string
	// UserExposed defines if the component is exposed to the end-user.
	UserExposed bool
	// PodPrefixes is the list of prefixes of the pod names when logging config is user-exposed.
	PodPrefixes []string
}

CentralLoggingConfig is a structure that contains configuration for the central logging stack.

type CentralLoggingConfiguration added in v1.13.0

type CentralLoggingConfiguration func() (CentralLoggingConfig, error)

CentralLoggingConfiguration is a function alias for returning configuration for the central logging.

type CentralMonitoringConfig added in v1.13.0

type CentralMonitoringConfig struct {
	// ScrapeConfigs are the scrape configurations for central Prometheus.
	ScrapeConfigs []string
	// CAdvisorScrapeConfigMetricRelabelConfigs are metric_relabel_configs for the cadvisor scrape config job.
	CAdvisorScrapeConfigMetricRelabelConfigs []string
}

CentralMonitoringConfig is a structure that contains configuration for the central monitoring stack.

type CentralMonitoringConfiguration added in v1.13.0

type CentralMonitoringConfiguration func() (CentralMonitoringConfig, error)

CentralMonitoringConfiguration is a function alias for returning configuration for the central monitoring.

type Class added in v1.51.0

type Class uint8

Class is a type alias for describing the class of a resource.

const (
	// Runtime means that the resource belongs to the runtime cluster (seed).
	Runtime Class = iota
	// Application means that the resource belongs to the target cluster (shoot).
	Application
)

type ClusterType added in v1.51.0

type ClusterType string

ClusterType is a type alias for a cluster type.

const (
	// ClusterTypeSeed is a constant for the 'seed' cluster type.
	ClusterTypeSeed ClusterType = "seed"
	// ClusterTypeShoot is a constant for the 'shoot' cluster type.
	ClusterTypeShoot ClusterType = "shoot"
)

type DeployMigrateWaiter added in v1.8.0

type DeployMigrateWaiter interface {
	Deployer
	Migrator
	MigrateWaiter
	Waiter
}

DeployMigrateWaiter controls and waits for the life-cycle and control-plane migration operations of a component.

type DeployWaiter

type DeployWaiter interface {
	Deployer
	Waiter
}

DeployWaiter controls and waits for life-cycle operations of a component.

func NoOp

func NoOp() DeployWaiter

NoOp does nothing.

func OpDestroyAndWait

func OpDestroyAndWait(dw ...Deployer) DeployWaiter

OpDestroyAndWait creates a DeployWaiter which calls Destroy instead of Deploy, and WaitCleanup.

func OpDestroyWithoutWait added in v1.61.0

func OpDestroyWithoutWait(dw ...Deployer) DeployWaiter

OpDestroyWithoutWait creates a DeployWaiter which calls Destroy instead of Deploy.

func OpWait added in v1.61.0

func OpWait(dw ...Deployer) DeployWaiter

OpWait creates a DeployWaiter which calls Wait .

type Deployer

type Deployer interface {
	// Deploy a component.
	Deploy(ctx context.Context) error
	// Destroy already deployed component.
	Destroy(ctx context.Context) error
}

Deployer is used to control the life-cycle of a component.

func OpDestroy

func OpDestroy(d ...Deployer) Deployer

OpDestroy creates a Deployer which calls Destroy instead of Deploy.

type IstioConfigInterface added in v1.63.0

type IstioConfigInterface interface {
	// ServiceName is the currently used name of the istio ingress service, which is responsible for the shoot cluster.
	ServiceName() string
	// Namespace is the currently used namespace of the istio ingress gateway, which is responsible for the shoot cluster.
	Namespace() string
	// LoadBalancerAnnotations contain the annotation to be used for the istio ingress service load balancer.
	LoadBalancerAnnotations() map[string]string
	// Labels contain the labels to be used for the istio ingress gateway entities.
	Labels() map[string]string
}

IstioConfigInterface contains functions for retrieving data from the istio configuration.

type MigrateWaiter added in v1.8.0

type MigrateWaiter interface {
	WaitMigrate(ctx context.Context) error
}

MigrateWaiter waits for the control-plane migration operations of a component to finish.

type Migrator added in v1.8.0

type Migrator interface {
	Restore(ctx context.Context, shootState *v1alpha1.ShootState) error
	Migrate(ctx context.Context) error
}

Migrator is used to control the control-plane migration operations of a component.

type MonitoringComponent added in v1.11.0

type MonitoringComponent interface {
	// ScrapeConfigs returns the scrape configurations for Prometheus.
	ScrapeConfigs() ([]string, error)
	// AlertingRules returns the alerting rules configs for AlertManager (mapping file name to rule config).
	AlertingRules() (map[string]string, error)
}

MonitoringComponent exposes configuration for Prometheus as well as the AlertManager.

type Phase added in v1.11.0

type Phase int

Phase is the phase of a component.

const (
	// PhaseUnknown is in an unknown component phase.
	PhaseUnknown Phase = iota
	// PhaseEnabled is when a component was enabled before and it's still active.
	PhaseEnabled
	// PhaseDisabled is when a component was disabled before and it's still disabled.
	PhaseDisabled
	// PhaseEnabling is when a component was disabled before, but it's being activated.
	PhaseEnabling
	// PhaseDisabling is when a component was enabled before, but it's being disabled.
	PhaseDisabling
)

func (Phase) Done added in v1.11.0

func (s Phase) Done() Phase

Done returns a completed phase. e.g. Enabling -> Enabled Disabling -> Disabled otherwise returns the same phase.

type ResourceConfig added in v1.51.0

type ResourceConfig struct {
	Obj      client.Object
	Class    Class
	MutateFn func()
}

ResourceConfig contains the configuration for a resource. More concretely, it specifies the class and a mutation function MutateFn which should mutate the specification of the provided object Obj.

type ResourceConfigs added in v1.51.0

type ResourceConfigs []ResourceConfig

ResourceConfigs is a list of multiple ResourceConfig objects.

func MergeResourceConfigs added in v1.51.0

func MergeResourceConfigs(configsLists ...ResourceConfigs) ResourceConfigs

MergeResourceConfigs merges the provided ResourceConfigs lists into a new ResourceConfigs object.

type Secret added in v1.11.0

type Secret struct {
	// Name is the name of the Kubernetes secret object.
	Name string
	// Checksum is the checksum of the secret's data.
	Checksum string
	// Data is the data of the secret.
	Data map[string][]byte
}

Secret is a structure that contains information about a Kubernetes secret which is managed externally.

type Waiter

type Waiter interface {
	// Wait for deployment to finish and component to report ready.
	Wait(ctx context.Context) error
	// WaitCleanup for destruction to finish and component to be fully removed.
	WaitCleanup(ctx context.Context) error
}

Waiter waits for life-cycle operations of a component to finish.

Directories

Path Synopsis
mock
Package backupentry is a generated GoMock package.
Package backupentry is a generated GoMock package.
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
mock
Package etcdcopybackupstask is a generated GoMock package.
Package etcdcopybackupstask is a generated GoMock package.
extensions
backupentry/mock
Package backupentry is a generated GoMock package.
Package backupentry is a generated GoMock package.
containerruntime/mock
Package containerruntime is a generated GoMock package.
Package containerruntime is a generated GoMock package.
controlplane/mock
Package controlplane is a generated GoMock package.
Package controlplane is a generated GoMock package.
crds/assets
Package seed_crds contains generated manifests for all CRDs that are present on a Seed cluster.
Package seed_crds contains generated manifests for all CRDs that are present on a Seed cluster.
dnsrecord/mock
Package dnsrecord is a generated GoMock package.
Package dnsrecord is a generated GoMock package.
extension/mock
Package extension is a generated GoMock package.
Package extension is a generated GoMock package.
infrastructure/mock
Package infrastructure is a generated GoMock package.
Package infrastructure is a generated GoMock package.
operatingsystemconfig/mock
Package operatingsystemconfig is a generated GoMock package.
Package operatingsystemconfig is a generated GoMock package.
operatingsystemconfig/original/components/kubelet/mock
Package kubelet is a generated GoMock package.
Package kubelet is a generated GoMock package.
operatingsystemconfig/original/components/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
operatingsystemconfig/utils/mock
Package utils is a generated GoMock package.
Package utils is a generated GoMock package.
worker/mock
Package worker is a generated GoMock package.
Package worker is a generated GoMock package.
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
logging
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
vpa
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.

Jump to

Keyboard shortcuts

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