v1alpha1

package
v0.0.0-...-bf8b927 Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2024 License: Apache-2.0 Imports: 6 Imported by: 3

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the obsapi v1alpha1 API group +kubebuilder:object:generate=true +groupName=core.observatorium.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "core.observatorium.io", Version: "v1alpha1"}

	// 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 APIRBAC

type APIRBAC struct {
	// Roles is a slice of Observatorium API roles.
	Roles []RBACRole `json:"roles"`
	// RoleBindings is a slice of Observatorium API role bindings.
	RoleBindings []RBACRoleBinding `json:"roleBindings"`
}

APIRBAC represents a set of Observatorium API RBAC roles and role bindings.

func (*APIRBAC) DeepCopy

func (in *APIRBAC) DeepCopy() *APIRBAC

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

func (*APIRBAC) DeepCopyInto

func (in *APIRBAC) DeepCopyInto(out *APIRBAC)

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

type APISpec

type APISpec struct {
	// API image
	Image string `json:"image,omitempty"`
	// API image pull policy
	ImagePullPolicy v1.PullPolicy `json:"imagePullPolicy,omitempty"`
	// Number of API replicas.
	Replicas *int32 `json:"replicas,omitempty"`
	// Version describes the version of API to use.
	Version string `json:"version,omitempty"`
	// TLS configuration for the Observatorium API.
	TLS TLS `json:"tls,omitempty"`
	// RBAC is an RBAC configuration for the Observatorium API.
	RBAC APIRBAC `json:"rbac"`
	// Tenants is a slice of tenants for the Observatorium API.
	Tenants []APITenant `json:"tenants"`
	// Compute Resources required by this container.
	// +optional
	Resources v1.ResourceRequirements `json:"resources,omitempty"`
	// ServiceMonitor enables servicemonitor.
	// +optional
	ServiceMonitor bool `json:"serviceMonitor,omitempty"`
	// AdditionalWriteEndpoints is a slice of additional write endpoint for the Observatorium API.
	// +optional
	AdditionalWriteEndpoints *EndpointsConfig `json:"additionalWriteEndpoints,omitempty"`
}

func (*APISpec) DeepCopy

func (in *APISpec) DeepCopy() *APISpec

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

func (*APISpec) DeepCopyInto

func (in *APISpec) DeepCopyInto(out *APISpec)

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

type APITenant

type APITenant struct {
	Name string `json:"name"`
	ID   string `json:"id"`
	// +optional
	OIDC *TenantOIDC `json:"oidc,omitempty"`
	// +optional
	MTLS *TenantMTLS `json:"mTLS,omitempty"`
}

APITenant represents a tenant in the Observatorium API.

func (*APITenant) DeepCopy

func (in *APITenant) DeepCopy() *APITenant

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

func (*APITenant) DeepCopyInto

func (in *APITenant) DeepCopyInto(out *APITenant)

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

type AlertmanagerConfigFile

type AlertmanagerConfigFile struct {
	// Alertmanager ConfigMap Name
	Name string `json:"name"`
	// Alertmanager ConfigMap key
	Key string `json:"key"`
}

func (*AlertmanagerConfigFile) DeepCopy

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

func (*AlertmanagerConfigFile) DeepCopyInto

func (in *AlertmanagerConfigFile) DeepCopyInto(out *AlertmanagerConfigFile)

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

type CompactSpec

