v1beta2

package
v0.0.0-...-f264b1e Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

Package v1beta2 contains API Schema definitions for the observability v1beta2 API group +kubebuilder:object:generate=true +groupName=observability.open-cluster-management.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "observability.open-cluster-management.io", Version: "v1beta2"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type AdvancedConfig

type AdvancedConfig struct {
	// The spec of the data retention configurations
	// +optional
	RetentionConfig *RetentionConfig `json:"retentionConfig,omitempty"`
	// The spec of rbac-query-proxy
	// +optional
	RBACQueryProxy *CommonSpec `json:"rbacQueryProxy,omitempty"`
	// The spec of grafana
	// +optional
	Grafana *CommonSpec `json:"grafana,omitempty"`
	// The spec of alertmanager
	// +optional
	Alertmanager *CommonSpec `json:"alertmanager,omitempty"`
	// Specifies the store memcached
	// +optional
	StoreMemcached *CacheConfig `json:"storeMemcached,omitempty"`
	// Specifies the store memcached
	// +optional
	QueryFrontendMemcached *CacheConfig `json:"queryFrontendMemcached,omitempty"`
	// Spec of observatorium api
	// +optional
	ObservatoriumAPI *CommonSpec `json:"observatoriumAPI,omitempty"`
	// spec for thanos-query-frontend
	// +optional
	QueryFrontend *QueryFrontendSpec `json:"queryFrontend,omitempty"`
	// spec for thanos-query
	// +optional
	Query *QuerySpec `json:"query,omitempty"`
	// spec for thanos-compact
	// +optional
	Compact *CompactSpec `json:"compact,omitempty"`
	// spec for thanos-receiver
	// +optional
	Receive *ReceiveSpec `json:"receive,omitempty"`
	// spec for thanos-rule
	// +optional
	Rule *RuleSpec `json:"rule,omitempty"`
	// spec for thanos-store-shard
	// +optional
	Store *StoreSpec `json:"store,omitempty"`
}

func (*AdvancedConfig) DeepCopy

func (in *AdvancedConfig) DeepCopy() *AdvancedConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvancedConfig.

func (*AdvancedConfig) DeepCopyInto

