Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the obsapi v1alpha1 API group +kubebuilder:object:generate=true +groupName=core.observatorium.io
Index ¶
- Variables
- type APIQuerySpec
- type APIRBAC
- type APISpec
- type APITenant
- type CompactSpec
- type Hashring
- type LokiObjectStorageConfigSpec
- type LokiSpec
- type ObjectStorageConfig
- type Observatorium
- type ObservatoriumList
- type ObservatoriumSpec
- type ObservatoriumStatus
- type Permission
- type QueryCacheSpec
- type QuerySpec
- type RBACRole
- type RBACRoleBinding
- type ReceiversSpec
- type RuleSpec
- type StoreCacheSpec
- type StoreSpec
- type Subject
- type SubjectKind
- type TLS
- type TenantMTLS
- type TenantOIDC
- type ThanosObjectStorageConfigSpec
- type ThanosReceiveControllerSpec
- type VolumeClaimTemplate
Constants ¶
This section is empty.
Variables ¶
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 APIQuerySpec ¶
type APIQuerySpec struct { // Thanos image Image string `json:"image,omitempty"` // Version of Thanos image to be deployed. Version string `json:"version,omitempty"` }
func (*APIQuerySpec) DeepCopy ¶
func (in *APIQuerySpec) DeepCopy() *APIQuerySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIQuerySpec.
func (*APIQuerySpec) DeepCopyInto ¶
func (in *APIQuerySpec) DeepCopyInto(out *APIQuerySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIRBAC.
func (*APIRBAC) DeepCopyInto ¶
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"` // 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"` }
func (*APISpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APISpec.
func (*APISpec) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APITenant.
func (*APITenant) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CompactSpec ¶
type CompactSpec struct { // Thanos image Image string `json:"image,omitempty"` // Version of Thanos image to be deployed. Version string `json:"version,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"` }
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 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Hashring.
func (*Hashring) DeepCopyInto ¶
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 ¶
func (in *LokiObjectStorageConfigSpec) DeepCopy() *LokiObjectStorageConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LokiObjectStorageConfigSpec.
func (*LokiObjectStorageConfigSpec) DeepCopyInto ¶
func (in *LokiObjectStorageConfigSpec) DeepCopyInto(out *LokiObjectStorageConfigSpec)
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 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LokiSpec.
func (*LokiSpec) DeepCopyInto ¶
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"` // Thanos CompactSpec Compact CompactSpec `json:"compact"` // Thanos Receive Controller Spec ThanosReceiveController ThanosReceiveControllerSpec `json:"thanosReceiveController,omitempty"` // Thanos ThanosPersistentSpec Receivers ReceiversSpec `json:"receivers"` // Thanos QueryCache QueryCache QueryCacheSpec `json:"queryCache,omitempty"` // Thanos StoreSpec Store StoreSpec `json:"store"` // Thanos RulerSpec Rule RuleSpec `json:"rule"` // API API APISpec `json:"api,omitempty"` // API Query APIQuery APIQuerySpec `json:"apiQuery,omitempty"` // Query Query QuerySpec `json:"query,omitempty"` // Loki // +optional Loki *LokiSpec `json:"loki,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 { }
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 QueryCacheSpec ¶
type QueryCacheSpec struct { // Thanos Query Cache image Image string `json:"image,omitempty"` // Number of Query Cache replicas. Replicas *int32 `json:"replicas,omitempty"` // Version of Query Cache image to be deployed. Version string `json:"version,omitempty"` }
func (*QueryCacheSpec) DeepCopy ¶
func (in *QueryCacheSpec) DeepCopy() *QueryCacheSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryCacheSpec.
func (*QueryCacheSpec) DeepCopyInto ¶
func (in *QueryCacheSpec) DeepCopyInto(out *QueryCacheSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type QuerySpec ¶
type QuerySpec struct { // Thanos image Image string `json:"image,omitempty"` // Version of Thanos image to be deployed. Version string `json:"version,omitempty"` }
func (*QuerySpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QuerySpec.
func (*QuerySpec) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RBACRole.
func (*RBACRole) DeepCopyInto ¶
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 ReceiversSpec ¶
type ReceiversSpec struct { // Thanos image Image string `json:"image,omitempty"` // Version of Thanos image to be deployed. Version string `json:"version,omitempty"` // VolumeClaimTemplate VolumeClaimTemplate VolumeClaimTemplate `json:"volumeClaimTemplate"` }
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 RuleSpec ¶
type RuleSpec struct { // Thanos image Image string `json:"image,omitempty"` // Version of Thanos image to be deployed. Version string `json:"version,omitempty"` // VolumeClaimTemplate VolumeClaimTemplate VolumeClaimTemplate `json:"volumeClaimTemplate"` }
func (*RuleSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleSpec.
func (*RuleSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StoreCacheSpec ¶
type StoreCacheSpec struct { // Memcached image Image string `json:"image,omitempty"` // Version of Memcached image to be deployed. Version string `json:"version,omitempty"` // Memcached Prometheus Exporter image ExporterImage string `json:"exporterImage,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"` }
StoreCacheSpec describes configuration for Store Memcached
func (*StoreCacheSpec) DeepCopy ¶
func (in *StoreCacheSpec) DeepCopy() *StoreCacheSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoreCacheSpec.
func (*StoreCacheSpec) DeepCopyInto ¶
func (in *StoreCacheSpec) DeepCopyInto(out *StoreCacheSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StoreSpec ¶
type StoreSpec struct { // Thanos image Image string `json:"image,omitempty"` // Version of Thanos image to be deployed. Version string `json:"version,omitempty"` // VolumeClaimTemplate VolumeClaimTemplate VolumeClaimTemplate `json:"volumeClaimTemplate"` Shards *int32 `json:"shards,omitempty"` // Memcached spec for Store Cache StoreCacheSpec `json:"cache,omitempty"` }
func (*StoreSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoreSpec.
func (*StoreSpec) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Subject.
func (*Subject) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLS.
func (*TLS) DeepCopyInto ¶
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"` }
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"` }
func (*ThanosObjectStorageConfigSpec) DeepCopy ¶
func (in *ThanosObjectStorageConfigSpec) DeepCopy() *ThanosObjectStorageConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThanosObjectStorageConfigSpec.
func (*ThanosObjectStorageConfigSpec) DeepCopyInto ¶
func (in *ThanosObjectStorageConfigSpec) DeepCopyInto(out *ThanosObjectStorageConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ThanosReceiveControllerSpec ¶
type ThanosReceiveControllerSpec struct { // Receive Controller image Image string `json:"image,omitempty"` // Version describes the version of Thanos receive controller to use. Version string `json:"version,omitempty"` }
func (*ThanosReceiveControllerSpec) DeepCopy ¶
func (in *ThanosReceiveControllerSpec) DeepCopy() *ThanosReceiveControllerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThanosReceiveControllerSpec.
func (*ThanosReceiveControllerSpec) DeepCopyInto ¶
func (in *ThanosReceiveControllerSpec) DeepCopyInto(out *ThanosReceiveControllerSpec)
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.