type CompactSpec struct {
	// Number of Compact replicas.
	Replicas *int32 `json:"replicas,omitempty"`
	// VolumeClaimTemplate
	VolumeClaimTemplate VolumeClaimTemplate `json:"volumeClaimTemplate"`
	// RetentionResolutionRaw
	RetentionResolutionRaw string `json:"retentionResolutionRaw"`
	// RetentionResolutionRaw
	RetentionResolution5m string `json:"retentionResolution5m"`
	// RetentionResolutionRaw
	RetentionResolution1h string `json:"retentionResolution1h"`
	// EnableDownsampling enables downsampling.
	EnableDownsampling bool `json:"enableDownsampling,omitempty"`
	// Compute Resources required by this container.
	// +optional
	Resources v1.ResourceRequirements `json:"resources,omitempty"`
	// ServiceMonitor enables servicemonitor.
	// +optional
	ServiceMonitor bool `json:"serviceMonitor,omitempty"`
	// Time before a block marked for deletion is deleted from bucket
	// +optional
	DeleteDelay string `json:"deleteDelay,omitempty"`
	// Annotations is an unstructured key value map stored with a service account
	ServiceAccountAnnotations map[string]string `json:"serviceAccountAnnotations,omitempty"`
	// The container object, provides a way to override parameters of existing containers.
	// Currently only the `args` value are overwritten.
	// +optional
	Containers []v1.Container `json:"containers,omitempty"`
}

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 EndpointsConfig

type EndpointsConfig struct {
	// Secret name for the endpoints configuration
	EndpointsConfigSecret string `json:"endpointsConfigSecret"`
	// Secret list to be mounted
	// +optional
	MountSecrets []string `json:"mountSecrets,omitempty"`
	// Mount path for the secrets
	// +optional
	MountPath string `json:"mountPath,omitempty"`
}

EndpointsConfig contains the configuration for all endpoints

func (*EndpointsConfig) DeepCopy

func (in *EndpointsConfig) DeepCopy() *EndpointsConfig

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

func (*EndpointsConfig) DeepCopyInto

func (in *EndpointsConfig) DeepCopyInto(out *EndpointsConfig)

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

type Hashring

type Hashring struct {
	// Thanos Hashring name
	Hashring string `json:"hashring"`
	// Tenants describes a lists of tenants.
	Tenants []string `json:"tenants,omitempty"`
}

func (*Hashring) DeepCopy

func (in *Hashring) DeepCopy() *Hashring

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

func (*Hashring) DeepCopyInto

func (in *Hashring) DeepCopyInto(out *Hashring)

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

type LokiObjectStorageConfigSpec

type LokiObjectStorageConfigSpec struct {
	// Object Store Config Secret Name
	SecretName string `json:"secretName"`
	// Object Store Config key for S3_URL
	// +optional
	EndpointKey string `json:"endpointKey"`
	// Object Store Config key for AWS_ACCESS_KEY_ID
	// +optional
	AccessKeyIDKey string `json:"accessKeyIdKey"`
	// Object Store Config key for AWS_SECRET_ACCESS_KEY
	// +optional
	SecretAccessKeyKey string `json:"secretAccessKeyKey"`
	// Object Store Config key for S3_BUCKETS
	// +optional
	BucketsKey string `json:"bucketsKey"`
	// Object Store Config key for S3_REGION
	// +optional
	RegionKey string `json:"regionKey"`
}

func (*LokiObjectStorageConfigSpec) DeepCopy

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

func (*LokiObjectStorageConfigSpec) DeepCopyInto

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

type LokiSpec

type LokiSpec struct {
	// Loki image
	Image string `json:"image"`
	// Loki image pull policy
	ImagePullPolicy v1.PullPolicy `json:"imagePullPolicy,omitempty"`
	// Loki replicas per component
	Replicas map[string]int32 `json:"replicas,omitempty"`
	// Version of Loki image to be deployed
	Version string `json:"version,omitempty"`
	// VolumeClaimTemplate
	VolumeClaimTemplate VolumeClaimTemplate `json:"volumeClaimTemplate"`
}

func (*LokiSpec) DeepCopy

func (in *LokiSpec) DeepCopy() *LokiSpec

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

func (*LokiSpec) DeepCopyInto

func (in *LokiSpec) DeepCopyInto(out *LokiSpec)

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

type MemCacheSpec

