Help us shape the future of Go! Take the 2026 Go Developer Survey

monitoring

package
v1.90.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CentralLoggingConfiguration

func CentralLoggingConfiguration() (component.CentralLoggingConfig, error)

CentralLoggingConfiguration returns a fluent-bit parser and filter for the monitoring logs.

Types

type DataMigration

type DataMigration struct {
	// Client is the client.
	Client client.Client
	// Namespace is the namespace.
	Namespace string
	// StorageCapacity is the storage capacity of the disk.
	StorageCapacity resource.Quantity
	// FullName is the full name of the component (e.g., prometheus-<name> or alertmanager-<name>).
	FullName string

	// ImageAlpine defines the container image of alpine.
	ImageAlpine string
	// StatefulSetName is the name of the old StatefulSet.
	StatefulSetName string
	// PVCName is the name of the old PersistentVolumeClaim.
	PVCName string
}

DataMigration is a struct for migrating data from existing disks.

func (*DataMigration) ExistingPVTakeOverPrerequisites

func (d *DataMigration) ExistingPVTakeOverPrerequisites(ctx context.Context, log logr.Logger) (bool, *corev1.PersistentVolume, *corev1.PersistentVolumeClaim, error)

ExistingPVTakeOverPrerequisites performs the PV take over prerequisites.

func (*DataMigration) FinalizeExistingPVTakeOver

func (d *DataMigration) FinalizeExistingPVTakeOver(ctx context.Context, log logr.Logger, pv *corev1.PersistentVolume) error

FinalizeExistingPVTakeOver finalizes the PV take over.

func (*DataMigration) PrepareExistingPVTakeOver

func (d *DataMigration) PrepareExistingPVTakeOver(ctx context.Context, log logr.Logger, pv *corev1.PersistentVolume, oldPVC *corev1.PersistentVolumeClaim) error

PrepareExistingPVTakeOver prepares the PV take over.

type Interface

type Interface interface {
	component.Deployer
	// SetNamespaceUID sets the UID of the namespace into which the monitoring components shall be deployed.
	SetNamespaceUID(types.UID)
	// SetComponents sets the monitoring components.
	SetComponents([]component.MonitoringComponent)
	// SetWildcardCertName sets the WildcardCertName components.
	SetWildcardCertName(*string)
}

Interface contains functions for a monitoring deployer.

func New

func New(
	client client.Client,
	chartApplier kubernetes.ChartApplier,
	secretsManager secretsmanager.Interface,
	namespace string,
	values Values,
) Interface

New creates a new instance of Interface for the monitoring components.

type Values

type Values struct {
	// AlertingSecrets is a list of alerting secrets.
	AlertingSecrets []*corev1.Secret
	// AlertmanagerEnabled specifies whether Alertmanager is enabled.
	AlertmanagerEnabled bool
	// APIServerDomain is the domain of the API server.
	APIServerDomain string
	// APIServerHost is the host of the API server.
	APIServerHost string
	// APIServerServiceIP is the service IP of the API server.
	APIServerServiceIP *string
	// Components is a list of monitoring components.
	Components []component.MonitoringComponent
	// Config is the monitoring config.
	Config *gardenletconfig.MonitoringConfig
	// GlobalShootRemoteWriteSecret is the global secret for remote write config.
	GlobalShootRemoteWriteSecret *corev1.Secret
	// IgnoreAlerts specifies whether alerts should be ignored.
	IgnoreAlerts bool
	// ImageBlackboxExporter is the image of BlackboxExporter.
	ImageBlackboxExporter string
	// ImageConfigmapReloader is the image of ConfigmapReloader.
	ImageConfigmapReloader string
	// ImagePrometheus is the image of Prometheus.
	ImagePrometheus string
	// IngressHostPrometheus is the host name of Prometheus.
	IngressHostPrometheus string
	// IsWorkerless specifies whether the cluster is workerless.
	IsWorkerless bool
	// KubernetesVersion is the Kubernetes version of the target cluster.
	KubernetesVersion string
	// MonitoringConfig is the monitoring config.
	MonitoringConfig *gardencorev1beta1.Monitoring
	// NamespaceUID is the UID of the namespace in the runtime cluster.
	NamespaceUID types.UID
	// NodeLocalDNSEnabled specifies whether node-local-dns is enabled.
	NodeLocalDNSEnabled bool
	// ProjectName is the name of the project.
	ProjectName string
	// PodNetworkCIDR is the CIDR of the pod network.
	PodNetworkCIDR *string
	// ServiceNetworkCIDR is the CIDR of the service network.
	ServiceNetworkCIDR *string
	// NodeNetworkCIDR is the CIDR of the node network.
	NodeNetworkCIDR *string
	// Replicas is the number of replicas.
	Replicas int32
	// RuntimeProviderType is the provider type of the runtime cluster.
	RuntimeProviderType string
	// RuntimeRegion is the region of the runtime cluster.
	RuntimeRegion string
	// TargetName is the name of the target cluster.
	TargetName string
	// TargetProviderType is the provider type of the target cluster.
	TargetProviderType string
	// WildcardCertName is name of wildcard tls certificate which is issued for the seed's ingress domain.
	WildcardCertName *string
}

Values is a set of configuration values for the monitoring components.

Directories

Path Synopsis
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.

Jump to

Keyboard shortcuts

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