func (in *AdvancedConfig) DeepCopyInto(out *AdvancedConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CacheConfig

type CacheConfig struct {
	// Memory limit of Memcached in megabytes.
	// +optional
	MemoryLimitMB *int32 `json:"memoryLimitMb,omitempty"`
	// Max item size of Memcached (default: 1m, min: 1k, max: 1024m).
	// +optional
	MaxItemSize string `json:"maxItemSize,omitempty"`
	// Max simultaneous connections of Memcached.
	// +optional
	ConnectionLimit *int32 `json:"connectionLimit,omitempty"`

	CommonSpec `json:",inline"`
}

CacheConfig is the spec of memcached.

func (*CacheConfig) DeepCopy

func (in *CacheConfig) DeepCopy() *CacheConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CacheConfig.

func (*CacheConfig) DeepCopyInto

func (in *CacheConfig) DeepCopyInto(out *CacheConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CommonSpec

type CommonSpec struct {
	// Compute Resources required by this component.
	// +optional
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
	// Replicas for this component.
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`
}

func (*CommonSpec) DeepCopy

func (in *CommonSpec) DeepCopy() *CommonSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonSpec.

func (*CommonSpec) DeepCopyInto

func (in *CommonSpec) DeepCopyInto(out *CommonSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CompactSpec

type CompactSpec struct {
	// Compute Resources required by the compact.
	// +optional
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
	// Annotations is an unstructured key value map stored with a service account
	// +optional
	ServiceAccountAnnotations map[string]string `json:"serviceAccountAnnotations,omitempty"`

	// WARNING: Use only with guidance from Red Hat Support. Using this feature incorrectly can
	// lead to an unrecoverable state, data loss, or both, which is not covered by Red Hat Support.
	// +optional
	Containers []corev1.Container `json:"containers,omitempty"`
}

Thanos Compact Spec.

func (*CompactSpec) DeepCopy

func (in *CompactSpec) DeepCopy() *CompactSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompactSpec.

func (*CompactSpec) DeepCopyInto

func (in *CompactSpec) DeepCopyInto(out *CompactSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MultiClusterObservability

type MultiClusterObservability struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   MultiClusterObservabilitySpec   `json:"spec,omitempty"`
	Status MultiClusterObservabilityStatus `json:"status,omitempty"`
}

MultiClusterObservability defines the configuration for the Observability installation on Hub and Managed Clusters all through this one custom resource. +kubebuilder:pruning:PreserveUnknownFields +kubebuilder:resource:path=multiclusterobservabilities,scope=Cluster,shortName=mco +operator-sdk:csv:customresourcedefinitions:displayName="MultiClusterObservability"

func (*MultiClusterObservability) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MultiClusterObservability.

func (*MultiClusterObservability) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MultiClusterObservability) DeepCopyObject

func (in *MultiClusterObservability) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*MultiClusterObservability) Hub

Hub marks this type as a conversion hub.

func (*MultiClusterObservability) SetupWebhookWithManager

func (mco *MultiClusterObservability) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*MultiClusterObservability) ValidateCreate

func (mco *MultiClusterObservability) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*MultiClusterObservability) ValidateDelete

func (mco *MultiClusterObservability) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*MultiClusterObservability) ValidateUpdate

func (mco *MultiClusterObservability) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type MultiClusterObservabilityList

type MultiClusterObservabilityList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []MultiClusterObservability `json:"items"`
}

+kubebuilder:object:root=true MultiClusterObservabilityList contains a list of MultiClusterObservability

func (*MultiClusterObservabilityList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MultiClusterObservabilityList.

func (*MultiClusterObservabilityList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MultiClusterObservabilityList) DeepCopyObject

func (in *MultiClusterObservabilityList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MultiClusterObservabilitySpec

type MultiClusterObservabilitySpec struct {
	// Advanced configurations for observability
	// +optional
	AdvancedConfig *AdvancedConfig `json:"advanced,omitempty"`
	// Enable or disable the downsample.
	// +optional
	// +kubebuilder:default:=true
	EnableDownsampling bool `json:"enableDownsampling"`
	// Pull policy of the MultiClusterObservability images
	// +optional
	ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`
	// Pull secret of the MultiClusterObservability images
	// +optional
	ImagePullSecret string `json:"imagePullSecret,omitempty"`
	// Spec of NodeSelector
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`
	// Tolerations causes all components to tolerate any taints.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
	// Specifies the storage to be used by Observability
	// +required
	StorageConfig *StorageConfig `json:"storageConfig"`
	// The ObservabilityAddonSpec defines the global settings for all managed
	// clusters which have observability add-on enabled.
	// +required
	ObservabilityAddonSpec *observabilityshared.ObservabilityAddonSpec `json:"observabilityAddonSpec"`
}

MultiClusterObservabilitySpec defines the desired state of MultiClusterObservability.

func (*MultiClusterObservabilitySpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MultiClusterObservabilitySpec.

func (*MultiClusterObservabilitySpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MultiClusterObservabilityStatus

type MultiClusterObservabilityStatus struct {

	// Represents the status of each deployment
	// +optional
	Conditions []observabilityshared.Condition `json:"conditions,omitempty"`
}

MultiClusterObservabilityStatus defines the observed state of MultiClusterObservability.

func (*MultiClusterObservabilityStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MultiClusterObservabilityStatus.

func (*MultiClusterObservabilityStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueryFrontendSpec

type QueryFrontendSpec struct {
	// WARNING: Use only with guidance from Red Hat Support. Using this feature incorrectly can
	// lead to an unrecoverable state, data loss, or both, which is not covered by Red Hat Support.
	// +optional
	Containers []corev1.Container `json:"containers,omitempty"`

	CommonSpec `json:",inline"`
}

Thanos QueryFrontend Spec.

func (*QueryFrontendSpec) DeepCopy

func (in *QueryFrontendSpec) DeepCopy() *QueryFrontendSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryFrontendSpec.

func (*QueryFrontendSpec) DeepCopyInto

func (in *QueryFrontendSpec) DeepCopyInto(out *QueryFrontendSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QuerySpec

type QuerySpec struct {
	// Annotations is an unstructured key value map stored with a service account
	// +optional
	ServiceAccountAnnotations map[string]string `json:"serviceAccountAnnotations,omitempty"`

	// WARNING: Use only with guidance from Red Hat Support. Using this feature incorrectly can
	// lead to an unrecoverable state, data loss, or both, which is not covered by Red Hat Support.
	// +optional
	Containers []corev1.Container `json:"containers,omitempty"`

	CommonSpec `json:",inline"`
}

Thanos Query Spec.

func (*QuerySpec) DeepCopy

func (in *QuerySpec) DeepCopy() *QuerySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QuerySpec.

func (*QuerySpec) DeepCopyInto

func (in *QuerySpec) DeepCopyInto(out *QuerySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReceiveSpec

type ReceiveSpec struct {
	// Annotations is an unstructured key value map stored with a service account
	// +optional
	ServiceAccountAnnotations map[string]string `json:"serviceAccountAnnotations,omitempty"`

	// WARNING: Use only with guidance from Red Hat Support. Using this feature incorrectly can
	// lead to an unrecoverable state, data loss, or both, which is not covered by Red Hat Support.
	// +optional
	Containers []corev1.Container `json:"containers,omitempty"`

	CommonSpec `json:",inline"`
}

Thanos Receive Spec.

func (*ReceiveSpec) DeepCopy

func (in *ReceiveSpec) DeepCopy() *ReceiveSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReceiveSpec.

func (*ReceiveSpec) DeepCopyInto

func (in *ReceiveSpec) DeepCopyInto(out *ReceiveSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RetentionConfig

type RetentionConfig struct {
	// How long to retain raw samples in a bucket.
	// It applies to --retention.resolution-raw in compact.
	// +optional
	RetentionResolutionRaw string `json:"retentionResolutionRaw,omitempty"`
	// How long to retain samples of resolution 1 (5 minutes) in bucket.
	// It applies to --retention.resolution-5m in compact.
	// +optional
	RetentionResolution5m string `json:"retentionResolution5m,omitempty"`
	// How long to retain samples of resolution 2 (1 hour) in bucket.
	// It applies to --retention.resolution-1h in compact.
	// +optional
	RetentionResolution1h string `json:"retentionResolution1h,omitempty"`
	// How long to retain raw samples in a local disk. It applies to rule/receive:
	// --tsdb.retention in receive
	// --tsdb.retention in rule
	// +optional
	RetentionInLocal string `json:"retentionInLocal,omitempty"`
	// configure --delete-delay in compact
	// Time before a block marked for deletion is deleted from bucket.
	// +optional
	DeleteDelay string `json:"deleteDelay,omitempty"`
	// configure --tsdb.block-duration in rule (Block duration for TSDB block)
	// +optional
	BlockDuration string `json:"blockDuration,omitempty"`
}

RetentionConfig is the spec of retention configurations.

func (*RetentionConfig) DeepCopy

func (in *RetentionConfig) DeepCopy() *RetentionConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetentionConfig.

func (*RetentionConfig) DeepCopyInto

func (in *RetentionConfig) DeepCopyInto(out *RetentionConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RuleSpec

type RuleSpec struct {
	// Evaluation interval
	// +optional
	EvalInterval string `json:"evalInterval,omitempty"`

	// Annotations is an unstructured key value map stored with a service account
	// +optional
	ServiceAccountAnnotations map[string]string `json:"serviceAccountAnnotations,omitempty"`

	// WARNING: Use only with guidance from Red Hat Support. Using this feature incorrectly can
	// lead to an unrecoverable state, data loss, or both, which is not covered by Red Hat Support.
	// +optional
	Containers []corev1.Container `json:"containers,omitempty"`

	CommonSpec `json:",inline"`
}

Thanos Rule Spec.

func (*RuleSpec) DeepCopy

func (in *RuleSpec) DeepCopy() *RuleSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleSpec.

func (*RuleSpec) DeepCopyInto

func (in *RuleSpec) DeepCopyInto(out *RuleSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StorageConfig

type StorageConfig struct {
	// Object store config secret for metrics
	// +required
	MetricObjectStorage *observabilityshared.PreConfiguredStorage `json:"metricObjectStorage"`
	// WriteStorage storage config secret list for metrics
	// +optional
	WriteStorage []*observabilityshared.PreConfiguredStorage `json:"writeStorage,omitempty"`
	// Specify the storageClass Stateful Sets. This storage class will also
	// be used for Object Storage if MetricObjectStorage was configured for
	// the system to create the storage.
	// +optional
	// +kubebuilder:default:=gp2
	StorageClass string `json:"storageClass,omitempty"`
	// The amount of storage applied to alertmanager stateful sets,
	// +optional
	// +kubebuilder:default:="1Gi"
	AlertmanagerStorageSize string `json:"alertmanagerStorageSize,omitempty"`
	// The amount of storage applied to thanos rule stateful sets,
	// +optional
	// +kubebuilder:default:="1Gi"
	RuleStorageSize string `json:"ruleStorageSize,omitempty"`
	// The amount of storage applied to thanos compact stateful sets,
	// +optional
	// +kubebuilder:default:="100Gi"
	CompactStorageSize string `json:"compactStorageSize,omitempty"`
	// The amount of storage applied to thanos receive stateful sets,
	// +optional
	// +kubebuilder:default:="100Gi"
	ReceiveStorageSize string `json:"receiveStorageSize,omitempty"`
	// The amount of storage applied to thanos store stateful sets,
	// +optional
	// +kubebuilder:default:="10Gi"
	StoreStorageSize string `json:"storeStorageSize,omitempty"`
}

StorageConfig is the spec of object storage.

func (*StorageConfig) DeepCopy

func (in *StorageConfig) DeepCopy() *StorageConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageConfig.

func (*StorageConfig) DeepCopyInto

func (in *StorageConfig) DeepCopyInto(out *StorageConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StoreSpec

type StoreSpec struct {
	// Annotations is an unstructured key value map stored with a service account
	// +optional
	ServiceAccountAnnotations map[string]string `json:"serviceAccountAnnotations,omitempty"`

	CommonSpec `json:",inline"`

	// WARNING: Use only with guidance from Red Hat Support. Using this feature incorrectly can
	// lead to an unrecoverable state, data loss, or both, which is not covered by Red Hat Support.
	// +optional
	Containers []corev1.Container `json:"containers,omitempty"`
}

Thanos Store Spec.

func (*StoreSpec) DeepCopy

func (in *StoreSpec) DeepCopy() *StoreSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoreSpec.

func (*StoreSpec) DeepCopyInto

func (in *StoreSpec) DeepCopyInto(out *StoreSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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