type MemCacheSpec struct {
	// Memcached image
	Image string `json:"image,omitempty"`
	// Memcached image pull policy
	ImagePullPolicy v1.PullPolicy `json:"imagePullPolicy,omitempty"`
	// Version of Memcached image to be deployed.
	Version string `json:"version,omitempty"`
	// Memcached Prometheus Exporter image
	ExporterImage string `json:"exporterImage,omitempty"`
	// Memcached Prometheus Exporter image image pull policy
	ExporterImagePullPolicy v1.PullPolicy `json:"exporterImagePullPolicy,omitempty"`
	// Version of Memcached Prometheus Exporter image to be deployed.
	ExporterVersion string `json:"exporterVersion,omitempty"`
	// Number of Memcached replicas.
	Replicas *int32 `json:"replicas,omitempty"`
	// Memory limit of Memcached in megabytes.
	MemoryLimitMB *int32 `json:"memoryLimitMb,omitempty"`
	// Max item size (default: 1m, min: 1k, max: 1024m)
	MaxItemSize string `json:"maxItemSize,omitempty"`
	// Max simultaneous connections
	ConnectionLimit *int32 `json:"connectionLimit,omitempty"`
	// Compute Resources required by this container.
	// +optional
	Resources v1.ResourceRequirements `json:"resources,omitempty"`
	// Compute Resources required by this container.
	// +optional
	ExporterResources v1.ResourceRequirements `json:"exporterResources,omitempty"`
	// ServiceMonitor enables servicemonitor.
	// +optional
	ServiceMonitor bool `json:"serviceMonitor,omitempty"`
}

MemCacheSpec describes configuration for Store Memcached

func (*MemCacheSpec) DeepCopy

func (in *MemCacheSpec) DeepCopy() *MemCacheSpec

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

func (*MemCacheSpec) DeepCopyInto

func (in *MemCacheSpec) DeepCopyInto(out *MemCacheSpec)

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

type ObjectStorageConfig

type ObjectStorageConfig struct {
	// Object Store Config Secret for Thanos
	Thanos *ThanosObjectStorageConfigSpec `json:"thanos"`
	// Object Store Config Secret for Loki
	// +optional
	Loki *LokiObjectStorageConfigSpec `json:"loki,omitempty"`
}

func (*ObjectStorageConfig) DeepCopy

func (in *ObjectStorageConfig) DeepCopy() *ObjectStorageConfig

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

func (*ObjectStorageConfig) DeepCopyInto

func (in *ObjectStorageConfig) DeepCopyInto(out *ObjectStorageConfig)

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

type Observatorium

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

	Spec   ObservatoriumSpec   `json:"spec,omitempty"`
	Status ObservatoriumStatus `json:"status,omitempty"`
}

Observatorium is the Schema for the observatoria API +kubebuilder:object:root=true +kubebuilder:subresource:status

func (*Observatorium) DeepCopy

func (in *Observatorium) DeepCopy() *Observatorium

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

func (*Observatorium) DeepCopyInto

func (in *Observatorium) DeepCopyInto(out *Observatorium)

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

func (*Observatorium) DeepCopyObject

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

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

type ObservatoriumList

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

ObservatoriumList contains a list of Observatorium

func (*ObservatoriumList) DeepCopy

func (in *ObservatoriumList) DeepCopy() *ObservatoriumList

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

func (*ObservatoriumList) DeepCopyInto

func (in *ObservatoriumList) DeepCopyInto(out *ObservatoriumList)

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

func (*ObservatoriumList) DeepCopyObject

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

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

type ObservatoriumSpec

