component

package
v1.90.2 Latest Latest
Warning

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

Go to latest
Published: Mar 12, 2024 License: Apache-2.0, BSD-2-Clause, MIT, + 1 more Imports: 7 Imported by: 6

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AllApplicationObjects

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

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

func AllRuntimeObjects

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

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

func DeployResourceConfigs

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

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

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

type AggregateMonitoringConfiguration func() (AggregateMonitoringConfig, error)

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

type CentralLoggingConfig

type CentralLoggingConfig struct {
	// Inputs contains the inputs for specific component.
	Inputs []*fluentbitv1alpha2.ClusterInput
	// Filters contains the filters for specific component.
	Filters []*fluentbitv1alpha2.ClusterFilter
	// Parser contains the parsers for specific component.
	Parsers []*fluentbitv1alpha2.ClusterParser
}

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

type CentralLoggingConfiguration

type CentralLoggingConfiguration func() (CentralLoggingConfig, error)

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

type CentralMonitoringConfig

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

type CentralMonitoringConfiguration func() (CentralMonitoringConfig, error)

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

type Class

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

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

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

func OpDestroyWithoutWait(dw ...Deployer) DeployWaiter

OpDestroyWithoutWait creates a DeployWaiter which calls Destroy instead of Deploy.

func OpWait

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

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

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

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

type Migrator

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

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

type MonitoringComponent

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 ResourceConfig

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

type ResourceConfigs []ResourceConfig

ResourceConfigs is a list of multiple ResourceConfig objects.

func MergeResourceConfigs

func MergeResourceConfigs(configsLists ...ResourceConfigs) ResourceConfigs

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

type Secret

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
autoscaling
clusterautoscaler/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
hvpa/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
vpa
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.
copybackupstask/mock
Package etcdcopybackupstask is a generated GoMock package.
Package etcdcopybackupstask is a generated GoMock package.
etcd/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
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.
garden
backupentry/mock
Package backupentry is a generated GoMock package.
Package backupentry is a generated GoMock package.
gardener
apiserver/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
resourcemanager/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
kubernetes
apiserver/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
controllermanager/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
dashboard/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
proxy/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
scheduler/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
networking
coredns/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
nodelocaldns/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
vpn/seedserver/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
vpn/shoot/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
nodemanagement
machinecontrollermanager/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
observability
logging/vali/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
monitoring/alertmanager/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
monitoring/blackboxexporter/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
monitoring/kubestatemetrics/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
monitoring/nodeexporter/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
plutono/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
seed
shoot
system/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