monitoring

package
v1.94.0 Latest Latest
Warning

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

Go to latest
Published: May 2, 2024 License: Apache-2.0 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
	// OldSubPath is the subpath of the database on the old persistent volume. prometheus-operator assumes a subpath
	// `prometheus-db`, hence, if it was different before, it needs to be migrated.
	// If this field is not specified, the old subpath is assumed to be `prometheus-`.
	OldSubPath *string

	// ImageAlpine defines the container image of alpine.
	ImageAlpine string
	// StatefulSetName is the name of the old StatefulSet.
	StatefulSetName string
	// PVCNames is the list of names of the old PersistentVolumeClaims.
	PVCNames []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, pvs []*corev1.PersistentVolume) error

FinalizeExistingPVTakeOver finalizes the PV take over.

func (*DataMigration) PrepareExistingPVTakeOver

func (d *DataMigration) PrepareExistingPVTakeOver(ctx context.Context, log logr.Logger, pvs []*corev1.PersistentVolume, oldPVCs []*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