type ObservatoriumSpec struct {
	// Objest Storage Configuration
	ObjectStorageConfig ObjectStorageConfig `json:"objectStorageConfig"`
	// Hashrings describes a list of Hashrings
	Hashrings []*Hashring `json:"hashrings"`
	// EnvVars define the common environment variables.
	// EnvVars apply to thanos compact/receive/rule/store components
	// +optional
	EnvVars map[string]string `json:"envVars,omitempty"`
	// Thanos Spec
	// +optional
	Thanos ThanosSpec `json:"thanos"`
	// API
	API APISpec `json:"api,omitempty"`
	// Loki
	// +optional
	Loki *LokiSpec `json:"loki,omitempty"`
	// NodeSelector causes all components to be scheduled on nodes with matching labels.
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`
	// Affinity causes all components to be scheduled on nodes with matching rules.
	// +optional
	Affinity *v1.Affinity `json:"affinity,omitempty"`
	// Tolerations causes all components to tolerate specified taints.
	// +optional
	Tolerations []v1.Toleration `json:"tolerations,omitempty"`
	// Security options the pod should run with.
	// +optional
	SecurityContext *v1.SecurityContext `json:"securityContext,omitempty"`
	// Pull secret used to pull the images.
	// +optional
	PullSecret string `json:"pullSecret,omitempty"`
}

ObservatoriumSpec defines the desired state of Observatorium

func (*ObservatoriumSpec) DeepCopy

func (in *ObservatoriumSpec) DeepCopy() *ObservatoriumSpec

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

func (*ObservatoriumSpec) DeepCopyInto

func (in *ObservatoriumSpec) DeepCopyInto(out *ObservatoriumSpec)

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

type ObservatoriumStatus

type ObservatoriumStatus struct {

	// Represents the status of Observatorium
	// +optional
	Conditions []*feedback.StatusCondition `json:"conditions"`
}

ObservatoriumStatus defines the observed state of Observatorium

func (*ObservatoriumStatus) DeepCopy

func (in *ObservatoriumStatus) DeepCopy() *ObservatoriumStatus

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

func (*ObservatoriumStatus) DeepCopyInto

func (in *ObservatoriumStatus) DeepCopyInto(out *ObservatoriumStatus)

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

type Permission

type Permission string

Permission is an Observatorium RBAC permission.

const (
	// Write gives access to write data to a tenant.
	Write Permission = "write"
	// Read gives access to read data from a tenant.
	Read Permission = "read"
)

type QueryFrontendSpec

type QueryFrontendSpec struct {
	// Number of Query Frontend replicas.
	Replicas *int32 `json:"replicas,omitempty"`
	// Compute Resources required by this container.
	// +optional
	Resources v1.ResourceRequirements `json:"resources,omitempty"`
	// ServiceMonitor enables servicemonitor.
	// +optional
	ServiceMonitor bool `json:"serviceMonitor,omitempty"`
	// Memcached spec for QueryFrontend
	Cache MemCacheSpec `json:"cache,omitempty"`
	// The container object, provides a way to override parameters of existing containers.
	// Currently only the `args` value are overwritten.
	// +optional
	Containers []v1.Container `json:"containers,omitempty"`
}

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 {
	// Number of Query replicas.
	Replicas *int32 `json:"replicas,omitempty"`
	// Compute Resources required by this container.
	// +optional
	Resources v1.ResourceRequirements `json:"resources,omitempty"`
	// ServiceMonitor enables servicemonitor.
	// +optional
	ServiceMonitor bool `json:"serviceMonitor,omitempty"`
	// The maximum lookback duration for retrieving metrics during expression evaluations.
	// +optional
	LookbackDelta string `json:"lookbackDelta,omitempty"`
	// Annotations is an unstructured key value map stored with a service account
	// +optional
	ServiceAccountAnnotations map[string]string `json:"serviceAccountAnnotations,omitempty"`
	// The container object, provides a way to override parameters of existing containers.
	// Currently only the `args` value are overwritten.
	// +optional
	Containers []v1.Container `json:"containers,omitempty"`
}

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 RBACRole

type RBACRole struct {
	// Name is the name of the role.
	Name string `json:"name"`
	// Resources is a list of resources to which access will be granted.
	Resources []string `json:"resources"`
	// Tenants is a list of tenants whose resources will be considered.
	Tenants []string `json:"tenants"`
	// Permissions is a list of permissions that will be granted.
	Permissions []Permission `json:"permissions"`
}

RBACRole describes a set of permissions to interact with a tenant.

func (*RBACRole) DeepCopy

func (in *RBACRole) DeepCopy() *RBACRole

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

func (*RBACRole) DeepCopyInto

func (in *RBACRole) DeepCopyInto(out *RBACRole)

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

type RBACRoleBinding

type RBACRoleBinding struct {
	// Name is the name of the role binding.
	Name string `json:"name"`
	// Subjects is a list of subjects who will be given access to the specified roles.
	Subjects []Subject `json:"subjects"`
	// Roles is a list of roles that will be bound.
	Roles []string `json:"roles"`
}

RBACRoleBinding binds a set of roles to a set of subjects.

func (*RBACRoleBinding) DeepCopy

func (in *RBACRoleBinding) DeepCopy() *RBACRoleBinding

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

func (*RBACRoleBinding) DeepCopyInto

func (in *RBACRoleBinding) DeepCopyInto(out *RBACRoleBinding)

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

type ReceiveControllerSpec

type ReceiveControllerSpec struct {
	// Receive Controller image
	Image string `json:"image,omitempty"`
	// Receive image pull policy
	ImagePullPolicy v1.PullPolicy `json:"imagePullPolicy,omitempty"`
	// Version describes the version of Thanos receive controller to use.
	Version string `json:"version,omitempty"`
	// Compute Resources required by this container.
	// +optional
	Resources v1.ResourceRequirements `json:"resources,omitempty"`
	// ServiceMonitor enables servicemonitor.
	// +optional
	ServiceMonitor bool `json:"serviceMonitor,omitempty"`
}

func (*ReceiveControllerSpec) DeepCopy

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

func (*ReceiveControllerSpec) DeepCopyInto

func (in *ReceiveControllerSpec) DeepCopyInto(out *ReceiveControllerSpec)

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

type ReceiversSpec

type ReceiversSpec struct {
	// Number of Receiver replicas.
	Replicas *int32 `json:"replicas,omitempty"`
	// VolumeClaimTemplate
	VolumeClaimTemplate VolumeClaimTemplate `json:"volumeClaimTemplate"`
	// ReplicationFactor defines the number of copies of every time-series
	ReplicationFactor *int32 `json:"replicationFactor,omitempty"`
	// Compute Resources required by this container.
	// +optional
	Resources v1.ResourceRequirements `json:"resources,omitempty"`
	// ServiceMonitor enables servicemonitor.
	// +optional
	ServiceMonitor bool `json:"serviceMonitor,omitempty"`
	// How long to retain raw samples on local storage
	// +optional
	Retention string `json:"retention,omitempty"`
	// Annotations is an unstructured key value map stored with a service account
	// +optional
	ServiceAccountAnnotations map[string]string `json:"serviceAccountAnnotations,omitempty"`
	// The container object, provides a way to override parameters of existing containers.
	// Currently only the `args` value are overwritten.
	// +optional
	Containers []v1.Container `json:"containers,omitempty"`
}

func (*ReceiversSpec) DeepCopy

func (in *ReceiversSpec) DeepCopy() *ReceiversSpec

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

func (*ReceiversSpec) DeepCopyInto

func (in *ReceiversSpec) DeepCopyInto(out *ReceiversSpec)

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

type RuleConfig

type RuleConfig struct {
	// Rule ConfigMap Name
	Name string `json:"name"`
	// Rule ConfigMap key
	Key string `json:"key"`
}

func (*RuleConfig) DeepCopy

func (in *RuleConfig) DeepCopy() *RuleConfig

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

func (*RuleConfig) DeepCopyInto

func (in *RuleConfig) DeepCopyInto(out *RuleConfig)

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

type RuleSpec

type RuleSpec struct {
	// Number of Rule replicas.
	Replicas *int32 `json:"replicas,omitempty"`
	// VolumeClaimTemplate
	VolumeClaimTemplate VolumeClaimTemplate `json:"volumeClaimTemplate"`
	// RulesConfig configures rules from the configmaps
	// +optional
	RulesConfig []RuleConfig `json:"rulesConfig,omitempty"`
	// AlertmanagerURLs
	// +optional
	AlertmanagerURLs []string `json:"alertmanagerURLs,omitempty"`
	// ExtraVolumeMounts
	// +optional
	ExtraVolumeMounts []VolumeMount `json:"extraVolumeMounts,omitempty"`
	// AlertmanagerConfigFile
	// +optional
	AlertmanagerConfigFile AlertmanagerConfigFile `json:"alertmanagerConfigFile,omitempty"`
	// ReloaderImage is an image of configmap reloader
	// +optional
	ReloaderImage string `json:"reloaderImage,omitempty"`
	// ReloaderImage image pull policy
	// +optional
	ReloaderImagePullPolicy v1.PullPolicy `json:"reloaderImagePullPolicy,omitempty"`
	// Compute Resources required by this container.
	// +optional
	Resources v1.ResourceRequirements `json:"resources,omitempty"`
	// Compute Resources required by this container.
	// +optional
	ReloaderResources v1.ResourceRequirements `json:"reloaderResources,omitempty"`
	// ServiceMonitor enables servicemonitor.
	// +optional
	ServiceMonitor bool `json:"serviceMonitor,omitempty"`
	// Block duration for TSDB block
	// +optional
	BlockDuration string `json:"blockDuration,omitempty"`
	// Block retention time on local disk
	// +optional
	Retention string `json:"retention,omitempty"`
	// 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"`
	// The container object, provides a way to override parameters of existing containers.
	// Currently only the `args` value are overwritten.
	// +optional
	Containers []v1.Container `json:"containers,omitempty"`
}

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 StoreSpec

