v1beta2

package
v0.0.0-...-6f12d6b Latest Latest
Warning

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

Go to latest
Published: Sep 18, 2024 License: Apache-2.0 Imports: 14 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 {
	// CustomObservabilityHubURL overrides the endpoint used by the metrics-collector to send
	// metrics to the hub server.
	// For the metrics-collector that runs in the hub this setting has no effect.
	// +optional
	CustomObservabilityHubURL observabilityshared.URL `json:"customObservabilityHubURL,omitempty"`
	// CustomAlertmanagerHubURL overrides the alertmanager URL to send alerts from the spoke
	// to the hub server.
	// For the alertmanager that runs in the hub this setting has no effect.
	// +optional
	CustomAlertmanagerHubURL observabilityshared.URL `json:"customAlertmanagerHubURL,omitempty"`
	// 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 *AlertmanagerSpec `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"`
	// spec for multicluster-obervability-addon
	// +optional
	MultiClusterObservabilityAddon *CommonSpec `json:"multiClusterObservabilityAddon,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 AlertmanagerSpec

type AlertmanagerSpec struct {
	// Secrets is a list of Secrets in the same namespace as the MCO object.
	// Each of these Secrets shall be mounted into the Alertmanager Pods.
	// Secrets are added to the StatefulSet as a volume named secret-<secret-name>.
	// Secrets are mounted into /etc/alertmanager/secrets/<secret-name> in the 'alertmanager' container.
	Secrets []string `json:"secrets,omitempty"`
	// +optional
	CommonSpec `json:",inline"`
}

AlertmanagerSpec defines the spec for the Alertmanager component.

func (*AlertmanagerSpec) DeepCopy

func (in *AlertmanagerSpec) DeepCopy() *AlertmanagerSpec

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

func (*AlertmanagerSpec) DeepCopyInto

func (in *AlertmanagerSpec) DeepCopyInto(out *AlertmanagerSpec)

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 CapabilitiesSpec

type CapabilitiesSpec struct {
	// Platform defines the spec for platform observability capabilities managed by the addon.
	// The platform is defined as the ACM/OCM/OCP components running on managed clusters to run,
	// manage and observe the managed clusters themselves locally as well as remotely from a hub.
	// Such components live on namespaces with prefixes for example:
	//   - openshift-
	//   - open-cluster-management-
	//   - default
	//
	// +optional
	// +kubebuilder:validation:Optional
	Platform *PlatformCapabilitiesSpec `json:"platform,omitempty"`
	// UserWorkloads defines the spec for user workloads observability capabilities managed by the addon.
	// As user workloads are defined any containers hosted on spoke clusters and execute any task unrelated
	// to managing the fleet or the individual managed cluster itself.
	//
	// +optional
	// +kubebuilder:validation:Optional
	UserWorkloads *UserWorkloadCapabilitiesSpec `json:"userWorkloads,omitempty"`
}

CapabilitiesSpec defines the platform and user workload observabilities capabilities managed exclusively by the multicluster-observability-addon. Enabling any of these capabilities will result in deploying the following resources:

  • The addon Deployment, ServiceAccount and RBAC.
  • A ClusterManagementAddon managing placement for capability related custom resources.
  • An AddonDeploymentConfig managing the addon feature gates for activated capabilities.

func (*CapabilitiesSpec) DeepCopy

func (in *CapabilitiesSpec) DeepCopy() *CapabilitiesSpec

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

func (*CapabilitiesSpec) DeepCopyInto

func (in *CapabilitiesSpec) DeepCopyInto(out *CapabilitiesSpec)

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

type ClusterLogForwarderSpec

type ClusterLogForwarderSpec struct {
	// Enabled defines a flag to enable/disable the platform log collection using the ClusterLogForwarder resource.
	//
	// +optional
	// +kubebuilder:validation:Optional
	Enabled bool `json:"enabled,omitempty"`
}

ClusterLogForwarderSpec defines the spec for the addon to collect and forward logs using the ClusterLogForwarder custom resource.

func (*ClusterLogForwarderSpec) DeepCopy

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

func (*ClusterLogForwarderSpec) DeepCopyInto

func (in *ClusterLogForwarderSpec) DeepCopyInto(out *ClusterLogForwarderSpec)

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 InstrumentationSpec

type InstrumentationSpec struct {
	// Enabled defines a flag to enable/disable the user workload observability collection using the Instrumentation resource.
	//
	// +optional
	// +kubebuilder:validation:Optional
	Enabled bool `json:"enabled,omitempty"`
}

OpenTelemetryCollectorSpec defines the spec for the addon to collect observability signals using the Instrumentation custom resource.

func (*InstrumentationSpec) DeepCopy

func (in *InstrumentationSpec) DeepCopy() *InstrumentationSpec

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

func (*InstrumentationSpec) DeepCopyInto

func (in *InstrumentationSpec) DeepCopyInto(out *InstrumentationSpec)

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() (admission.Warnings, error)

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

func (*MultiClusterObservability) ValidateDelete

func (mco *MultiClusterObservability) ValidateDelete() (admission.Warnings, error)

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

func (*MultiClusterObservability) ValidateUpdate

func (mco *MultiClusterObservability) ValidateUpdate(old runtime.Object) (admission.Warnings, 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 {
	// Capabilities defines the platform and user workload observabilities capabilities
	// managed exclusively by the multicluster-observability-addon. Enabling any of these
	// capabilities will result in deploying the following resources:
	//   - The addon Deployment, ServiceAccount and RBAC.
	//   - A ClusterManagementAddon managing placement for capability related custom resources.
	//   - An AddonDeploymentConfig managing the addon feature gates for activated capabilities.
	//
	// +optional
	// +kubebuilder:validation:Optional
	Capabilities *CapabilitiesSpec `json:"capabilities,omitempty"`
	// Advanced configurations for observability
	// +optional
	AdvancedConfig *AdvancedConfig `json:"advanced,omitempty"`
	// Size read and write paths of your Observability instance
	// +optional
	InstanceSize TShirtSize `json:"instanceSize,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 OpenTelemetryCollectionSpec

type OpenTelemetryCollectionSpec struct {
	// Collector defines the spec for the user workload observability collection using the OpenTelemetryCollector resource.
	//
	// +optional
	// +kubebuilder:validation:Optional
	Collector OpenTelemetryCollectorSpec `json:"collector,omitempty"`
	// Instrumentation defines the spec for the user workload observability collection using the Instrumentation resource.
	//
	// +optional
	// +kubebuilder:validation:Optional
	Instrumentation InstrumentationSpec `json:"instrumentation,omitempty"`
}

OpenTelemetryCollectionSpec defines the spec for the addon to collect and forward observability signals from user workloads hosted on fleet managed clusters using the OpenTelemetryCollector with or without instrumentation.

func (*OpenTelemetryCollectionSpec) DeepCopy

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

func (*OpenTelemetryCollectionSpec) DeepCopyInto

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

type OpenTelemetryCollectorSpec

type OpenTelemetryCollectorSpec struct {
	// Enabled defines a flag to enable/disable the user workload observability collection using the OpenTelemetryCollector resource.
	//
	// +optional
	// +kubebuilder:validation:Optional
	Enabled bool `json:"enabled,omitempty"`
}

OpenTelemetryCollectorSpec defines the spec for the addon to collect and forward observability signals using the OpenTelemetryCollector custom resource.

func (*OpenTelemetryCollectorSpec) DeepCopy

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

func (*OpenTelemetryCollectorSpec) DeepCopyInto

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

type PlatformCapabilitiesSpec

type PlatformCapabilitiesSpec struct {
	// Logs defines the configuration spec for collecting and storing logs from
	// platform components running on fleet managed clusters.
	//
	// +optional
	// +kubebuilder:validation:Optional
	Logs PlatformLogsSpec `json:"logs,omitempty"`
}

PlatformCapabilitiesSpec defines the observability capabilities managed by the addon for platform components.

func (*PlatformCapabilitiesSpec) DeepCopy

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

func (*PlatformCapabilitiesSpec) DeepCopyInto

func (in *PlatformCapabilitiesSpec) DeepCopyInto(out *PlatformCapabilitiesSpec)

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

type PlatformLogsCollectionSpec

type PlatformLogsCollectionSpec struct {
	// Enabled defines a flag to enable/disable the platform log collection.
	//
	// +optional
	// +kubebuilder:validation:Optional
	Enabled bool `json:"enabled,omitempty"`
}

PlatformLogsCollectionSpec defines the spec for the addon to collect and forward logs from fleet managed clusters using the ClusterLogForwarder custom resource.

func (*PlatformLogsCollectionSpec) DeepCopy

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

func (*PlatformLogsCollectionSpec) DeepCopyInto

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

type PlatformLogsSpec

type PlatformLogsSpec struct {
	// Collection defines the spec for the addon to collect and forward logs
	// from fleet managed clusters.
	//
	// +optional
	// +kubebuilder:validation:Optional
	Collection PlatformLogsCollectionSpec `json:"collection,omitempty"`
}

PlatformLogsSpec defines the spec for the addon to collect, forward and store logs from fleet managed clusters.

func (*PlatformLogsSpec) DeepCopy

func (in *PlatformLogsSpec) DeepCopy() *PlatformLogsSpec

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

func (*PlatformLogsSpec) DeepCopyInto

func (in *PlatformLogsSpec) DeepCopyInto(out *PlatformLogsSpec)

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"`

	// Set to true to use the old Prometheus engine for PromQL queries.
	// +optional
	UsePrometheusEngine bool `json:"usePrometheusEngine,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.

type TShirtSize

type TShirtSize string

T Shirt size class for a particular o11y resource. +kubebuilder:validation:Enum:={"default","minimal","small","medium","large","xlarge","2xlarge","4xlarge"}

type UserWorkloadCapabilitiesSpec

type UserWorkloadCapabilitiesSpec struct {
	// Logs defines the spec for the addon to collect, forward and store logs
	// from user workloads hosted on fleet managed clusters.
	//
	// +optional
	// +kubebuilder:validation:Optional
	Logs UserWorkloadLogsSpec `json:"logs,omitempty"`
	// Traces defines the spec for the addon to collect, forward and store traces
	// from user workloads hosted on fleet managed clusters.
	//
	// +optional
	// +kubebuilder:validation:Optional
	Traces UserWorkloadTracesSpec `json:"traces,omitempty"`
}

UserWorkloadCapabilitiesSpec defines the spec for user workload observability capabilities managed by the addon.

func (*UserWorkloadCapabilitiesSpec) DeepCopy

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

func (*UserWorkloadCapabilitiesSpec) DeepCopyInto

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

type UserWorkloadLogsCollectionSpec

type UserWorkloadLogsCollectionSpec struct {
	// Enabled defines a flag to enable/disable the platform log collection using the ClusterLogForwarder resource.
	//
	// +optional
	// +kubebuilder:validation:Optional
	ClusterLogForwarder ClusterLogForwarderSpec `json:"clusterLogForwarder,omitempty"`
}

UserWorkloadLogsCollectionSpec defines the spec for the addon to collect and forward logs from user workloads hosted on fleet managed clusters.

func (*UserWorkloadLogsCollectionSpec) DeepCopy

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

func (*UserWorkloadLogsCollectionSpec) DeepCopyInto

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

type UserWorkloadLogsSpec

type UserWorkloadLogsSpec struct {
	// Collection defines the spec for the addon to collect and forward logs
	// from user workloads hosted on fleet managed clusters.
	//
	// +optional
	// +kubebuilder:validation:Optional
	Collection UserWorkloadLogsCollectionSpec `json:"collection,omitempty"`
}

UserWorkloadLogsSpec defines the spec for the addon to collect,forward and store logs from user workloads hosted on fleet managed clusters.

func (*UserWorkloadLogsSpec) DeepCopy

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

func (*UserWorkloadLogsSpec) DeepCopyInto

func (in *UserWorkloadLogsSpec) DeepCopyInto(out *UserWorkloadLogsSpec)

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

type UserWorkloadTracesSpec

type UserWorkloadTracesSpec struct {
	// Collection defines the spec for the addon to collect and forward traces
	// from user workloads hosted on fleet managed clusters.
	//
	// +optional
	// +kubebuilder:validation:Optional
	Collection OpenTelemetryCollectionSpec `json:"collection,omitempty"`
}

UserWorkloadTracesSpec defines the spec for the addon to collect, forward and store traces from user workloads hosted on fleet managed clusters.

func (*UserWorkloadTracesSpec) DeepCopy

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

func (*UserWorkloadTracesSpec) DeepCopyInto

func (in *UserWorkloadTracesSpec) DeepCopyInto(out *UserWorkloadTracesSpec)

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