type StoreSpec struct {
	// VolumeClaimTemplate
	VolumeClaimTemplate VolumeClaimTemplate `json:"volumeClaimTemplate"`
	Shards              *int32              `json:"shards,omitempty"`
	// Memcached spec for Store
	Cache MemCacheSpec `json:"cache,omitempty"`
	// Compute Resources required by this container.
	// +optional
	Resources v1.ResourceRequirements `json:"resources,omitempty"`
	// ServiceMonitor enables servicemonitor.
	// +optional
	ServiceMonitor bool `json:"serviceMonitor,omitempty"`
	// Annotations is an unstructured key value map stored with a service account
	// +optional
	ServiceAccountAnnotations map[string]string `json:"serviceAccountAnnotations,omitempty"`
	// The container object, provides a way to override parameters of existing containers.
	// Currently only the `args` value are overwritten.
	// +optional
	Containers []v1.Container `json:"containers,omitempty"`
}

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 Subject

type Subject struct {
	Kind SubjectKind `json:"kind"`
	Name string      `json:"name"`
}

Subject represents a subject to which an RBAC role can be bound.

func (*Subject) DeepCopy

func (in *Subject) DeepCopy() *Subject

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

func (*Subject) DeepCopyInto

func (in *Subject) DeepCopyInto(out *Subject)

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

type SubjectKind

type SubjectKind string

SubjectKind is a kind of Observatorium subject.

const (
	// User represents a subject that is a user.
	User SubjectKind = "user"
	// Group represents a subject that is a group.
	Group SubjectKind = "group"
)

type TLS

type TLS struct {
	SecretName string `json:"secretName"`
	CertKey    string `json:"certKey"`
	KeyKey     string `json:"keyKey"`
	// +optional
	ConfigMapName string `json:"configMapName,omitempty"`
	// +optional
	CAKey string `json:"caKey,omitempty"`
	// +optional
	ServerName string `json:"serverName,omitempty"`
	// +optional
	ReloadInterval string `json:"reloadInterval,omitempty"`
}

TLS contains the TLS configuration for a component.

func (*TLS) DeepCopy

func (in *TLS) DeepCopy() *TLS

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

func (*TLS) DeepCopyInto

func (in *TLS) DeepCopyInto(out *TLS)

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

type TenantMTLS

type TenantMTLS struct {
	CAKey string `json:"caKey"`
	// +optional
	SecretName string `json:"secretName,omitempty"`
	// +optional
	ConfigMapName string `json:"configMapName,omitempty"`
}

TenantMTLS represents the mTLS configuration for an Observatorium API tenant.

func (*TenantMTLS) DeepCopy

func (in *TenantMTLS) DeepCopy() *TenantMTLS

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

func (*TenantMTLS) DeepCopyInto

func (in *TenantMTLS) DeepCopyInto(out *TenantMTLS)

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

type TenantOIDC

type TenantOIDC struct {
	ClientID      string `json:"clientID"`
	ClientSecret  string `json:"clientSecret,omitempty"`
	IssuerURL     string `json:"issuerURL"`
	RedirectURL   string `json:"redirectURL,omitempty"`
	UsernameClaim string `json:"usernameClaim,omitempty"`
	CAKey         string `json:"caKey,omitempty"`
	ConfigMapName string `json:"configMapName,omitempty"`
	IssuerCAPath  string `json:"issuerCAPath,omitempty"`
}

TenantOIDC represents the OIDC configuration for an Observatorium API tenant.

func (*TenantOIDC) DeepCopy

func (in *TenantOIDC) DeepCopy() *TenantOIDC

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

func (*TenantOIDC) DeepCopyInto

func (in *TenantOIDC) DeepCopyInto(out *TenantOIDC)

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

type ThanosObjectStorageConfigSpec

type ThanosObjectStorageConfigSpec struct {
	// Object Store Config Secret Name
	Name string `json:"name"`
	// Object Store Config key
	Key string `json:"key"`
	// TLS secret contains the custom certificate for the object store
	// +optional
	TLSSecretName string `json:"tlsSecretName"`
	// TLS secret mount path in thanos store/ruler/compact/receiver
	// +optional
	TLSSecretMountPath string `json:"tlsSecretMountPath"`
	// When set to true, mounts service account token in thanos store, ruler, compact and receiver pods. Default is false.
	// +optional
	ServiceAccountProjection bool `json:"serviceAccountProjection"`
}

func (*ThanosObjectStorageConfigSpec) DeepCopy

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

func (*ThanosObjectStorageConfigSpec) DeepCopyInto

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

type ThanosSpec

type ThanosSpec struct {
	// Thanos image
	Image string `json:"image,omitempty"`
	// Thanos image pull policy
	ImagePullPolicy v1.PullPolicy `json:"imagePullPolicy,omitempty"`
	// Version of Thanos image to be deployed.
	Version string `json:"version,omitempty"`
	// Thanos CompactSpec
	Compact CompactSpec `json:"compact"`
	// Thanos Receive Controller Spec
	ReceiveController ReceiveControllerSpec `json:"receiveController,omitempty"`
	// Thanos ThanosPersistentSpec
	Receivers ReceiversSpec `json:"receivers"`
	// Thanos QueryFrontend
	QueryFrontend QueryFrontendSpec `json:"queryFrontend,omitempty"`
	// Thanos StoreSpec
	Store StoreSpec `json:"store"`
	// Thanos RulerSpec
	Rule RuleSpec `json:"rule"`
	// Query
	Query QuerySpec `json:"query,omitempty"`
}

func (*ThanosSpec) DeepCopy

func (in *ThanosSpec) DeepCopy() *ThanosSpec

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

func (*ThanosSpec) DeepCopyInto

func (in *ThanosSpec) DeepCopyInto(out *ThanosSpec)

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

type VolumeClaimTemplate

type VolumeClaimTemplate struct {
	Spec v1.PersistentVolumeClaimSpec `json:"spec"`
}

func (*VolumeClaimTemplate) DeepCopy

func (in *VolumeClaimTemplate) DeepCopy() *VolumeClaimTemplate

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

func (*VolumeClaimTemplate) DeepCopyInto

func (in *VolumeClaimTemplate) DeepCopyInto(out *VolumeClaimTemplate)

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

type VolumeMount

type VolumeMount struct {
	// Voume mount type, configMap or secret
	Type VolumeMountType `json:"type"`
	// Volume mount path in the pod
	MountPath string `json:"mountPath"`
	// Resource name for the volume mount source
	Name string `json:"name"`
	// File name for the mount
	Key string `json:"key"`
}

func (*VolumeMount) DeepCopy

func (in *VolumeMount) DeepCopy() *VolumeMount

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

func (*VolumeMount) DeepCopyInto

func (in *VolumeMount) DeepCopyInto(out *VolumeMount)

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

type VolumeMountType

type VolumeMountType string
var (
	VolumeMountTypeConfigMap VolumeMountType = "configMap"
	VolumeMountTypeSecret    VolumeMountType = "secret"
)

Jump to

Keyboard shortcuts

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