Documentation
¶
Overview ¶
Package v1 contains API Schema definitions for the operator v1 API group +kubebuilder:object:generate=true +groupName=operator.victoriametrics.com
Index ¶
- Variables
- func Resource(resource string) schema.GroupResource
- type FieldsListString
- type OAuth2
- type SyslogServerSpec
- type SyslogTCPListener
- type SyslogUDPListener
- type TLSConfig
- type TLSServerConfig
- type VLAgent
- func (cr *VLAgent) AllLabels() map[string]string
- func (cr *VLAgent) AnnotationsFiltered() map[string]string
- func (cr *VLAgent) AsOwner() []metav1.OwnerReference
- func (cr *VLAgent) AsURL() string
- func (in *VLAgent) DeepCopy() *VLAgent
- func (in *VLAgent) DeepCopyInto(out *VLAgent)
- func (in *VLAgent) DeepCopyObject() runtime.Object
- func (cr *VLAgent) DefaultStatusFields(vs *VLAgentStatus)
- func (cr *VLAgent) GetAdditionalService() *vmv1beta1.AdditionalServiceSpec
- func (cr *VLAgent) GetExtraArgs() map[string]string
- func (cr *VLAgent) GetMetricPath() string
- func (cr *VLAgent) GetServiceAccountName() string
- func (cr *VLAgent) GetServiceScrape() *vmv1beta1.VMServiceScrapeSpec
- func (cr *VLAgent) GetStatus() *VLAgentStatus
- func (cr *VLAgent) HasSpecChanges() (bool, error)
- func (cr *VLAgent) HealthPath() string
- func (cr *VLAgent) IsOwnsServiceAccount() bool
- func (cr *VLAgent) LastAppliedSpecAsPatch() (client.Patch, error)
- func (cr *VLAgent) Paused() bool
- func (cr *VLAgent) PodAnnotations() map[string]string
- func (cr *VLAgent) PodLabels() map[string]string
- func (cr *VLAgent) PrefixedName() string
- func (cr *VLAgent) Probe() *vmv1beta1.EmbeddedProbes
- func (*VLAgent) ProbeNeedLiveness() bool
- func (cr *VLAgent) ProbePath() string
- func (cr *VLAgent) ProbePort() string
- func (cr *VLAgent) ProbeScheme() string
- func (cr *VLAgent) SelectorLabels() map[string]string
- func (cr *VLAgent) SetLastSpec(prevSpec VLAgentSpec)
- func (cr *VLAgent) UnmarshalJSON(src []byte) error
- func (cr *VLAgent) Validate() error
- type VLAgentList
- type VLAgentRemoteWriteSettings
- type VLAgentRemoteWriteSpec
- type VLAgentSpec
- type VLAgentStatus
- type VLCluster
- func (cr *VLCluster) AnnotationsFiltered() map[string]string
- func (cr *VLCluster) AsOwner() []metav1.OwnerReference
- func (cr *VLCluster) AsURL() string
- func (cr *VLCluster) AvailableStorageNodeIDs(requestsType string) []int32
- func (in *VLCluster) DeepCopy() *VLCluster
- func (in *VLCluster) DeepCopyInto(out *VLCluster)
- func (in *VLCluster) DeepCopyObject() runtime.Object
- func (cr *VLCluster) DefaultStatusFields(vs *VLClusterStatus)
- func (cr *VLCluster) FinalAnnotations() map[string]string
- func (cr *VLCluster) FinalLabels(selectorLabels map[string]string) map[string]string
- func (cr *VLCluster) GetServiceAccountName() string
- func (cr *VLCluster) GetStatus() *VLClusterStatus
- func (cr *VLCluster) GetVLInsertLBName() string
- func (cr *VLCluster) GetVLInsertName() string
- func (cr *VLCluster) GetVLSelectLBName() string
- func (cr *VLCluster) GetVLSelectName() string
- func (cr *VLCluster) GetVLStorageName() string
- func (cr *VLCluster) GetVMAuthLBName() string
- func (cr *VLCluster) HasSpecChanges() (bool, error)
- func (cr *VLCluster) InsertURL() string
- func (cr *VLCluster) IsOwnsServiceAccount() bool
- func (cr *VLCluster) LastAppliedSpecAsPatch() (client.Patch, error)
- func (cr *VLCluster) Paused() bool
- func (cr *VLCluster) PrefixedName() string
- func (cr *VLCluster) SelectURL() string
- func (cr *VLCluster) SelectorLabels() map[string]string
- func (cr *VLCluster) SetLastSpec(prevSpec VLClusterSpec)
- func (cr *VLCluster) StorageURL() string
- func (cr *VLCluster) UnmarshalJSON(src []byte) error
- func (cr *VLCluster) VLInsertPodAnnotations() map[string]string
- func (cr *VLCluster) VLInsertPodLabels() map[string]string
- func (cr *VLCluster) VLInsertSelectorLabels() map[string]string
- func (cr *VLCluster) VLSelectPodAnnotations() map[string]string
- func (cr *VLCluster) VLSelectPodLabels() map[string]string
- func (cr *VLCluster) VLSelectSelectorLabels() map[string]string
- func (cr *VLCluster) VLStoragePodAnnotations() map[string]string
- func (cr *VLCluster) VLStoragePodLabels() map[string]string
- func (cr *VLCluster) VLStorageSelectorLabels() map[string]string
- func (cr *VLCluster) VMAuthLBPodAnnotations() map[string]string
- func (cr *VLCluster) VMAuthLBPodLabels() map[string]string
- func (cr *VLCluster) VMAuthLBSelectorLabels() map[string]string
- func (cr *VLCluster) Validate() error
- type VLClusterList
- type VLClusterSpec
- type VLClusterStatus
- type VLInsert
- func (in *VLInsert) DeepCopy() *VLInsert
- func (in *VLInsert) DeepCopyInto(out *VLInsert)
- func (cr *VLInsert) GetAdditionalService() *vmv1beta1.AdditionalServiceSpec
- func (cr *VLInsert) GetExtraArgs() map[string]string
- func (cr *VLInsert) GetMetricPath() string
- func (cr *VLInsert) GetServiceScrape() *vmv1beta1.VMServiceScrapeSpec
- func (cr *VLInsert) Probe() *vmv1beta1.EmbeddedProbes
- func (*VLInsert) ProbeNeedLiveness() bool
- func (cr *VLInsert) ProbePath() string
- func (cr *VLInsert) ProbePort() string
- func (cr *VLInsert) ProbeScheme() string
- type VLSelect
- func (in *VLSelect) DeepCopy() *VLSelect
- func (in *VLSelect) DeepCopyInto(out *VLSelect)
- func (cr *VLSelect) GetAdditionalService() *vmv1beta1.AdditionalServiceSpec
- func (cr *VLSelect) GetExtraArgs() map[string]string
- func (cr *VLSelect) GetMetricPath() string
- func (cr *VLSelect) GetServiceScrape() *vmv1beta1.VMServiceScrapeSpec
- func (cr *VLSelect) Probe() *vmv1beta1.EmbeddedProbes
- func (*VLSelect) ProbeNeedLiveness() bool
- func (cr *VLSelect) ProbePath() string
- func (cr *VLSelect) ProbePort() string
- func (cr *VLSelect) ProbeScheme() string
- type VLSingle
- func (cr *VLSingle) AllLabels() map[string]string
- func (cr *VLSingle) AnnotationsFiltered() map[string]string
- func (r *VLSingle) AsOwner() []metav1.OwnerReference
- func (cr *VLSingle) AsURL() string
- func (in *VLSingle) DeepCopy() *VLSingle
- func (in *VLSingle) DeepCopyInto(out *VLSingle)
- func (in *VLSingle) DeepCopyObject() runtime.Object
- func (cr *VLSingle) DefaultStatusFields(vs *VLSingleStatus)
- func (cr *VLSingle) GetAdditionalService() *vmv1beta1.AdditionalServiceSpec
- func (cr *VLSingle) GetExtraArgs() map[string]string
- func (cr *VLSingle) GetMetricPath() string
- func (cr *VLSingle) GetServiceAccountName() string
- func (cr *VLSingle) GetServiceScrape() *vmv1beta1.VMServiceScrapeSpec
- func (cr *VLSingle) GetStatus() *VLSingleStatus
- func (cr *VLSingle) HasSpecChanges() (bool, error)
- func (cr *VLSingle) IsOwnsServiceAccount() bool
- func (cr *VLSingle) LastAppliedSpecAsPatch() (client.Patch, error)
- func (cr *VLSingle) Paused() bool
- func (r *VLSingle) PodAnnotations() map[string]string
- func (cr *VLSingle) PodLabels() map[string]string
- func (cr *VLSingle) PrefixedName() string
- func (cr *VLSingle) Probe() *vmv1beta1.EmbeddedProbes
- func (cr *VLSingle) ProbeNeedLiveness() bool
- func (cr *VLSingle) ProbePath() string
- func (cr *VLSingle) ProbePort() string
- func (cr *VLSingle) ProbeScheme() string
- func (cr *VLSingle) SelectorLabels() map[string]string
- func (cr *VLSingle) SetLastSpec(prevSpec VLSingleSpec)
- func (cr *VLSingle) UnmarshalJSON(src []byte) error
- func (cr *VLSingle) Validate() error
- type VLSingleList
- type VLSingleSpec
- type VLSingleStatus
- type VLStorage
- func (in *VLStorage) DeepCopy() *VLStorage
- func (in *VLStorage) DeepCopyInto(out *VLStorage)
- func (cr *VLStorage) GetAdditionalService() *vmv1beta1.AdditionalServiceSpec
- func (cr *VLStorage) GetExtraArgs() map[string]string
- func (cr *VLStorage) GetMetricPath() string
- func (cr *VLStorage) GetServiceScrape() *vmv1beta1.VMServiceScrapeSpec
- func (cr *VLStorage) GetStorageVolumeName() string
- func (cr *VLStorage) Probe() *vmv1beta1.EmbeddedProbes
- func (*VLStorage) ProbeNeedLiveness() bool
- func (cr *VLStorage) ProbePath() string
- func (cr *VLStorage) ProbePort() string
- func (cr *VLStorage) ProbeScheme() string
- type VMAnomaly
- func (cr *VMAnomaly) AllLabels() map[string]string
- func (cr *VMAnomaly) AnnotationsFiltered() map[string]string
- func (cr *VMAnomaly) AsOwner() []metav1.OwnerReference
- func (in *VMAnomaly) DeepCopy() *VMAnomaly
- func (in *VMAnomaly) DeepCopyInto(out *VMAnomaly)
- func (in *VMAnomaly) DeepCopyObject() runtime.Object
- func (cr *VMAnomaly) DefaultStatusFields(vs *VMAnomalyStatus)
- func (cr *VMAnomaly) GetAdditionalService() *vmv1beta1.AdditionalServiceSpec
- func (cr *VMAnomaly) GetExtraArgs() map[string]string
- func (cr *VMAnomaly) GetMetricPath() string
- func (cr *VMAnomaly) GetServiceAccountName() string
- func (cr *VMAnomaly) GetServiceScrape() *vmv1beta1.VMServiceScrapeSpec
- func (cr *VMAnomaly) GetShardCount() int
- func (cr *VMAnomaly) GetStatus() *VMAnomalyStatus
- func (cr *VMAnomaly) GetVolumeName() string
- func (cr *VMAnomaly) HasSpecChanges() (bool, error)
- func (cr *VMAnomaly) HealthPath() string
- func (cr *VMAnomaly) IsOwnsServiceAccount() bool
- func (cr *VMAnomaly) LastAppliedSpecAsPatch() (client.Patch, error)
- func (cr *VMAnomaly) Paused() bool
- func (cr *VMAnomaly) PodAnnotations() map[string]string
- func (cr *VMAnomaly) PodLabels() map[string]string
- func (cr *VMAnomaly) Port() string
- func (cr *VMAnomaly) PrefixedName() string
- func (cr *VMAnomaly) Probe() *vmv1beta1.EmbeddedProbes
- func (*VMAnomaly) ProbeNeedLiveness() bool
- func (cr *VMAnomaly) ProbePath() string
- func (cr *VMAnomaly) ProbePort() string
- func (cr *VMAnomaly) ProbeScheme() string
- func (cr *VMAnomaly) SelectorLabels() map[string]string
- func (cr *VMAnomaly) SetLastSpec(prevSpec VMAnomalySpec)
- func (cr *VMAnomaly) UnmarshalJSON(src []byte) error
- func (cr *VMAnomaly) Validate() error
- type VMAnomalyHTTPClientSpec
- type VMAnomalyList
- type VMAnomalyMonitoringPullSpec
- type VMAnomalyMonitoringPushSpec
- type VMAnomalyMonitoringSpec
- type VMAnomalyReadersSpec
- type VMAnomalySpec
- type VMAnomalyStatus
- type VMAnomalyVMWriterMetricFormatSpec
- type VMAnomalyWritersSpec
- type VTCluster
- func (cr *VTCluster) AnnotationsFiltered() map[string]string
- func (cr *VTCluster) AsOwner() []metav1.OwnerReference
- func (cr *VTCluster) AsURL() string
- func (cr *VTCluster) AvailableStorageNodeIDs(requestsType string) []int32
- func (in *VTCluster) DeepCopy() *VTCluster
- func (in *VTCluster) DeepCopyInto(out *VTCluster)
- func (in *VTCluster) DeepCopyObject() runtime.Object
- func (cr *VTCluster) DefaultStatusFields(vs *VTClusterStatus)
- func (cr *VTCluster) FinalAnnotations() map[string]string
- func (cr *VTCluster) FinalLabels(selectorLabels map[string]string) map[string]string
- func (cr *VTCluster) GetServiceAccountName() string
- func (cr *VTCluster) GetStatus() *VTClusterStatus
- func (cr *VTCluster) GetVMAuthLBName() string
- func (cr *VTCluster) GetVTInsertLBName() string
- func (cr *VTCluster) GetVTInsertName() string
- func (cr *VTCluster) GetVTSelectLBName() string
- func (cr *VTCluster) GetVTSelectName() string
- func (cr *VTCluster) GetVTStorageName() string
- func (cr *VTCluster) HasSpecChanges() (bool, error)
- func (cr *VTCluster) InsertURL() string
- func (cr *VTCluster) IsOwnsServiceAccount() bool
- func (cr *VTCluster) LastAppliedSpecAsPatch() (client.Patch, error)
- func (cr *VTCluster) Paused() bool
- func (cr *VTCluster) PrefixedName() string
- func (cr *VTCluster) SelectURL() string
- func (cr *VTCluster) SelectorLabels() map[string]string
- func (cr *VTCluster) SetLastSpec(prevSpec VTClusterSpec)
- func (cr *VTCluster) StorageURL() string
- func (cr *VTCluster) UnmarshalJSON(src []byte) error
- func (cr *VTCluster) VMAuthLBPodAnnotations() map[string]string
- func (cr *VTCluster) VMAuthLBPodLabels() map[string]string
- func (cr *VTCluster) VMAuthLBSelectorLabels() map[string]string
- func (cr *VTCluster) VTInsertPodAnnotations() map[string]string
- func (cr *VTCluster) VTInsertPodLabels() map[string]string
- func (cr *VTCluster) VTInsertSelectorLabels() map[string]string
- func (cr *VTCluster) VTSelectPodAnnotations() map[string]string
- func (cr *VTCluster) VTSelectPodLabels() map[string]string
- func (cr *VTCluster) VTSelectSelectorLabels() map[string]string
- func (cr *VTCluster) VTStoragePodAnnotations() map[string]string
- func (cr *VTCluster) VTStoragePodLabels() map[string]string
- func (cr *VTCluster) VTStorageSelectorLabels() map[string]string
- func (cr *VTCluster) Validate() error
- type VTClusterList
- type VTClusterSpec
- type VTClusterStatus
- type VTInsert
- func (in *VTInsert) DeepCopy() *VTInsert
- func (in *VTInsert) DeepCopyInto(out *VTInsert)
- func (cr *VTInsert) GetAdditionalService() *vmv1beta1.AdditionalServiceSpec
- func (cr *VTInsert) GetExtraArgs() map[string]string
- func (cr *VTInsert) GetMetricPath() string
- func (cr *VTInsert) GetServiceScrape() *vmv1beta1.VMServiceScrapeSpec
- func (cr *VTInsert) Probe() *vmv1beta1.EmbeddedProbes
- func (*VTInsert) ProbeNeedLiveness() bool
- func (cr *VTInsert) ProbePath() string
- func (cr *VTInsert) ProbePort() string
- func (cr *VTInsert) ProbeScheme() string
- type VTSelect
- func (in *VTSelect) DeepCopy() *VTSelect
- func (in *VTSelect) DeepCopyInto(out *VTSelect)
- func (cr *VTSelect) GetAdditionalService() *vmv1beta1.AdditionalServiceSpec
- func (cr *VTSelect) GetExtraArgs() map[string]string
- func (cr *VTSelect) GetMetricPath() string
- func (cr *VTSelect) GetServiceScrape() *vmv1beta1.VMServiceScrapeSpec
- func (cr *VTSelect) Probe() *vmv1beta1.EmbeddedProbes
- func (*VTSelect) ProbeNeedLiveness() bool
- func (cr *VTSelect) ProbePath() string
- func (cr *VTSelect) ProbePort() string
- func (cr *VTSelect) ProbeScheme() string
- type VTSingle
- func (cr *VTSingle) AllLabels() map[string]string
- func (cr *VTSingle) AnnotationsFiltered() map[string]string
- func (r *VTSingle) AsOwner() []metav1.OwnerReference
- func (cr *VTSingle) AsURL() string
- func (in *VTSingle) DeepCopy() *VTSingle
- func (in *VTSingle) DeepCopyInto(out *VTSingle)
- func (in *VTSingle) DeepCopyObject() runtime.Object
- func (cr *VTSingle) DefaultStatusFields(vs *VTSingleStatus)
- func (cr *VTSingle) GetAdditionalService() *vmv1beta1.AdditionalServiceSpec
- func (cr *VTSingle) GetExtraArgs() map[string]string
- func (cr *VTSingle) GetMetricPath() string
- func (cr *VTSingle) GetServiceAccountName() string
- func (cr *VTSingle) GetServiceScrape() *vmv1beta1.VMServiceScrapeSpec
- func (cr *VTSingle) GetStatus() *VTSingleStatus
- func (cr *VTSingle) HasSpecChanges() (bool, error)
- func (cr *VTSingle) IsOwnsServiceAccount() bool
- func (cr *VTSingle) LastAppliedSpecAsPatch() (client.Patch, error)
- func (cr *VTSingle) Paused() bool
- func (r *VTSingle) PodAnnotations() map[string]string
- func (cr *VTSingle) PodLabels() map[string]string
- func (cr *VTSingle) PrefixedName() string
- func (cr *VTSingle) Probe() *vmv1beta1.EmbeddedProbes
- func (cr *VTSingle) ProbeNeedLiveness() bool
- func (cr *VTSingle) ProbePath() string
- func (cr *VTSingle) ProbePort() string
- func (cr *VTSingle) ProbeScheme() string
- func (cr *VTSingle) SelectorLabels() map[string]string
- func (cr *VTSingle) SetLastSpec(prevSpec VTSingleSpec)
- func (cr *VTSingle) UnmarshalJSON(src []byte) error
- func (cr *VTSingle) Validate() error
- type VTSingleList
- type VTSingleSpec
- type VTSingleStatus
- type VTStorage
- func (in *VTStorage) DeepCopy() *VTStorage
- func (in *VTStorage) DeepCopyInto(out *VTStorage)
- func (cr *VTStorage) GetAdditionalService() *vmv1beta1.AdditionalServiceSpec
- func (cr *VTStorage) GetExtraArgs() map[string]string
- func (cr *VTStorage) GetMetricPath() string
- func (cr *VTStorage) GetServiceScrape() *vmv1beta1.VMServiceScrapeSpec
- func (cr *VTStorage) GetStorageVolumeName() string
- func (cr *VTStorage) Probe() *vmv1beta1.EmbeddedProbes
- func (*VTStorage) ProbeNeedLiveness() bool
- func (cr *VTStorage) ProbePath() string
- func (cr *VTStorage) ProbePort() string
- func (cr *VTStorage) ProbeScheme() string
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "operator.victoriametrics.com", Version: "v1"} // 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 // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: "operator.victoriametrics.com", Version: "v1"} )
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type FieldsListString ¶
type FieldsListString string
FieldsListString represents list of json encoded strings ["field"] or ["field1","field2"]
func (*FieldsListString) UnmarshalJSON ¶
func (sf *FieldsListString) UnmarshalJSON(src []byte) error
UnmarshalJSON implements json.Unmarshaller interface
type OAuth2 ¶ added in v0.61.0
type OAuth2 struct {
// ClientIDSecret defines secret or configmap containing the OAuth2 client id
// +optional
ClientIDSecret *corev1.SecretKeySelector `json:"clientIDSecret,omitempty"`
// ClientIDFile defines path to pre-mounted OAuth2 client id
// +optional
ClientIDFile string `json:"clientIDFile,omitempty"`
// The secret containing the OAuth2 client secret
// +optional
ClientSecret *corev1.SecretKeySelector `json:"clientSecret,omitempty"`
// ClientSecretFile defines path to pre-mounted OAuth2 client secret
// +optional
ClientSecretFile string `json:"clientSecretFile,omitempty"`
// TokenURL defines URL to fetch the token from
// +kubebuilder:validation:MinLength=1
// +required
TokenURL string `json:"tokenURL"`
// Scopes used for the token request
// +optional
Scopes []string `json:"scopes,omitempty"`
// EndpointParams to append to the token URL
// +optional
EndpointParams map[string]string `json:"endpointParams,omitempty"`
}
OAuth2 defines OAuth2 configuration parameters with optional references to secrets with corresponding sensitive values
func (*OAuth2) DeepCopy ¶ added in v0.61.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuth2.
func (*OAuth2) DeepCopyInto ¶ added in v0.61.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SyslogServerSpec ¶
type SyslogServerSpec struct {
// TCPListeners defines syslog server TCP listener configuration
TCPListeners []*SyslogTCPListener `json:"tcpListeners,omitempty"`
// UDPListeners defines syslog server UDP listener configuration
UDPListeners []*SyslogUDPListener `json:"udpListeners,omitempty"`
}
SyslogServerSpec defines syslog servers configuration
func (*SyslogServerSpec) DeepCopy ¶
func (in *SyslogServerSpec) DeepCopy() *SyslogServerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyslogServerSpec.
func (*SyslogServerSpec) DeepCopyInto ¶
func (in *SyslogServerSpec) DeepCopyInto(out *SyslogServerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SyslogTCPListener ¶
type SyslogTCPListener struct {
// ListenPort defines listen port
ListenPort int32 `json:"listenPort"`
// StreamFields to use as log stream labels
// see https://docs.victoriametrics.com/victorialogs/data-ingestion/syslog/#stream-fields
// +optional
StreamFields FieldsListString `json:"streamFields,omitempty"`
// IgnoreFields to ignore at logs
// see https://docs.victoriametrics.com/victorialogs/data-ingestion/syslog/#dropping-fields
// +optional
IgnoreFields FieldsListString `json:"ignoreFields,omitempty"`
// DecolorizeFields to remove ANSI color codes across logs
// see https://docs.victoriametrics.com/victorialogs/data-ingestion/syslog/#decolorizing-fields
// +optional
DecolorizeFields FieldsListString `json:"decolorizeFields,omitempty"`
// TenantID for logs ingested in form of accountID:projectID
// see https://docs.victoriametrics.com/victorialogs/data-ingestion/syslog/#multiple-configs
// +optional
TenantID string `json:"tenantID,omitempty"`
// CompressMethod for syslog messages
// see https://docs.victoriametrics.com/victorialogs/data-ingestion/syslog/#compression
// +kubebuilder:validation:Pattern:="^(none|zstd|gzip|deflate)$"
// +optional
CompressMethod string `json:"compressMethod,omitempty"`
// +optional
TLSConfig *TLSServerConfig `json:"tlsConfig,omitempty"`
}
SyslogTCPListener defines configuration for TCP syslog server listen
func (*SyslogTCPListener) DeepCopy ¶
func (in *SyslogTCPListener) DeepCopy() *SyslogTCPListener
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyslogTCPListener.
func (*SyslogTCPListener) DeepCopyInto ¶
func (in *SyslogTCPListener) DeepCopyInto(out *SyslogTCPListener)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SyslogUDPListener ¶
type SyslogUDPListener struct {
// ListenPort defines listen port
ListenPort int32 `json:"listenPort"`
// StreamFields to use as log stream labels
// see https://docs.victoriametrics.com/victorialogs/data-ingestion/syslog/#stream-fields
// +optional
StreamFields FieldsListString `json:"streamFields,omitempty"`
// IgnoreFields to ignore at logs
// see https://docs.victoriametrics.com/victorialogs/data-ingestion/syslog/#dropping-fields
// +optional
IgnoreFields FieldsListString `json:"ignoreFields,omitempty"`
// DecolorizeFields to remove ANSI color codes across logs
// see https://docs.victoriametrics.com/victorialogs/data-ingestion/syslog/#decolorizing-fields
// +optional
DecolorizeFields FieldsListString `json:"decolorizeFields,omitempty"`
// TenantID for logs ingested in form of accountID:projectID
// see https://docs.victoriametrics.com/victorialogs/data-ingestion/syslog/#multiple-configs
// +optional
TenantID string `json:"tenantID,omitempty"`
// CompressMethod for syslog messages
// see https://docs.victoriametrics.com/victorialogs/data-ingestion/syslog/#compression
// +kubebuilder:validation:Pattern:="^(none|zstd|gzip|deflate)$"
// +optional
CompressMethod string `json:"compressMethod,omitempty"`
}
SyslogUDPListener defines configuration for UDP syslog server listen
func (*SyslogUDPListener) DeepCopy ¶
func (in *SyslogUDPListener) DeepCopy() *SyslogUDPListener
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyslogUDPListener.
func (*SyslogUDPListener) DeepCopyInto ¶
func (in *SyslogUDPListener) DeepCopyInto(out *SyslogUDPListener)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSConfig ¶ added in v0.61.0
type TLSConfig struct {
// CASecret defines secret reference with tls CA key by given key
// +optional
CASecret *corev1.SecretKeySelector `json:"caSecretKeyRef,omitempty"`
// CAFile defines path to the pre-mounted file with TLS ca certificate
// +optional
CAFile string `json:"caFile,omitempty"`
// CertSecret defines secret reference with TLS cert by given key
// mutually exclusive with CASecret
// +optional
CertSecret *corev1.SecretKeySelector `json:"certSecretKeyRef,omitempty"`
// CertFile defines path to the pre-mounted file with TLS certificate
// mutually exclusive with CertSecret
// +optional
CertFile string `json:"certFile,omitempty"`
// CertSecret defines secret reference with TLS key by given key
// +optional
KeySecret *corev1.SecretKeySelector `json:"keySecretKeyRef,omitempty" yaml:"-"`
// KeyFile defines path to the pre-mounted file with TLS cert key
// mutually exclusive with CertSecret
// +optional
KeyFile string `json:"keyFile,omitempty"`
// Used to verify the hostname for the targets.
// +optional
ServerName string `json:"serverName,omitempty"`
// Disable target certificate validation.
// +optional
InsecureSkipVerify bool `json:"insecureSkipVerify,omitempty"`
}
TLSConfig specifies TLS configuration parameters with optional references to secrets with corresponding sensitive values
func (*TLSConfig) DeepCopy ¶ added in v0.61.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSConfig.
func (*TLSConfig) DeepCopyInto ¶ added in v0.61.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSServerConfig ¶
type TLSServerConfig struct {
// CertSecretRef defines reference for secret with certificate content under given key
// mutually exclusive with CertFile
// +optional
CertSecret *corev1.SecretKeySelector `json:"certSecret,omitempty"`
// CertFile defines path to the pre-mounted file with certificate
// mutually exclusive with CertSecret
// +optional
CertFile string `json:"certFile,omitempty"`
// Key defines reference for secret with certificate key content under given key
// mutually exclusive with KeyFile
// +optional
KeySecret *corev1.SecretKeySelector `json:"keySecret,omitempty"`
// KeyFile defines path to the pre-mounted file with certificate key
// mutually exclusive with KeySecretRef
// +optional
KeyFile string `json:"keyFile,omitempty"`
}
TLSServerConfig defines VictoriaMetrics TLS configuration for the application's server
func (*TLSServerConfig) DeepCopy ¶
func (in *TLSServerConfig) DeepCopy() *TLSServerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSServerConfig.
func (*TLSServerConfig) DeepCopyInto ¶
func (in *TLSServerConfig) DeepCopyInto(out *TLSServerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VLAgent ¶ added in v0.61.0
type VLAgent struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec VLAgentSpec `json:"spec,omitempty"`
// ParsedLastAppliedSpec contains last-applied configuration spec
ParsedLastAppliedSpec *VLAgentSpec `json:"-" yaml:"-"`
Status VLAgentStatus `json:"status,omitempty"`
}
VLAgent - is a tiny but brave agent, which helps you collect logs from various sources and stores them in VictoriaLogs. +operator-sdk:gen-csv:customresourcedefinitions.displayName="VLAgent App" +operator-sdk:gen-csv:customresourcedefinitions.resources="Deployment,apps" +operator-sdk:gen-csv:customresourcedefinitions.resources="Service,v1" +operator-sdk:gen-csv:customresourcedefinitions.resources="Secret,v1" +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +genclient +k8s:openapi-gen=true +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=vlagents,scope=Namespaced +kubebuilder:subresource:scale:specpath=.spec.shardCount,statuspath=.status.shards,selectorpath=.status.selector +kubebuilder:printcolumn:name="Replica Count",type="integer",JSONPath=".status.replicas",description="current number of replicas" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.updateStatus",description="Current status of update rollout" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (*VLAgent) AllLabels ¶ added in v0.61.0
AllLabels returns global labels for all vlagent related resources
func (*VLAgent) AnnotationsFiltered ¶ added in v0.61.0
AnnotationsFiltered implements build.builderOpts interface
func (*VLAgent) AsOwner ¶ added in v0.61.0
func (cr *VLAgent) AsOwner() []metav1.OwnerReference
AsOwner returns owner references with current object as owner
func (*VLAgent) DeepCopy ¶ added in v0.61.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VLAgent.
func (*VLAgent) DeepCopyInto ¶ added in v0.61.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VLAgent) DeepCopyObject ¶ added in v0.61.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VLAgent) DefaultStatusFields ¶ added in v0.61.0
func (cr *VLAgent) DefaultStatusFields(vs *VLAgentStatus)
DefaultStatusFields implements reconcile.ObjectWithDeepCopyAndStatus interface
func (*VLAgent) GetAdditionalService ¶ added in v0.61.0
func (cr *VLAgent) GetAdditionalService() *vmv1beta1.AdditionalServiceSpec
GetAdditionalService returns AdditionalServiceSpec settings
func (*VLAgent) GetExtraArgs ¶ added in v0.61.0
ExtraArgs returns additionally configured command-line arguments
func (*VLAgent) GetMetricPath ¶ added in v0.61.0
GetMetricPath returns prefixed path for metric requests
func (*VLAgent) GetServiceAccountName ¶ added in v0.61.0
GetServiceAccountName returns ServiceAccount for resource
func (*VLAgent) GetServiceScrape ¶ added in v0.61.0
func (cr *VLAgent) GetServiceScrape() *vmv1beta1.VMServiceScrapeSpec
ServiceScrape returns overrides for serviceScrape builder
func (*VLAgent) GetStatus ¶ added in v0.61.0
func (cr *VLAgent) GetStatus() *VLAgentStatus
GetStatus implements reconcile.ObjectWithDeepCopyAndStatus interface
func (*VLAgent) HasSpecChanges ¶ added in v0.61.0
HasSpecChanges compares spec with last applied cluster spec stored in annotation
func (*VLAgent) HealthPath ¶ added in v0.61.0
HealthPath returns path for health requests
func (*VLAgent) IsOwnsServiceAccount ¶ added in v0.61.0
IsOwnsServiceAccount implements build.objectForServiceAccountBuilder
func (*VLAgent) LastAppliedSpecAsPatch ¶ added in v0.61.0
LastAppliedSpecAsPatch return last applied cluster spec as patch annotation
func (*VLAgent) PodAnnotations ¶ added in v0.61.0
PodAnnotations returns pod metadata annotations
func (*VLAgent) PrefixedName ¶ added in v0.61.0
PrefixedName returns name of resource with fixed prefix
func (*VLAgent) Probe ¶ added in v0.61.0
func (cr *VLAgent) Probe() *vmv1beta1.EmbeddedProbes
Probe implements build.probeCRD interface
func (*VLAgent) ProbeNeedLiveness ¶ added in v0.61.0
ProbeNeedLiveness implements build.probeCRD interface
func (*VLAgent) ProbeScheme ¶ added in v0.61.0
ProbeScheme implements build.probeCRD interface
func (*VLAgent) SelectorLabels ¶ added in v0.61.0
SelectorLabels returns selector labels for querying any vlagent related resources
func (*VLAgent) SetLastSpec ¶ added in v0.61.0
func (cr *VLAgent) SetLastSpec(prevSpec VLAgentSpec)
SetLastSpec implements objectWithLastAppliedState interface
func (*VLAgent) UnmarshalJSON ¶ added in v0.61.0
UnmarshalJSON implements json.Unmarshaler interface
type VLAgentList ¶ added in v0.61.0
type VLAgentList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []VLAgent `json:"items"`
}
VLAgentList contains a list of VLAgent +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*VLAgentList) DeepCopy ¶ added in v0.61.0
func (in *VLAgentList) DeepCopy() *VLAgentList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VLAgentList.
func (*VLAgentList) DeepCopyInto ¶ added in v0.61.0
func (in *VLAgentList) DeepCopyInto(out *VLAgentList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VLAgentList) DeepCopyObject ¶ added in v0.61.0
func (in *VLAgentList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VLAgentRemoteWriteSettings ¶ added in v0.61.0
type VLAgentRemoteWriteSettings struct {
// The maximum size of unpacked request to send to remote storage
// +optional
// +kubebuilder:validation:Schemaless
// +kubebuilder:pruning:PreserveUnknownFields
MaxBlockSize *vmv1beta1.BytesString `json:"maxBlockSize,omitempty"`
// The maximum file-based buffer size in bytes at -remoteWrite.tmpDataPath
// +optional
// +kubebuilder:validation:Schemaless
// +kubebuilder:pruning:PreserveUnknownFields
MaxDiskUsagePerURL *vmv1beta1.BytesString `json:"maxDiskUsagePerURL,omitempty"`
// The number of concurrent queues
// +optional
Queues *int32 `json:"queues,omitempty"`
// Whether to show -remoteWrite.url in the exported metrics. It is hidden by default, since it can contain sensitive auth info
// +optional
ShowURL *bool `json:"showURL,omitempty"`
// Path to directory where temporary data for remote write component is stored (default /vlagent_pq/vlagent-remotewrite-data)
// If defined, operator ignores spec.storage field and skips adding volume and volumeMount for pq
// +optional
TmpDataPath *string `json:"tmpDataPath,omitempty"`
// Interval for flushing the data to remote storage. (default 1s)
// +optional
// +kubebuilder:validation:Pattern:="[0-9]+(ms|s|m|h)"
FlushInterval *string `json:"flushInterval,omitempty"`
}
VLAgentRemoteWriteSettings - defines global settings for all remoteWrite urls.
func (*VLAgentRemoteWriteSettings) DeepCopy ¶ added in v0.61.0
func (in *VLAgentRemoteWriteSettings) DeepCopy() *VLAgentRemoteWriteSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VLAgentRemoteWriteSettings.
func (*VLAgentRemoteWriteSettings) DeepCopyInto ¶ added in v0.61.0
func (in *VLAgentRemoteWriteSettings) DeepCopyInto(out *VLAgentRemoteWriteSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VLAgentRemoteWriteSpec ¶ added in v0.61.0
type VLAgentRemoteWriteSpec struct {
// URL of the endpoint to send samples to.
URL string `json:"url"`
// Optional bearer auth token to use for -remoteWrite.url
// +optional
BearerTokenSecret *corev1.SecretKeySelector `json:"bearerTokenSecret,omitempty"`
// Optional bearer auth token to use for -remoteWrite.url
// +optional
BearerTokenPath string `json:"bearerTokenPath,omitempty"`
// OAuth2 defines auth configuration
// +optional
OAuth2 *OAuth2 `json:"oauth2,omitempty"`
// TLSConfig describes tls configuration for remote write target
// +optional
TLSConfig *TLSConfig `json:"tlsConfig,omitempty"`
// Timeout for sending a single block of data to -remoteWrite.url (default 1m0s)
// +optional
// +kubebuilder:validation:Pattern:="[0-9]+(ms|s|m|h)"
SendTimeout *string `json:"sendTimeout,omitempty"`
// Headers allow configuring custom http headers
// Must be in form of semicolon separated header with value
// e.g.
// headerName: headerValue
// +optional
Headers []string `json:"headers,omitempty"`
// MaxDiskUsage defines the maximum file-based buffer size in bytes for the given remoteWrite
// It overrides global configuration defined at remoteWriteSettings.maxDiskUsagePerURL
// +optional
// +kubebuilder:validation:Schemaless
// +kubebuilder:pruning:PreserveUnknownFields
MaxDiskUsage *vmv1beta1.BytesString `json:"maxDiskUsage,omitempty"`
// ProxyURL for -remoteWrite.url. Supported proxies: http, https, socks5. Example: socks5://proxy:1234
// +optional
ProxyURL *string `json:"proxyURL,omitempty"`
}
VLAgentRemoteWriteSpec defines the remote storage configuration for VmAgent +k8s:openapi-gen=true
func (*VLAgentRemoteWriteSpec) DeepCopy ¶ added in v0.61.0
func (in *VLAgentRemoteWriteSpec) DeepCopy() *VLAgentRemoteWriteSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VLAgentRemoteWriteSpec.
func (*VLAgentRemoteWriteSpec) DeepCopyInto ¶ added in v0.61.0
func (in *VLAgentRemoteWriteSpec) DeepCopyInto(out *VLAgentRemoteWriteSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VLAgentSpec ¶ added in v0.61.0
type VLAgentSpec struct {
// ParsingError contents error with context if operator was failed to parse json object from kubernetes api server
ParsingError string `json:"-" yaml:"-"`
// PodMetadata configures Labels and Annotations which are propagated to the vlagent pods.
// +optional
PodMetadata *vmv1beta1.EmbeddedObjectMetadata `json:"podMetadata,omitempty"`
// ManagedMetadata defines metadata that will be added to the all objects
// created by operator for the given CustomResource
ManagedMetadata *vmv1beta1.ManagedObjectsMetadata `json:"managedMetadata,omitempty"`
// LogLevel for VLAgent to be configured with.
// INFO, WARN, ERROR, FATAL, PANIC
// +optional
// +kubebuilder:validation:Enum=INFO;WARN;ERROR;FATAL;PANIC
LogLevel string `json:"logLevel,omitempty"`
// LogFormat for VLAgent to be configured with.
// +optional
// +kubebuilder:validation:Enum=default;json
LogFormat string `json:"logFormat,omitempty"`
// RemoteWrite list of victoria logs endpoints
// for victorialogs it must looks like: http://victoria-logs-single:9428/
// or for cluster different url
// https://docs.victoriametrics.com/victorialogs/vlagent/#replication-and-high-availability
RemoteWrite []VLAgentRemoteWriteSpec `json:"remoteWrite"`
// RemoteWriteSettings defines global settings for all remoteWrite urls.
// +optional
RemoteWriteSettings *VLAgentRemoteWriteSettings `json:"remoteWriteSettings,omitempty"`
// ServiceSpec that will be added to vlagent service spec
// +optional
ServiceSpec *vmv1beta1.AdditionalServiceSpec `json:"serviceSpec,omitempty"`
// ServiceScrapeSpec that will be added to vlagent VMServiceScrape spec
// +optional
ServiceScrapeSpec *vmv1beta1.VMServiceScrapeSpec `json:"serviceScrapeSpec,omitempty"`
// PodDisruptionBudget created by operator
// +optional
PodDisruptionBudget *vmv1beta1.EmbeddedPodDisruptionBudgetSpec `json:"podDisruptionBudget,omitempty"`
// StatefulStorage configures storage for StatefulSet
// +optional
Storage *vmv1beta1.StorageSpec `json:"storage,omitempty"`
// StatefulRollingUpdateStrategy allows configuration for strategyType
// set it to RollingUpdate for disabling operator statefulSet rollingUpdate
// +optional
RollingUpdateStrategy appsv1.StatefulSetUpdateStrategyType `json:"rollingUpdateStrategy,omitempty"`
// PersistentVolumeClaimRetentionPolicy allows configuration of PVC retention policy
// +optional
PersistentVolumeClaimRetentionPolicy *appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy `json:"persistentVolumeClaimRetentionPolicy,omitempty"`
// ClaimTemplates allows adding additional VolumeClaimTemplates for VLAgent in Mode: StatefulSet
ClaimTemplates []corev1.PersistentVolumeClaim `json:"claimTemplates,omitempty"`
// SyslogSpec defines syslog listener configuration
// +optional
SyslogSpec *SyslogServerSpec `json:"syslogSpec,omitempty"`
// ServiceAccountName is the name of the ServiceAccount to use to run the pods
// +optional
ServiceAccountName string `json:"serviceAccountName,omitempty"`
*vmv1beta1.EmbeddedProbes `json:",inline"`
vmv1beta1.CommonDefaultableParams `json:",inline,omitempty"`
vmv1beta1.CommonApplicationDeploymentParams `json:",inline,omitempty"`
}
VLAgentSpec defines the desired state of VLAgent +k8s:openapi-gen=true
func (*VLAgentSpec) DeepCopy ¶ added in v0.61.0
func (in *VLAgentSpec) DeepCopy() *VLAgentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VLAgentSpec.
func (*VLAgentSpec) DeepCopyInto ¶ added in v0.61.0
func (in *VLAgentSpec) DeepCopyInto(out *VLAgentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VLAgentSpec) UnmarshalJSON ¶ added in v0.61.0
func (cr *VLAgentSpec) UnmarshalJSON(src []byte) error
UnmarshalJSON implements json.Unmarshaler interface
type VLAgentStatus ¶ added in v0.61.0
type VLAgentStatus struct {
// Selector string form of label value set for autoscaling
Selector string `json:"selector,omitempty"`
// ReplicaCount Total number of pods targeted by this VLAgent
Replicas int32 `json:"replicas,omitempty"`
vmv1beta1.StatusMetadata `json:",inline"`
}
VLAgentStatus defines the observed state of VLAgent +k8s:openapi-gen=true
func (*VLAgentStatus) DeepCopy ¶ added in v0.61.0
func (in *VLAgentStatus) DeepCopy() *VLAgentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VLAgentStatus.
func (*VLAgentStatus) DeepCopyInto ¶ added in v0.61.0
func (in *VLAgentStatus) DeepCopyInto(out *VLAgentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VLAgentStatus) GetStatusMetadata ¶ added in v0.61.0
func (cr *VLAgentStatus) GetStatusMetadata() *vmv1beta1.StatusMetadata
GetStatusMetadata returns metadata for object status
type VLCluster ¶
type VLCluster struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec VLClusterSpec `json:"spec,omitempty"`
Status VLClusterStatus `json:"status,omitempty"`
// ParsedLastAppliedSpec contains last-applied configuration spec
ParsedLastAppliedSpec *VLClusterSpec `json:"-" yaml:"-"`
}
VLCluster is fast, cost-effective and scalable logs database. +kubebuilder:printcolumn:name="Insert Count",type="string",JSONPath=".spec.vlinsert.replicaCount",description="replicas of VLInsert" +kubebuilder:printcolumn:name="Storage Count",type="string",JSONPath=".spec.vlstorage.replicaCount",description="replicas of VLStorage" +kubebuilder:printcolumn:name="Select Count",type="string",JSONPath=".spec.vlselect.replicaCount",description="replicas of VLSelect" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.updateStatus",description="Current status of cluster" +genclient
func (*VLCluster) AnnotationsFiltered ¶
AnnotationsFiltered implements finalize.crdObject interface
func (*VLCluster) AsOwner ¶
func (cr *VLCluster) AsOwner() []metav1.OwnerReference
AsOwner returns owner references with current object as owner
func (*VLCluster) AvailableStorageNodeIDs ¶
AvailableStorageNodeIDs returns ids of the storage nodes for the provided component
func (*VLCluster) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VLCluster.
func (*VLCluster) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VLCluster) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VLCluster) DefaultStatusFields ¶
func (cr *VLCluster) DefaultStatusFields(vs *VLClusterStatus)
DefaultStatusFields implements reconcile.ObjectWithDeepCopyAndStatus interface
func (*VLCluster) FinalAnnotations ¶
FinalAnnotations returns global annotations to be applied by objects generate for vlcluster
func (*VLCluster) FinalLabels ¶
FinalLabels adds cluster labels to the base labels and filters by prefix if needed
func (*VLCluster) GetServiceAccountName ¶
GetServiceAccountName returns service account name for all vlcluster components
func (*VLCluster) GetStatus ¶
func (cr *VLCluster) GetStatus() *VLClusterStatus
GetStatus implements reconcile.ObjectWithDeepCopyAndStatus interface
func (*VLCluster) GetVLInsertLBName ¶
GetVLInsertLBName returns headless proxy service name for insert component
func (*VLCluster) GetVLInsertName ¶
GetVLInsertName returns insert component name
func (*VLCluster) GetVLSelectLBName ¶
GetVLSelectLBName returns headless proxy service name for select component
func (*VLCluster) GetVLSelectName ¶
GetLVSelectName returns select component name
func (*VLCluster) GetVLStorageName ¶
GetVLStorageName returns select component name
func (*VLCluster) GetVMAuthLBName ¶
GetVMAuthLBName returns prefixed name for the loadbalancer components
func (*VLCluster) HasSpecChanges ¶
HasSpecChanges compares cluster spec with last applied cluster spec stored in annotation
func (*VLCluster) IsOwnsServiceAccount ¶
func (*VLCluster) LastAppliedSpecAsPatch ¶
LastAppliedSpecAsPatch return last applied cluster spec as patch annotation
func (*VLCluster) PrefixedName ¶
PrefixedName format name of the component with hard-coded prefix
func (*VLCluster) SelectorLabels ¶
SelectorLabels defines labels for objects generated used by all cluster components
func (*VLCluster) SetLastSpec ¶
func (cr *VLCluster) SetLastSpec(prevSpec VLClusterSpec)
SetLastSpec implements objectWithLastAppliedState interface
func (*VLCluster) StorageURL ¶
StorageURL returns url to access VLStorage component
func (*VLCluster) UnmarshalJSON ¶
UnmarshalJSON implements json.Unmarshaler interface
func (*VLCluster) VLInsertPodAnnotations ¶
VLInsertPodAnnotations returns pod annotations for insert cluster component
func (*VLCluster) VLInsertPodLabels ¶
VLInsertPodLabels returns pod labels for vlinsert cluster component
func (*VLCluster) VLInsertSelectorLabels ¶
VLInsertSelectorLabels returns selector labels for insert cluster component
func (*VLCluster) VLSelectPodAnnotations ¶
VLSelectPodAnnotations returns pod annotations for select cluster component
func (*VLCluster) VLSelectPodLabels ¶
VLSelectPodLabels returns pod labels for select cluster component
func (*VLCluster) VLSelectSelectorLabels ¶
VLSelectSelectorLabels returns selector labels for select cluster component
func (*VLCluster) VLStoragePodAnnotations ¶
VLStoragePodAnnotations returns pod annotations for storage cluster component
func (*VLCluster) VLStoragePodLabels ¶
VLStoragePodLabels returns pod labels for the vmstorage cluster component
func (*VLCluster) VLStorageSelectorLabels ¶
VLStorageSelectorLabels returns pod labels for vlstorage cluster component
func (*VLCluster) VMAuthLBPodAnnotations ¶
VMAuthLBPodAnnotations returns pod annotations for vmstorage cluster component
func (*VLCluster) VMAuthLBPodLabels ¶
VMAuthLBPodLabels returns pod labels for vlclusterlb-vmauth-balancer cluster component
func (*VLCluster) VMAuthLBSelectorLabels ¶
VMAuthLBSelectorLabels defines selector labels for vmauth balancer
type VLClusterList ¶
type VLClusterList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []VLCluster `json:"items"`
}
VLClusterList contains a list of VLCluster
func (*VLClusterList) DeepCopy ¶
func (in *VLClusterList) DeepCopy() *VLClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VLClusterList.
func (*VLClusterList) DeepCopyInto ¶
func (in *VLClusterList) DeepCopyInto(out *VLClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VLClusterList) DeepCopyObject ¶
func (in *VLClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VLClusterSpec ¶
type VLClusterSpec struct {
// ParsingError contents error with context if operator was failed to parse json object from kubernetes api server
ParsingError string `json:"-" yaml:"-"`
// ServiceAccountName is the name of the ServiceAccount to use to run the
// VLSelect, VLInsert and VLStorage Pods.
// +optional
ServiceAccountName string `json:"serviceAccountName,omitempty"`
// ClusterVersion defines default images tag for all components.
// it can be overwritten with component specific image.tag value.
// +optional
ClusterVersion string `json:"clusterVersion,omitempty"`
// ClusterDomainName defines domain name suffix for in-cluster dns addresses
// aka .cluster.local
// used by vlinsert and vlselect to build vlstorage address
// +optional
ClusterDomainName string `json:"clusterDomainName,omitempty"`
// ImagePullSecrets An optional list of references to secrets in the same namespace
// to use for pulling images from registries
// see https://kubernetes.io/docs/concepts/containers/images/#referring-to-an-imagepullsecrets-on-a-pod
// +optional
ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
VLInsert *VLInsert `json:"vlinsert,omitempty"`
VLSelect *VLSelect `json:"vlselect,omitempty"`
VLStorage *VLStorage `json:"vlstorage,omitempty"`
// Paused If set to true all actions on the underlying managed objects are not
// going to be performed, except for delete actions.
// +optional
Paused bool `json:"paused,omitempty"`
// UseStrictSecurity enables strict security mode for component
// it restricts disk writes access
// uses non-root user out of the box
// drops not needed security permissions
// +optional
UseStrictSecurity *bool `json:"useStrictSecurity,omitempty"`
// RequestsLoadBalancer configures load-balancing for vlinsert and vlselect requests.
// It helps to evenly spread load across pods.
// Usually it's not possible with Kubernetes TCP-based services.
RequestsLoadBalancer vmv1beta1.VMAuthLoadBalancer `json:"requestsLoadBalancer,omitempty"`
// ManagedMetadata defines metadata that will be added to the all objects
// created by operator for the given CustomResource
ManagedMetadata *vmv1beta1.ManagedObjectsMetadata `json:"managedMetadata,omitempty"`
}
VLClusterSpec defines the desired state of VLCluster
func (*VLClusterSpec) DeepCopy ¶
func (in *VLClusterSpec) DeepCopy() *VLClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VLClusterSpec.
func (*VLClusterSpec) DeepCopyInto ¶
func (in *VLClusterSpec) DeepCopyInto(out *VLClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VLClusterSpec) UnmarshalJSON ¶
func (cr *VLClusterSpec) UnmarshalJSON(src []byte) error
UnmarshalJSON implements json.Unmarshaler interface
type VLClusterStatus ¶
type VLClusterStatus struct {
vmv1beta1.StatusMetadata `json:",inline"`
}
VLClusterStatus defines the observed state of VLCluster
func (*VLClusterStatus) DeepCopy ¶
func (in *VLClusterStatus) DeepCopy() *VLClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VLClusterStatus.
func (*VLClusterStatus) DeepCopyInto ¶
func (in *VLClusterStatus) DeepCopyInto(out *VLClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VLClusterStatus) GetStatusMetadata ¶
func (cr *VLClusterStatus) GetStatusMetadata() *vmv1beta1.StatusMetadata
GetStatusMetadata returns metadata for object status
type VLInsert ¶
type VLInsert struct {
// PodMetadata configures Labels and Annotations which are propagated to the VLSelect pods.
PodMetadata *vmv1beta1.EmbeddedObjectMetadata `json:"podMetadata,omitempty"`
// LogFormat for VLSelect to be configured with.
// default or json
// +optional
// +kubebuilder:validation:Enum=default;json
LogFormat string `json:"logFormat,omitempty"`
// LogLevel for VLSelect to be configured with.
// +optional
// +kubebuilder:validation:Enum=INFO;WARN;ERROR;FATAL;PANIC
LogLevel string `json:"logLevel,omitempty"`
// ServiceSpec that will be added to vlselect service spec
// +optional
ServiceSpec *vmv1beta1.AdditionalServiceSpec `json:"serviceSpec,omitempty"`
// ServiceScrapeSpec that will be added to vlselect VMServiceScrape spec
// +optional
ServiceScrapeSpec *vmv1beta1.VMServiceScrapeSpec `json:"serviceScrapeSpec,omitempty"`
// PodDisruptionBudget created by operator
// +optional
PodDisruptionBudget *vmv1beta1.EmbeddedPodDisruptionBudgetSpec `json:"podDisruptionBudget,omitempty"`
*vmv1beta1.EmbeddedProbes `json:",inline"`
// Configures horizontal pod autoscaling.
// +optional
HPA *vmv1beta1.EmbeddedHPA `json:"hpa,omitempty"`
// SyslogSpec defines syslog listener configuration
// +optional
SyslogSpec *SyslogServerSpec `json:"syslogSpec,omitempty"`
// UpdateStrategy - overrides default update strategy.
// +kubebuilder:validation:Enum=Recreate;RollingUpdate
// +optional
UpdateStrategy *appsv1.DeploymentStrategyType `json:"updateStrategy,omitempty"`
// RollingUpdate - overrides deployment update params.
// +optional
RollingUpdate *appsv1.RollingUpdateDeployment `json:"rollingUpdate,omitempty"`
vmv1beta1.CommonDefaultableParams `json:",inline"`
vmv1beta1.CommonApplicationDeploymentParams `json:",inline"`
}
VLInsert defines vlinsert component configuration at victoria-logs cluster
func (*VLInsert) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VLInsert.
func (*VLInsert) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VLInsert) GetAdditionalService ¶
func (cr *VLInsert) GetAdditionalService() *vmv1beta1.AdditionalServiceSpec
GetAdditionalService returns AdditionalServiceSpec settings
func (*VLInsert) GetExtraArgs ¶
ExtraArgs returns additionally configured command-line arguments
func (*VLInsert) GetMetricPath ¶
GetMetricPath returns prefixed path for metric requests
func (*VLInsert) GetServiceScrape ¶
func (cr *VLInsert) GetServiceScrape() *vmv1beta1.VMServiceScrapeSpec
ServiceScrape returns overrides for serviceScrape builder
func (*VLInsert) Probe ¶
func (cr *VLInsert) Probe() *vmv1beta1.EmbeddedProbes
Probe implements build.probeCRD interface
func (*VLInsert) ProbeNeedLiveness ¶
ProbeNeedLiveness implements build.probeCRD interface
func (*VLInsert) ProbeScheme ¶
ProbeScheme implements build.probeCRD interface
type VLSelect ¶
type VLSelect struct {
// PodMetadata configures Labels and Annotations which are propagated to the VLSelect pods.
PodMetadata *vmv1beta1.EmbeddedObjectMetadata `json:"podMetadata,omitempty"`
// LogFormat for VLSelect to be configured with.
// default or json
// +optional
// +kubebuilder:validation:Enum=default;json
LogFormat string `json:"logFormat,omitempty"`
// LogLevel for VLSelect to be configured with.
// +optional
// +kubebuilder:validation:Enum=INFO;WARN;ERROR;FATAL;PANIC
LogLevel string `json:"logLevel,omitempty"`
// ServiceSpec that will be added to vlselect service spec
// +optional
ServiceSpec *vmv1beta1.AdditionalServiceSpec `json:"serviceSpec,omitempty"`
// ServiceScrapeSpec that will be added to vlselect VMServiceScrape spec
// +optional
ServiceScrapeSpec *vmv1beta1.VMServiceScrapeSpec `json:"serviceScrapeSpec,omitempty"`
// PodDisruptionBudget created by operator
// +optional
PodDisruptionBudget *vmv1beta1.EmbeddedPodDisruptionBudgetSpec `json:"podDisruptionBudget,omitempty"`
*vmv1beta1.EmbeddedProbes `json:",inline"`
// Configures horizontal pod autoscaling.
// +optional
HPA *vmv1beta1.EmbeddedHPA `json:"hpa,omitempty"`
// UpdateStrategy - overrides default update strategy.
// +kubebuilder:validation:Enum=Recreate;RollingUpdate
// +optional
UpdateStrategy *appsv1.DeploymentStrategyType `json:"updateStrategy,omitempty"`
// RollingUpdate - overrides deployment update params.
// +optional
RollingUpdate *appsv1.RollingUpdateDeployment `json:"rollingUpdate,omitempty"`
vmv1beta1.CommonDefaultableParams `json:",inline"`
vmv1beta1.CommonApplicationDeploymentParams `json:",inline"`
}
VLSelect defines vlselect component configuration at victoria-logs cluster
func (*VLSelect) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VLSelect.
func (*VLSelect) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VLSelect) GetAdditionalService ¶
func (cr *VLSelect) GetAdditionalService() *vmv1beta1.AdditionalServiceSpec
GetAdditionalService returns AdditionalServiceSpec settings
func (*VLSelect) GetExtraArgs ¶
ExtraArgs returns additionally configured command-line arguments
func (*VLSelect) GetMetricPath ¶
GetMetricPath returns prefixed path for metric requests
func (*VLSelect) GetServiceScrape ¶
func (cr *VLSelect) GetServiceScrape() *vmv1beta1.VMServiceScrapeSpec
ServiceScrape returns overrides for serviceScrape builder
func (*VLSelect) Probe ¶
func (cr *VLSelect) Probe() *vmv1beta1.EmbeddedProbes
Probe implements build.probeCRD interface
func (*VLSelect) ProbeNeedLiveness ¶
ProbeNeedLiveness implements build.probeCRD interface
func (*VLSelect) ProbeScheme ¶
ProbeScheme implements build.probeCRD interface
type VLSingle ¶
type VLSingle struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec VLSingleSpec `json:"spec,omitempty"`
// ParsedLastAppliedSpec contains last-applied configuration spec
ParsedLastAppliedSpec *VLSingleSpec `json:"-" yaml:"-"`
Status VLSingleStatus `json:"status,omitempty"`
}
VLSingle is fast, cost-effective and scalable logs database. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +operator-sdk:gen-csv:customresourcedefinitions.displayName="VLSingle App" +operator-sdk:gen-csv:customresourcedefinitions.resources="Deployment,apps" +operator-sdk:gen-csv:customresourcedefinitions.resources="Service,v1" +operator-sdk:gen-csv:customresourcedefinitions.resources="Secret,v1" +genclient +k8s:openapi-gen=true +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=vlsingles,scope=Namespaced +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.status",description="Current status of logs instance update process" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" VLSingle is the Schema for the API
func (*VLSingle) AnnotationsFiltered ¶
func (*VLSingle) AsOwner ¶
func (r *VLSingle) AsOwner() []metav1.OwnerReference
AsOwner returns owner references with current object as owner
func (*VLSingle) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VLSingle.
func (*VLSingle) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VLSingle) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VLSingle) DefaultStatusFields ¶
func (cr *VLSingle) DefaultStatusFields(vs *VLSingleStatus)
DefaultStatusFields implements reconcile.ObjectWithDeepCopyAndStatus interface
func (*VLSingle) GetAdditionalService ¶
func (cr *VLSingle) GetAdditionalService() *vmv1beta1.AdditionalServiceSpec
GetAdditionalService returns AdditionalServiceSpec settings
func (*VLSingle) GetExtraArgs ¶
GetExtraArgs returns additionally configured command-line arguments
func (*VLSingle) GetMetricPath ¶
GetMetricPath returns prefixed path for metric requests
func (*VLSingle) GetServiceAccountName ¶
func (*VLSingle) GetServiceScrape ¶
func (cr *VLSingle) GetServiceScrape() *vmv1beta1.VMServiceScrapeSpec
GetServiceScrape returns overrides for serviceScrape builder
func (*VLSingle) GetStatus ¶
func (cr *VLSingle) GetStatus() *VLSingleStatus
GetStatus implements reconcile.ObjectWithDeepCopyAndStatus interface
func (*VLSingle) HasSpecChanges ¶
HasSpecChanges compares vlsingle spec with last applied vlsingle spec stored in annotation
func (*VLSingle) IsOwnsServiceAccount ¶
func (*VLSingle) LastAppliedSpecAsPatch ¶
LastAppliedSpecAsPatch return last applied vlsingle spec as patch annotation
func (*VLSingle) PodAnnotations ¶
func (*VLSingle) PrefixedName ¶
func (*VLSingle) Probe ¶
func (cr *VLSingle) Probe() *vmv1beta1.EmbeddedProbes
func (*VLSingle) ProbeNeedLiveness ¶
func (*VLSingle) ProbeScheme ¶
func (*VLSingle) SelectorLabels ¶
SelectorLabels returns unique labels for object
func (*VLSingle) SetLastSpec ¶
func (cr *VLSingle) SetLastSpec(prevSpec VLSingleSpec)
SetLastSpec implements objectWithLastAppliedState interface
func (*VLSingle) UnmarshalJSON ¶
UnmarshalJSON implements json.Unmarshaler interface
type VLSingleList ¶
type VLSingleList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []VLSingle `json:"items"`
}
VLSingleList contains a list of VLSingle
func (*VLSingleList) DeepCopy ¶
func (in *VLSingleList) DeepCopy() *VLSingleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VLSingleList.
func (*VLSingleList) DeepCopyInto ¶
func (in *VLSingleList) DeepCopyInto(out *VLSingleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VLSingleList) DeepCopyObject ¶
func (in *VLSingleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VLSingleSpec ¶
type VLSingleSpec struct {
// ParsingError contents error with context if operator was failed to parse json object from kubernetes api server
ParsingError string `json:"-" yaml:"-"`
// PodMetadata configures Labels and Annotations which are propagated to the VLSingle pods.
// +optional
PodMetadata *vmv1beta1.EmbeddedObjectMetadata `json:"podMetadata,omitempty"`
// ManagedMetadata defines metadata that will be added to the all objects
// created by operator for the given CustomResource
ManagedMetadata *vmv1beta1.ManagedObjectsMetadata `json:"managedMetadata,omitempty"`
vmv1beta1.CommonDefaultableParams `json:",inline,omitempty"`
vmv1beta1.CommonApplicationDeploymentParams `json:",inline,omitempty"`
// LogLevel for VictoriaLogs to be configured with.
// +optional
// +kubebuilder:validation:Enum=INFO;WARN;ERROR;FATAL;PANIC
LogLevel string `json:"logLevel,omitempty"`
// LogFormat for VLSingle to be configured with.
// +optional
// +kubebuilder:validation:Enum=default;json
LogFormat string `json:"logFormat,omitempty"`
// StorageDataPath disables spec.storage option and overrides arg for victoria-logs binary --storageDataPath,
// its users responsibility to mount proper device into given path.
// +optional
StorageDataPath string `json:"storageDataPath,omitempty"`
// Storage is the definition of how storage will be used by the VLSingle
// by default it`s empty dir
// +optional
Storage *corev1.PersistentVolumeClaimSpec `json:"storage,omitempty"`
// StorageMeta defines annotations and labels attached to PVC for given vlsingle CR
// +optional
StorageMetadata vmv1beta1.EmbeddedObjectMetadata `json:"storageMetadata,omitempty"`
// RetentionPeriod for the stored logs
// https://docs.victoriametrics.com/victorialogs/#retention
// +optional
// +kubebuilder:validation:Pattern:="^[0-9]+(h|d|w|y)?$"
RetentionPeriod string `json:"retentionPeriod,omitempty"`
// RetentionMaxDiskSpaceUsageBytes for the stored logs
// VictoriaLogs keeps at least two last days of data in order to guarantee that the logs for the last day can be returned in queries.
// This means that the total disk space usage may exceed the -retention.maxDiskSpaceUsageBytes,
// if the size of the last two days of data exceeds the -retention.maxDiskSpaceUsageBytes.
// https://docs.victoriametrics.com/victorialogs/#retention-by-disk-space-usage
// +optional
RetentionMaxDiskSpaceUsageBytes vmv1beta1.BytesString `json:"retentionMaxDiskSpaceUsageBytes,omitempty"`
// FutureRetention for the stored logs
// Log entries with timestamps bigger than now+futureRetention are rejected during data ingestion; see https://docs.victoriametrics.com/victorialogs/#retention
// +optional
// +kubebuilder:validation:Pattern:="^[0-9]+(h|d|y)?$"
FutureRetention string `json:"futureRetention,omitempty"`
// LogNewStreams Whether to log creation of new streams; this can be useful for debugging of high cardinality issues with log streams; see https://docs.victoriametrics.com/victorialogs/keyconcepts/#stream-fields
LogNewStreams bool `json:"logNewStreams,omitempty"`
// Whether to log all the ingested log entries; this can be useful for debugging of data ingestion; see https://docs.victoriametrics.com/victorialogs/data-ingestion/
LogIngestedRows bool `json:"logIngestedRows,omitempty"`
// ServiceSpec that will be added to vlsingle service spec
// +optional
ServiceSpec *vmv1beta1.AdditionalServiceSpec `json:"serviceSpec,omitempty"`
// ServiceScrapeSpec that will be added to vlsingle VMServiceScrape spec
// +optional
ServiceScrapeSpec *vmv1beta1.VMServiceScrapeSpec `json:"serviceScrapeSpec,omitempty"`
// LivenessProbe that will be added to VLSingle pod
*vmv1beta1.EmbeddedProbes `json:",inline"`
// ServiceAccountName is the name of the ServiceAccount to use to run the pods
// +optional
ServiceAccountName string `json:"serviceAccountName,omitempty"`
// SyslogSpec defines syslog listener configuration
// +optional
SyslogSpec *SyslogServerSpec `json:"syslogSpec,omitempty"`
}
VLSingleSpec defines the desired state of VLSingle +k8s:openapi-gen=true
func (*VLSingleSpec) DeepCopy ¶
func (in *VLSingleSpec) DeepCopy() *VLSingleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VLSingleSpec.
func (*VLSingleSpec) DeepCopyInto ¶
func (in *VLSingleSpec) DeepCopyInto(out *VLSingleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VLSingleSpec) UnmarshalJSON ¶
func (cr *VLSingleSpec) UnmarshalJSON(src []byte) error
UnmarshalJSON implements json.Unmarshaler interface
type VLSingleStatus ¶
type VLSingleStatus struct {
vmv1beta1.StatusMetadata `json:",inline"`
}
VLSingleStatus defines the observed state of VLSingle
func (*VLSingleStatus) DeepCopy ¶
func (in *VLSingleStatus) DeepCopy() *VLSingleStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VLSingleStatus.
func (*VLSingleStatus) DeepCopyInto ¶
func (in *VLSingleStatus) DeepCopyInto(out *VLSingleStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VLSingleStatus) GetStatusMetadata ¶
func (cr *VLSingleStatus) GetStatusMetadata() *vmv1beta1.StatusMetadata
GetStatusMetadata returns metadata for object status
type VLStorage ¶
type VLStorage struct {
// RetentionPeriod for the stored logs
// https://docs.victoriametrics.com/victorialogs/#retention
// +optional
// +kubebuilder:validation:Pattern:="^[0-9]+(h|d|w|y)?$"
RetentionPeriod string `json:"retentionPeriod,omitempty"`
// RetentionMaxDiskSpaceUsageBytes for the stored logs
// VictoriaLogs keeps at least two last days of data in order to guarantee that the logs for the last day can be returned in queries.
// This means that the total disk space usage may exceed the -retention.maxDiskSpaceUsageBytes,
// if the size of the last two days of data exceeds the -retention.maxDiskSpaceUsageBytes.
// https://docs.victoriametrics.com/victorialogs/#retention-by-disk-space-usage
// +optional
RetentionMaxDiskSpaceUsageBytes vmv1beta1.BytesString `json:"retentionMaxDiskSpaceUsageBytes,omitempty"`
// FutureRetention for the stored logs
// Log entries with timestamps bigger than now+futureRetention are rejected during data ingestion; see https://docs.victoriametrics.com/victorialogs/#retention
// +optional
// +kubebuilder:validation:Pattern:="^[0-9]+(h|d|w|y)?$"
FutureRetention string `json:"futureRetention,omitempty"`
// LogNewStreams Whether to log creation of new streams; this can be useful for debugging of high cardinality issues with log streams; see https://docs.victoriametrics.com/victorialogs/keyconcepts/#stream-fields
LogNewStreams bool `json:"logNewStreams,omitempty"`
// Whether to log all the ingested log entries; this can be useful for debugging of data ingestion; see https://docs.victoriametrics.com/victorialogs/data-ingestion/
LogIngestedRows bool `json:"logIngestedRows,omitempty"`
// PodMetadata configures Labels and Annotations which are propagated to the VLStorage pods.
PodMetadata *vmv1beta1.EmbeddedObjectMetadata `json:"podMetadata,omitempty"`
// LogFormat for VLStorage to be configured with.
// default or json
// +optional
// +kubebuilder:validation:Enum=default;json
LogFormat string `json:"logFormat,omitempty"`
// LogLevel for VLStorage to be configured with.
// +optional
// +kubebuilder:validation:Enum=INFO;WARN;ERROR;FATAL;PANIC
LogLevel string `json:"logLevel,omitempty"`
// ServiceSpec that will be added to vlselect service spec
// +optional
ServiceSpec *vmv1beta1.AdditionalServiceSpec `json:"serviceSpec,omitempty"`
// ServiceScrapeSpec that will be added to vlselect VMServiceScrape spec
// +optional
ServiceScrapeSpec *vmv1beta1.VMServiceScrapeSpec `json:"serviceScrapeSpec,omitempty"`
// PodDisruptionBudget created by operator
// +optional
PodDisruptionBudget *vmv1beta1.EmbeddedPodDisruptionBudgetSpec `json:"podDisruptionBudget,omitempty"`
*vmv1beta1.EmbeddedProbes `json:",inline"`
// RollingUpdateStrategy defines strategy for application updates
// Default is OnDelete, in this case operator handles update process
// Can be changed for RollingUpdate
// +optional
RollingUpdateStrategy appsv1.StatefulSetUpdateStrategyType `json:"rollingUpdateStrategy,omitempty"`
// ClaimTemplates allows adding additional VolumeClaimTemplates for StatefulSet
ClaimTemplates []corev1.PersistentVolumeClaim `json:"claimTemplates,omitempty"`
// StorageDataPath - path to storage data
// +optional
StorageDataPath string `json:"storageDataPath,omitempty"`
// Storage configures persistent volume for VLStorage
// +optional
Storage *vmv1beta1.StorageSpec `json:"storage,omitempty"`
// PersistentVolumeClaimRetentionPolicy allows configuration of PVC retention policy
// +optional
PersistentVolumeClaimRetentionPolicy *appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy `json:"persistentVolumeClaimRetentionPolicy,omitempty"`
// MaintenanceInsertNodeIDs - excludes given node ids from insert requests routing, must contain pod suffixes - for pod-0, id will be 0 and etc.
// lets say, you have pod-0, pod-1, pod-2, pod-3. to exclude pod-0 and pod-3 from insert routing, define nodeIDs: [0,3].
// Useful at storage expanding, when you want to rebalance some data at cluster.
// +optional
MaintenanceInsertNodeIDs []int32 `json:"maintenanceInsertNodeIDs,omitempty"`
// MaintenanceInsertNodeIDs - excludes given node ids from select requests routing, must contain pod suffixes - for pod-0, id will be 0 and etc.
MaintenanceSelectNodeIDs []int32 `json:"maintenanceSelectNodeIDs,omitempty"`
vmv1beta1.CommonDefaultableParams `json:",inline"`
vmv1beta1.CommonApplicationDeploymentParams `json:",inline"`
// RollingUpdateStrategyBehavior defines customized behavior for rolling updates.
// It applies if the RollingUpdateStrategy is set to OnDelete, which is the default.
// +optional
RollingUpdateStrategyBehavior *vmv1beta1.StatefulSetUpdateStrategyBehavior `json:"rollingUpdateStrategyBehavior,omitempty"`
}
VLStorage defines vlstorage component configuration at victoria-logs cluster
func (*VLStorage) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VLStorage.
func (*VLStorage) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VLStorage) GetAdditionalService ¶
func (cr *VLStorage) GetAdditionalService() *vmv1beta1.AdditionalServiceSpec
GetAdditionalService returns AdditionalServiceSpec settings
func (*VLStorage) GetExtraArgs ¶
ExtraArgs returns additionally configured command-line arguments
func (*VLStorage) GetMetricPath ¶
GetMetricPath returns prefixed path for metric requests
func (*VLStorage) GetServiceScrape ¶
func (cr *VLStorage) GetServiceScrape() *vmv1beta1.VMServiceScrapeSpec
ServiceScrape returns overrides for serviceScrape builder
func (*VLStorage) GetStorageVolumeName ¶
GetStorageVolumeName returns formatted name for vlstorage volume
func (*VLStorage) Probe ¶
func (cr *VLStorage) Probe() *vmv1beta1.EmbeddedProbes
Probe implements build.probeCRD interface
func (*VLStorage) ProbeNeedLiveness ¶
ProbeNeedLiveness implements build.probeCRD interface
func (*VLStorage) ProbeScheme ¶
ProbeScheme implements build.probeCRD interface
type VMAnomaly ¶ added in v0.60.0
type VMAnomaly struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec VMAnomalySpec `json:"spec,omitempty"`
// ParsedLastAppliedSpec contains last-applied configuration spec
ParsedLastAppliedSpec *VMAnomalySpec `json:"-" yaml:"-"`
Status VMAnomalyStatus `json:"status,omitempty"`
}
VMAnomaly is the Schema for the vmanomalies API. +operator-sdk:gen-csv:customresourcedefinitions.displayName="VMAnomaly App" +operator-sdk:gen-csv:customresourcedefinitions.resources="StatefulSet,apps" +operator-sdk:gen-csv:customresourcedefinitions.resources="Secret,v1" +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +genclient +k8s:openapi-gen=true +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=vmanomalies,scope=Namespaced +kubebuilder:subresource:scale:specpath=.spec.shardCount,statuspath=.status.shards,selectorpath=.status.selector +kubebuilder:printcolumn:name="Shards Count",type="integer",JSONPath=".status.shards",description="current number of shards" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.updateStatus",description="Current status of update rollout" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (*VMAnomaly) AllLabels ¶ added in v0.60.0
AllLabels returns global labels to be applied for created objects
func (*VMAnomaly) AnnotationsFiltered ¶ added in v0.60.0
AnnotationsFiltered returns global annotations to be applied for created objects
func (*VMAnomaly) AsOwner ¶ added in v0.60.0
func (cr *VMAnomaly) AsOwner() []metav1.OwnerReference
AsOwner returns owner references with current object as owner
func (*VMAnomaly) DeepCopy ¶ added in v0.60.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMAnomaly.
func (*VMAnomaly) DeepCopyInto ¶ added in v0.60.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VMAnomaly) DeepCopyObject ¶ added in v0.60.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VMAnomaly) DefaultStatusFields ¶ added in v0.60.0
func (cr *VMAnomaly) DefaultStatusFields(vs *VMAnomalyStatus)
DefaultStatusFields implements reconcile.ObjectWithDeepCopyAndStatus interface
func (*VMAnomaly) GetAdditionalService ¶ added in v0.60.0
func (cr *VMAnomaly) GetAdditionalService() *vmv1beta1.AdditionalServiceSpec
GetAdditionalService returns AdditionalServiceSpec settings
func (*VMAnomaly) GetExtraArgs ¶ added in v0.60.0
ExtraArgs returns additionally configured command-line arguments
func (*VMAnomaly) GetMetricPath ¶ added in v0.60.0
GetMetricPath returns prefixed path for metric requests
func (*VMAnomaly) GetServiceAccountName ¶ added in v0.60.0
GetServiceAccountName returns service account name for components
func (*VMAnomaly) GetServiceScrape ¶ added in v0.60.0
func (cr *VMAnomaly) GetServiceScrape() *vmv1beta1.VMServiceScrapeSpec
ServiceScrape returns overrides for serviceScrape builder
func (*VMAnomaly) GetShardCount ¶ added in v0.60.0
GetShardCount returns shard count for vmanomaly
func (*VMAnomaly) GetStatus ¶ added in v0.60.0
func (cr *VMAnomaly) GetStatus() *VMAnomalyStatus
GetStatus implements reconcile.ObjectWithDeepCopyAndStatus interface
func (*VMAnomaly) GetVolumeName ¶ added in v0.60.0
GetVolumeName returns volume name for persistent storage
func (*VMAnomaly) HasSpecChanges ¶ added in v0.60.0
HasSpecChanges compares spec with last applied cluster spec stored in annotation
func (*VMAnomaly) HealthPath ¶ added in v0.60.0
HealthPath returns path for health requests
func (*VMAnomaly) IsOwnsServiceAccount ¶ added in v0.60.0
IsOwnsServiceAccount checks if ServiceAccountName is set explicitly
func (*VMAnomaly) LastAppliedSpecAsPatch ¶ added in v0.60.0
LastAppliedSpecAsPatch return last applied cluster spec as patch annotation
func (*VMAnomaly) Paused ¶ added in v0.60.0
Paused checks if given component reconcile loop should be stopped
func (*VMAnomaly) PodAnnotations ¶ added in v0.60.0
PodAnnotations returns annotations to be applied to Pod
func (*VMAnomaly) PrefixedName ¶ added in v0.60.0
PrefixedName format name of the component with hard-coded prefix
func (*VMAnomaly) Probe ¶ added in v0.60.0
func (cr *VMAnomaly) Probe() *vmv1beta1.EmbeddedProbes
Probe implements build.probeCRD interface
func (*VMAnomaly) ProbeNeedLiveness ¶ added in v0.60.0
ProbeNeedLiveness implements build.probeCRD interface
func (*VMAnomaly) ProbeScheme ¶ added in v0.60.0
ProbeScheme implements build.probeCRD interface
func (*VMAnomaly) SelectorLabels ¶ added in v0.60.0
SelectorLabels returns selector labels for vmanomaly
func (*VMAnomaly) SetLastSpec ¶ added in v0.60.0
func (cr *VMAnomaly) SetLastSpec(prevSpec VMAnomalySpec)
SetLastSpec implements objectWithLastAppliedState interface
func (*VMAnomaly) UnmarshalJSON ¶ added in v0.60.0
UnmarshalJSON implements json.Unmarshaler interface
type VMAnomalyHTTPClientSpec ¶ added in v0.60.0
type VMAnomalyHTTPClientSpec struct {
// HealthPath defines absolute or relative URL address where to check availability of the remote webserver
HealthPath string `json:"healthPath,omitempty" yaml:"health_path,omitempty"`
// Timeout for the requests, passed as a string
Timeout string `json:"timeout,omitempty" yaml:"timeout,omitempty"`
// TenantID defines for VictoriaMetrics Cluster version only, tenants are identified by accountID, accountID:projectID or multitenant.
TenantID string `json:"tenantID,omitempty" yaml:"tenant_id,omitempty"`
// Basic auth defines basic authorization configuration
BasicAuth *vmv1beta1.BasicAuth `json:"basicAuth,omitempty" yaml:"-"`
// TLSConfig defines tls connection configuration
TLSConfig *vmv1beta1.TLSConfig `json:"tlsConfig,omitempty" yaml:"-"`
// BearerAuth defines authorization with Authorization: Bearer header
BearerAuth *vmv1beta1.BearerAuth `json:"bearer,omitempty" yaml:"-"`
}
VMAnomalyHTTPClientSpec defines the desired state of VMAnomalyHTTPClient
func (*VMAnomalyHTTPClientSpec) DeepCopy ¶ added in v0.60.0
func (in *VMAnomalyHTTPClientSpec) DeepCopy() *VMAnomalyHTTPClientSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMAnomalyHTTPClientSpec.
func (*VMAnomalyHTTPClientSpec) DeepCopyInto ¶ added in v0.60.0
func (in *VMAnomalyHTTPClientSpec) DeepCopyInto(out *VMAnomalyHTTPClientSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VMAnomalyList ¶ added in v0.60.0
type VMAnomalyList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []VMAnomaly `json:"items"`
}
VMAnomalyList contains a list of VMAnomaly.
func (*VMAnomalyList) DeepCopy ¶ added in v0.60.0
func (in *VMAnomalyList) DeepCopy() *VMAnomalyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMAnomalyList.
func (*VMAnomalyList) DeepCopyInto ¶ added in v0.60.0
func (in *VMAnomalyList) DeepCopyInto(out *VMAnomalyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VMAnomalyList) DeepCopyObject ¶ added in v0.60.0
func (in *VMAnomalyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VMAnomalyMonitoringPullSpec ¶ added in v0.60.0
type VMAnomalyMonitoringPullSpec struct {
// Addr changes listen addr, default is 0.0.0.0
Addr string `json:"addr,omitempty" yaml:"addr,omitempty"`
// Port defines a port for metrics scrape
Port string `json:"port"`
}
VMAnomalyMonitoringPullSpec defines pull monitoring configuration which is enabled by default and served at POD_IP:8490/metrics
func (*VMAnomalyMonitoringPullSpec) DeepCopy ¶ added in v0.60.0
func (in *VMAnomalyMonitoringPullSpec) DeepCopy() *VMAnomalyMonitoringPullSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMAnomalyMonitoringPullSpec.
func (*VMAnomalyMonitoringPullSpec) DeepCopyInto ¶ added in v0.60.0
func (in *VMAnomalyMonitoringPullSpec) DeepCopyInto(out *VMAnomalyMonitoringPullSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VMAnomalyMonitoringPushSpec ¶ added in v0.60.0
type VMAnomalyMonitoringPushSpec struct {
// defines target url for push requests
URL string `json:"url" yaml:"url"`
// PushFrequency defines push interval
PushFrequency string `json:"pushFrequency,omitempty" yaml:"push_frequency,omitempty"`
// ExtraLabels defines a set of labels to attach to the pushed metrics
ExtraLabels map[string]string `json:"extraLabels,omitempty" yaml:"extra_labels,omitempty"`
VMAnomalyHTTPClientSpec `json:",inline" yaml:",inline"`
}
VMAnomalyMonitoringPushSpec defines metrics push configuration
VMAnomaly uses prometheus text exposition format
func (*VMAnomalyMonitoringPushSpec) DeepCopy ¶ added in v0.60.0
func (in *VMAnomalyMonitoringPushSpec) DeepCopy() *VMAnomalyMonitoringPushSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMAnomalyMonitoringPushSpec.
func (*VMAnomalyMonitoringPushSpec) DeepCopyInto ¶ added in v0.60.0
func (in *VMAnomalyMonitoringPushSpec) DeepCopyInto(out *VMAnomalyMonitoringPushSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VMAnomalyMonitoringSpec ¶ added in v0.60.0
type VMAnomalyMonitoringSpec struct {
Pull *VMAnomalyMonitoringPullSpec `json:"pull,omitempty" yaml:"pull,omitempty"`
Push *VMAnomalyMonitoringPushSpec `json:"push,omitempty" yaml:"push,omitempty"`
}
VMAnomalyMonitoringSpec defines configuration for VMAnomaly monitoring See https://docs.victoriametrics.com/anomaly-detection/components/monitoring/
func (*VMAnomalyMonitoringSpec) DeepCopy ¶ added in v0.60.0
func (in *VMAnomalyMonitoringSpec) DeepCopy() *VMAnomalyMonitoringSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMAnomalyMonitoringSpec.
func (*VMAnomalyMonitoringSpec) DeepCopyInto ¶ added in v0.60.0
func (in *VMAnomalyMonitoringSpec) DeepCopyInto(out *VMAnomalyMonitoringSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VMAnomalyReadersSpec ¶ added in v0.60.0
type VMAnomalyReadersSpec struct {
// DatasourceURL address
// datasource must serve /api/v1/query and /api/v1/query_range APIs
DatasourceURL string `json:"datasourceURL" yaml:"datasource_url,omitempty"`
// Frequency of the points returned
SamplingPeriod string `json:"samplingPeriod" yaml:"sampling_period,omitempty"`
// Performs PromQL/MetricsQL range query
QueryRangePath string `json:"queryRangePath,omitempty" yaml:"query_range_path,omitempty"`
// List of strings with series selector.
ExtraFilters []string `json:"extraFilters,omitempty" yaml:"extra_filters,omitempty"`
// If True, then query will be performed from the last seen timestamp for a given series.
QueryFromLastSeenTimestamp bool `json:"queryFromLastSeenTimestamp,omitempty" yaml:"query_from_last_seen_timestamp,omitempty"`
// It allows overriding the default -search.latencyOffsetflag of VictoriaMetrics
LatencyOffset string `json:"latencyOffset,omitempty" yaml:"latency_offset,omitempty"`
// Optional argoverrides how search.maxPointsPerTimeseries flagimpacts vmanomaly on splitting long fitWindow queries into smaller sub-intervals
MaxPointsPerQuery int `json:"maxPointsPerQuery,omitempty" yaml:"max_points_per_query,omitempty"`
// Optional argumentspecifies the IANA timezone to account for local shifts, like DST, in models sensitive to seasonal patterns
Timezone string `json:"tz,omitempty" yaml:"tz,omitempty"`
// Optional argumentallows defining valid data ranges for input of all the queries in queries
DataRange []string `json:"dataRange,omitempty" yaml:"data_range,omitempty"`
VMAnomalyHTTPClientSpec `json:",inline" yaml:",inline"`
}
VMAnomalyReadersSpec defines reader configuration for VMAnomaly
func (*VMAnomalyReadersSpec) DeepCopy ¶ added in v0.60.0
func (in *VMAnomalyReadersSpec) DeepCopy() *VMAnomalyReadersSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMAnomalyReadersSpec.
func (*VMAnomalyReadersSpec) DeepCopyInto ¶ added in v0.60.0
func (in *VMAnomalyReadersSpec) DeepCopyInto(out *VMAnomalyReadersSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VMAnomalySpec ¶ added in v0.60.0
type VMAnomalySpec struct {
// ParsingError contents error with context if operator was failed to parse json object from kubernetes api server
ParsingError string `json:"-" yaml:"-"`
// PodMetadata configures Labels and Annotations which are propagated to the vmanomaly pods.
// +optional
PodMetadata *vmv1beta1.EmbeddedObjectMetadata `json:"podMetadata,omitempty"`
// ManagedMetadata defines metadata that will be added to the all objects
// created by operator for the given CustomResource
ManagedMetadata *vmv1beta1.ManagedObjectsMetadata `json:"managedMetadata,omitempty"`
// LogLevel for VMAnomaly to be configured with.
// INFO, WARN, ERROR, FATAL, PANIC
// +optional
// +kubebuilder:validation:Enum=INFO;WARN;ERROR;FATAL;PANIC
LogLevel string `json:"logLevel,omitempty"`
// ServiceScrapeSpec that will be added to vmanomaly VMPodScrape spec
// +optional
ServiceScrapeSpec *vmv1beta1.VMServiceScrapeSpec `json:"serviceScrapeSpec,omitempty"`
// ShardCount - numbers of shards of VMAnomaly
// in this case operator will use 1 sts per shard with
// replicas count according to spec.replicas.
// +optional
ShardCount *int `json:"shardCount,omitempty"`
// PodDisruptionBudget created by operator
// +optional
PodDisruptionBudget *vmv1beta1.EmbeddedPodDisruptionBudgetSpec `json:"podDisruptionBudget,omitempty"`
*vmv1beta1.EmbeddedProbes `json:",inline"`
// ConfigRawYaml - raw configuration for anomaly,
// it helps it to start without secret.
// priority -> hardcoded ConfigRaw -> ConfigRaw, provided by user -> ConfigSecret.
// +optional
ConfigRawYaml string `json:"configRawYaml,omitempty"`
// ConfigSecret is the name of a Kubernetes Secret in the same namespace as the
// VMAnomaly object, which contains configuration for this VMAnomaly,
// configuration must be inside secret key: anomaly.yaml.
// It must be created by user.
// instance. Defaults to 'vmanomaly-<anomaly-name>'
// The secret is mounted into /etc/anomaly/config.
// +optional
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Secret with anomaly config",xDescriptors="urn:alm:descriptor:io.kubernetes:Secret"
ConfigSecret *corev1.SecretKeySelector `json:"configSecret,omitempty"`
// Metrics source for VMAnomaly
// See https://docs.victoriametrics.com/anomaly-detection/components/reader/
Reader *VMAnomalyReadersSpec `json:"reader"`
// Metrics destination for VMAnomaly
// See https://docs.victoriametrics.com/anomaly-detection/components/writer/
Writer *VMAnomalyWritersSpec `json:"writer"`
// Storage configures storage for StatefulSet
// +optional
Storage *vmv1beta1.StorageSpec `json:"storage,omitempty"`
// PersistentVolumeClaimRetentionPolicy allows configuration of PVC retention policy
// +optional
PersistentVolumeClaimRetentionPolicy *appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy `json:"persistentVolumeClaimRetentionPolicy,omitempty"`
// RollingUpdateStrategy allows configuration for strategyType
// set it to RollingUpdate for disabling operator statefulSet rollingUpdate
// +optional
RollingUpdateStrategy appsv1.StatefulSetUpdateStrategyType `json:"rollingUpdateStrategy,omitempty"`
// ClaimTemplates allows adding additional VolumeClaimTemplates for VMAnomaly
ClaimTemplates []corev1.PersistentVolumeClaim `json:"claimTemplates,omitempty"`
// Monitoring configures how expose anomaly metrics
// See https://docs.victoriametrics.com/anomaly-detection/components/monitoring/
Monitoring *VMAnomalyMonitoringSpec `json:"monitoring,omitempty"`
// License allows to configure license key to be used for enterprise features.
// Using license key is supported starting from VictoriaMetrics v1.94.0.
// See [here](https://docs.victoriametrics.com/victoriametrics/enterprise/)
// +optional
License *vmv1beta1.License `json:"license,omitempty"`
// ServiceAccountName is the name of the ServiceAccount to use to run the pods
// +optional
ServiceAccountName string `json:"serviceAccountName,omitempty"`
vmv1beta1.CommonDefaultableParams `json:",inline,omitempty"`
vmv1beta1.CommonApplicationDeploymentParams `json:",inline,omitempty"`
}
VMAnomalySpec defines the desired state of VMAnomaly. +k8s:openapi-gen=true
func (*VMAnomalySpec) DeepCopy ¶ added in v0.60.0
func (in *VMAnomalySpec) DeepCopy() *VMAnomalySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMAnomalySpec.
func (*VMAnomalySpec) DeepCopyInto ¶ added in v0.60.0
func (in *VMAnomalySpec) DeepCopyInto(out *VMAnomalySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VMAnomalySpec) UnmarshalJSON ¶ added in v0.60.0
func (cr *VMAnomalySpec) UnmarshalJSON(src []byte) error
UnmarshalJSON implements json.Unmarshaler interface
type VMAnomalyStatus ¶ added in v0.60.0
type VMAnomalyStatus struct {
// Shards represents total number of vmanomaly statefulsets with uniq scrape targets
Shards int32 `json:"shards,omitempty"`
vmv1beta1.StatusMetadata `json:",inline"`
}
VMAnomalyStatus defines the observed state of VMAnomaly. +k8s:openapi-gen=true
func (*VMAnomalyStatus) DeepCopy ¶ added in v0.60.0
func (in *VMAnomalyStatus) DeepCopy() *VMAnomalyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMAnomalyStatus.
func (*VMAnomalyStatus) DeepCopyInto ¶ added in v0.60.0
func (in *VMAnomalyStatus) DeepCopyInto(out *VMAnomalyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VMAnomalyStatus) GetStatusMetadata ¶ added in v0.60.0
func (cr *VMAnomalyStatus) GetStatusMetadata() *vmv1beta1.StatusMetadata
GetStatusMetadata returns metadata for object status
type VMAnomalyVMWriterMetricFormatSpec ¶ added in v0.60.0
type VMAnomalyVMWriterMetricFormatSpec struct {
// Name of result metric
// Must have a value with $VAR placeholder in it to distinguish between resulting metrics
Name string `json:"__name__" yaml:"__name__"`
// For is a special label with $QUERY_KEY placeholder
For string `json:"for" yaml:"for"`
// ExtraLabels defines additional labels to be added to the resulting metrics
ExtraLabels map[string]string `json:"extraLabels,omitempty" yaml:"extra_labels,omitempty"`
}
VMAnomalyVMWriterMetricFormatSpec defines the desired state of VMAnomalyVMWriterMetricFormat
func (*VMAnomalyVMWriterMetricFormatSpec) DeepCopy ¶ added in v0.60.0
func (in *VMAnomalyVMWriterMetricFormatSpec) DeepCopy() *VMAnomalyVMWriterMetricFormatSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMAnomalyVMWriterMetricFormatSpec.
func (*VMAnomalyVMWriterMetricFormatSpec) DeepCopyInto ¶ added in v0.60.0
func (in *VMAnomalyVMWriterMetricFormatSpec) DeepCopyInto(out *VMAnomalyVMWriterMetricFormatSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VMAnomalyWritersSpec ¶ added in v0.60.0
type VMAnomalyWritersSpec struct {
// DatasourceURL defines remote write url for write requests
// provided endpoint must serve /api/v1/import path
// vmanomaly joins datasourceURL + "/api/v1/import"
DatasourceURL string `json:"datasourceURL" yaml:"datasource_url,omitempty"`
// Metrics to save the output (in metric names or labels)
// +optional
MetricFormat VMAnomalyVMWriterMetricFormatSpec `json:"metricFormat,omitempty" yaml:"metric_format,omitempty"`
// +optional
VMAnomalyHTTPClientSpec `json:",inline,omitempty" yaml:",inline,omitempty"`
}
VMAnomalyWritersSpec defines writer configuration for VMAnomaly
func (*VMAnomalyWritersSpec) DeepCopy ¶ added in v0.60.0
func (in *VMAnomalyWritersSpec) DeepCopy() *VMAnomalyWritersSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMAnomalyWritersSpec.
func (*VMAnomalyWritersSpec) DeepCopyInto ¶ added in v0.60.0
func (in *VMAnomalyWritersSpec) DeepCopyInto(out *VMAnomalyWritersSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VTCluster ¶ added in v0.63.0
type VTCluster struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec VTClusterSpec `json:"spec,omitempty"`
Status VTClusterStatus `json:"status,omitempty"`
// ParsedLastAppliedSpec contains last-applied configuration spec
ParsedLastAppliedSpec *VTClusterSpec `json:"-" yaml:"-"`
}
VTCluster is fast, cost-effective and scalable traces database. +kubebuilder:printcolumn:name="Insert Count",type="string",JSONPath=".spec.vtinsert.replicaCount",description="replicas of VTInsert" +kubebuilder:printcolumn:name="Storage Count",type="string",JSONPath=".spec.vtstorage.replicaCount",description="replicas of VTStorage" +kubebuilder:printcolumn:name="Select Count",type="string",JSONPath=".spec.vtselect.replicaCount",description="replicas of VTSelect" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.updateStatus",description="Current status of cluster" +genclient
func (*VTCluster) AnnotationsFiltered ¶ added in v0.63.0
AnnotationsFiltered implements finalize.crdObject interface
func (*VTCluster) AsOwner ¶ added in v0.63.0
func (cr *VTCluster) AsOwner() []metav1.OwnerReference
AsOwner returns owner references with current object as owner
func (*VTCluster) AvailableStorageNodeIDs ¶ added in v0.63.0
AvailableStorageNodeIDs returns ids of the storage nodes for the provided component
func (*VTCluster) DeepCopy ¶ added in v0.63.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VTCluster.
func (*VTCluster) DeepCopyInto ¶ added in v0.63.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VTCluster) DeepCopyObject ¶ added in v0.63.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VTCluster) DefaultStatusFields ¶ added in v0.63.0
func (cr *VTCluster) DefaultStatusFields(vs *VTClusterStatus)
DefaultStatusFields implements reconcile.ObjectWithDeepCopyAndStatus interface
func (*VTCluster) FinalAnnotations ¶ added in v0.63.0
FinalAnnotations returns global annotations to be applied by objects generate for vtcluster
func (*VTCluster) FinalLabels ¶ added in v0.63.0
FinalLabels adds cluster labels to the base labels and filters by prefix if needed
func (*VTCluster) GetServiceAccountName ¶ added in v0.63.0
GetServiceAccountName returns service account name for all vtcluster components
func (*VTCluster) GetStatus ¶ added in v0.63.0
func (cr *VTCluster) GetStatus() *VTClusterStatus
GetStatus implements reconcile.ObjectWithDeepCopyAndStatus interface
func (*VTCluster) GetVMAuthLBName ¶ added in v0.63.0
GetVMAuthLBName returns prefixed name for the loadbalanacer components
func (*VTCluster) GetVTInsertLBName ¶ added in v0.63.0
GetVTInsertLBName returns headless proxy service name for insert component
func (*VTCluster) GetVTInsertName ¶ added in v0.63.0
GetVTInsertName returns insert component name
func (*VTCluster) GetVTSelectLBName ¶ added in v0.63.0
GetVTSelectLBName returns headless proxy service name for select component
func (*VTCluster) GetVTSelectName ¶ added in v0.63.0
GetLVSelectName returns select component name
func (*VTCluster) GetVTStorageName ¶ added in v0.63.0
GetVTStorageName returns select component name
func (*VTCluster) HasSpecChanges ¶ added in v0.63.0
HasSpecChanges compares cluster spec with last applied cluster spec stored in annotation
func (*VTCluster) IsOwnsServiceAccount ¶ added in v0.63.0
func (*VTCluster) LastAppliedSpecAsPatch ¶ added in v0.63.0
LastAppliedSpecAsPatch return last applied cluster spec as patch annotation
func (*VTCluster) PrefixedName ¶ added in v0.63.0
PrefixedName format name of the component with hard-coded prefix
func (*VTCluster) SelectorLabels ¶ added in v0.63.0
SelectorLabels defines labels for objects generated used by all cluster components
func (*VTCluster) SetLastSpec ¶ added in v0.63.0
func (cr *VTCluster) SetLastSpec(prevSpec VTClusterSpec)
SetLastSpec implements objectWithLastAppliedState interface
func (*VTCluster) StorageURL ¶ added in v0.63.0
StorageURL returns url to access VTStorage component
func (*VTCluster) UnmarshalJSON ¶ added in v0.63.0
UnmarshalJSON implements json.Unmarshaler interface
func (*VTCluster) VMAuthLBPodAnnotations ¶ added in v0.63.0
VMAuthLBPodAnnotations returns pod annotations for vmstorage cluster component
func (*VTCluster) VMAuthLBPodLabels ¶ added in v0.63.0
VMAuthLBPodLabels returns pod labels for vtclusterlb-vmauth-balancer cluster component
func (*VTCluster) VMAuthLBSelectorLabels ¶ added in v0.63.0
VMAuthLBSelectorLabels defines selector labels for vmauth balancer
func (*VTCluster) VTInsertPodAnnotations ¶ added in v0.63.0
VTInsertPodAnnotations returns pod annotations for insert cluster component
func (*VTCluster) VTInsertPodLabels ¶ added in v0.63.0
VTInsertPodLabels returns pod labels for vtinsert cluster component
func (*VTCluster) VTInsertSelectorLabels ¶ added in v0.63.0
VTInsertSelectorLabels returns selector labels for insert cluster component
func (*VTCluster) VTSelectPodAnnotations ¶ added in v0.63.0
VTSelectPodAnnotations returns pod annotations for select cluster component
func (*VTCluster) VTSelectPodLabels ¶ added in v0.63.0
VTSelectPodLabels returns pod labels for select cluster component
func (*VTCluster) VTSelectSelectorLabels ¶ added in v0.63.0
VTSelectSelectorLabels returns selector labels for select cluster component
func (*VTCluster) VTStoragePodAnnotations ¶ added in v0.63.0
VTStoragePodAnnotations returns pod annotations for storage cluster component
func (*VTCluster) VTStoragePodLabels ¶ added in v0.63.0
VTStoragePodLabels returns pod labels for the vmstorage cluster component
func (*VTCluster) VTStorageSelectorLabels ¶ added in v0.63.0
VTStorageSelectorLabels returns pod labels for vtstorage cluster component
type VTClusterList ¶ added in v0.63.0
type VTClusterList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []VTCluster `json:"items"`
}
VTClusterList contains a list of VTCluster
func (*VTClusterList) DeepCopy ¶ added in v0.63.0
func (in *VTClusterList) DeepCopy() *VTClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VTClusterList.
func (*VTClusterList) DeepCopyInto ¶ added in v0.63.0
func (in *VTClusterList) DeepCopyInto(out *VTClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VTClusterList) DeepCopyObject ¶ added in v0.63.0
func (in *VTClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VTClusterSpec ¶ added in v0.63.0
type VTClusterSpec struct {
// ParsingError contents error with context if operator was failed to parse json object from kubernetes api server
ParsingError string `json:"-" yaml:"-"`
// ServiceAccountName is the name of the ServiceAccount to use to run the
// VTSelect, VTInsert and VTStorage Pods.
// +optional
ServiceAccountName string `json:"serviceAccountName,omitempty"`
// ClusterVersion defines default images tag for all components.
// it can be overwritten with component specific image.tag value.
// +optional
ClusterVersion string `json:"clusterVersion,omitempty"`
// ClusterDomainName defines domain name suffix for in-cluster dns addresses
// aka .cluster.local
// used by vtinsert and vtselect to build vtstorage address
// +optional
ClusterDomainName string `json:"clusterDomainName,omitempty"`
// ImagePullSecrets An optional list of references to secrets in the same namespace
// to use for pulling images from registries
// see https://kubernetes.io/docs/concepts/containers/images/#referring-to-an-imagepullsecrets-on-a-pod
// +optional
ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
Insert *VTInsert `json:"insert,omitempty"`
Select *VTSelect `json:"select,omitempty"`
Storage *VTStorage `json:"storage,omitempty"`
// Paused If set to true all actions on the underlying managed objects are not
// going to be performed, except for delete actions.
// +optional
Paused bool `json:"paused,omitempty"`
// UseStrictSecurity enables strict security mode for component
// it restricts disk writes access
// uses non-root user out of the box
// drops not needed security permissions
// +optional
UseStrictSecurity *bool `json:"useStrictSecurity,omitempty"`
// RequestsLoadBalancer configures load-balancing for vtinsert and vtselect requests.
// It helps to evenly spread load across pods.
// Usually it's not possible with Kubernetes TCP-based services.
RequestsLoadBalancer vmv1beta1.VMAuthLoadBalancer `json:"requestsLoadBalancer,omitempty"`
// ManagedMetadata defines metadata that will be added to the all objects
// created by operator for the given CustomResource
ManagedMetadata *vmv1beta1.ManagedObjectsMetadata `json:"managedMetadata,omitempty"`
}
VTClusterSpec defines the desired state of VTCluster
func (*VTClusterSpec) DeepCopy ¶ added in v0.63.0
func (in *VTClusterSpec) DeepCopy() *VTClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VTClusterSpec.
func (*VTClusterSpec) DeepCopyInto ¶ added in v0.63.0
func (in *VTClusterSpec) DeepCopyInto(out *VTClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VTClusterSpec) UnmarshalJSON ¶ added in v0.63.0
func (cr *VTClusterSpec) UnmarshalJSON(src []byte) error
UnmarshalJSON implements json.Unmarshaler interface
type VTClusterStatus ¶ added in v0.63.0
type VTClusterStatus struct {
vmv1beta1.StatusMetadata `json:",inline"`
}
VTClusterStatus defines the observed state of VTCluster
func (*VTClusterStatus) DeepCopy ¶ added in v0.63.0
func (in *VTClusterStatus) DeepCopy() *VTClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VTClusterStatus.
func (*VTClusterStatus) DeepCopyInto ¶ added in v0.63.0
func (in *VTClusterStatus) DeepCopyInto(out *VTClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VTClusterStatus) GetStatusMetadata ¶ added in v0.63.0
func (cr *VTClusterStatus) GetStatusMetadata() *vmv1beta1.StatusMetadata
GetStatusMetadata returns metadata for object status
type VTInsert ¶ added in v0.63.0
type VTInsert struct {
// PodMetadata configures Labels and Annotations which are propagated to the VTSelect pods.
PodMetadata *vmv1beta1.EmbeddedObjectMetadata `json:"podMetadata,omitempty"`
// LogFormat for VTSelect to be configured with.
// default or json
// +optional
// +kubebuilder:validation:Enum=default;json
LogFormat string `json:"logFormat,omitempty"`
// LogLevel for VTSelect to be configured with.
// +optional
// +kubebuilder:validation:Enum=INFO;WARN;ERROR;FATAL;PANIC
LogLevel string `json:"logLevel,omitempty"`
// ServiceSpec that will be added to vtselect service spec
// +optional
ServiceSpec *vmv1beta1.AdditionalServiceSpec `json:"serviceSpec,omitempty"`
// ServiceScrapeSpec that will be added to vtselect VMServiceScrape spec
// +optional
ServiceScrapeSpec *vmv1beta1.VMServiceScrapeSpec `json:"serviceScrapeSpec,omitempty"`
// PodDisruptionBudget created by operator
// +optional
PodDisruptionBudget *vmv1beta1.EmbeddedPodDisruptionBudgetSpec `json:"podDisruptionBudget,omitempty"`
*vmv1beta1.EmbeddedProbes `json:",inline"`
// Configures horizontal pod autoscaling.
// +optional
HPA *vmv1beta1.EmbeddedHPA `json:"hpa,omitempty"`
// UpdateStrategy - overrides default update strategy.
// +kubebuilder:validation:Enum=Recreate;RollingUpdate
// +optional
UpdateStrategy *appsv1.DeploymentStrategyType `json:"updateStrategy,omitempty"`
// RollingUpdate - overrides deployment update params.
// +optional
RollingUpdate *appsv1.RollingUpdateDeployment `json:"rollingUpdate,omitempty"`
vmv1beta1.CommonDefaultableParams `json:",inline"`
vmv1beta1.CommonApplicationDeploymentParams `json:",inline"`
}
VTInsert defines vtinsert component configuration at victoria-traces cluster
func (*VTInsert) DeepCopy ¶ added in v0.63.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VTInsert.
func (*VTInsert) DeepCopyInto ¶ added in v0.63.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VTInsert) GetAdditionalService ¶ added in v0.63.0
func (cr *VTInsert) GetAdditionalService() *vmv1beta1.AdditionalServiceSpec
GetAdditionalService returns AdditionalServiceSpec settings
func (*VTInsert) GetExtraArgs ¶ added in v0.63.0
ExtraArgs returns additionally configured command-line arguments
func (*VTInsert) GetMetricPath ¶ added in v0.63.0
GetMetricPath returns prefixed path for metric requests
func (*VTInsert) GetServiceScrape ¶ added in v0.63.0
func (cr *VTInsert) GetServiceScrape() *vmv1beta1.VMServiceScrapeSpec
ServiceScrape returns overrides for serviceScrape builder
func (*VTInsert) Probe ¶ added in v0.63.0
func (cr *VTInsert) Probe() *vmv1beta1.EmbeddedProbes
Probe implements build.probeCRD interface
func (*VTInsert) ProbeNeedLiveness ¶ added in v0.63.0
ProbeNeedLiveness implements build.probeCRD interface
func (*VTInsert) ProbeScheme ¶ added in v0.63.0
ProbeScheme implements build.probeCRD interface
type VTSelect ¶ added in v0.63.0
type VTSelect struct {
// PodMetadata configures Labels and Annotations which are propagated to the VTSelect pods.
PodMetadata *vmv1beta1.EmbeddedObjectMetadata `json:"podMetadata,omitempty"`
// LogFormat for VTSelect to be configured with.
// default or json
// +optional
// +kubebuilder:validation:Enum=default;json
LogFormat string `json:"logFormat,omitempty"`
// LogLevel for VTSelect to be configured with.
// +optional
// +kubebuilder:validation:Enum=INFO;WARN;ERROR;FATAL;PANIC
LogLevel string `json:"logLevel,omitempty"`
// ServiceSpec that will be added to vtselect service spec
// +optional
ServiceSpec *vmv1beta1.AdditionalServiceSpec `json:"serviceSpec,omitempty"`
// ServiceScrapeSpec that will be added to vtselect VMServiceScrape spec
// +optional
ServiceScrapeSpec *vmv1beta1.VMServiceScrapeSpec `json:"serviceScrapeSpec,omitempty"`
// PodDisruptionBudget created by operator
// +optional
PodDisruptionBudget *vmv1beta1.EmbeddedPodDisruptionBudgetSpec `json:"podDisruptionBudget,omitempty"`
*vmv1beta1.EmbeddedProbes `json:",inline"`
// Configures horizontal pod autoscaling.
// +optional
HPA *vmv1beta1.EmbeddedHPA `json:"hpa,omitempty"`
// UpdateStrategy - overrides default update strategy.
// +kubebuilder:validation:Enum=Recreate;RollingUpdate
// +optional
UpdateStrategy *appsv1.DeploymentStrategyType `json:"updateStrategy,omitempty"`
// RollingUpdate - overrides deployment update params.
// +optional
RollingUpdate *appsv1.RollingUpdateDeployment `json:"rollingUpdate,omitempty"`
vmv1beta1.CommonDefaultableParams `json:",inline"`
vmv1beta1.CommonApplicationDeploymentParams `json:",inline"`
}
VTSelect defines vtselect component configuration at victoria-traces cluster
func (*VTSelect) DeepCopy ¶ added in v0.63.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VTSelect.
func (*VTSelect) DeepCopyInto ¶ added in v0.63.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VTSelect) GetAdditionalService ¶ added in v0.63.0
func (cr *VTSelect) GetAdditionalService() *vmv1beta1.AdditionalServiceSpec
GetAdditionalService returns AdditionalServiceSpec settings
func (*VTSelect) GetExtraArgs ¶ added in v0.63.0
ExtraArgs returns additionally configured command-line arguments
func (*VTSelect) GetMetricPath ¶ added in v0.63.0
GetMetricPath returns prefixed path for metric requests
func (*VTSelect) GetServiceScrape ¶ added in v0.63.0
func (cr *VTSelect) GetServiceScrape() *vmv1beta1.VMServiceScrapeSpec
ServiceScrape returns overrides for serviceScrape builder
func (*VTSelect) Probe ¶ added in v0.63.0
func (cr *VTSelect) Probe() *vmv1beta1.EmbeddedProbes
Probe implements build.probeCRD interface
func (*VTSelect) ProbeNeedLiveness ¶ added in v0.63.0
ProbeNeedLiveness implements build.probeCRD interface
func (*VTSelect) ProbeScheme ¶ added in v0.63.0
ProbeScheme implements build.probeCRD interface
type VTSingle ¶ added in v0.63.0
type VTSingle struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec VTSingleSpec `json:"spec,omitempty"`
// ParsedLastAppliedSpec contains last-applied configuration spec
ParsedLastAppliedSpec *VTSingleSpec `json:"-" yaml:"-"`
Status VTSingleStatus `json:"status,omitempty"`
}
VTSingle is fast, cost-effective and scalable traces database. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +operator-sdk:gen-csv:customresourcedefinitions.displayName="VTSingle App" +operator-sdk:gen-csv:customresourcedefinitions.resources="Deployment,apps" +operator-sdk:gen-csv:customresourcedefinitions.resources="Service,v1" +operator-sdk:gen-csv:customresourcedefinitions.resources="Secret,v1" +genclient +k8s:openapi-gen=true +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=vtsingles,scope=Namespaced +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.status",description="Current status of traces instance update process" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" VTSingle is the Schema for the API
func (*VTSingle) AllLabels ¶ added in v0.63.0
AllLabels returns combination of selector and managed labels
func (*VTSingle) AnnotationsFiltered ¶ added in v0.63.0
AnnotationsFiltered returns global annotations to be applied for created objects
func (*VTSingle) AsOwner ¶ added in v0.63.0
func (r *VTSingle) AsOwner() []metav1.OwnerReference
AsOwner returns owner references with current object as owner
func (*VTSingle) DeepCopy ¶ added in v0.63.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VTSingle.
func (*VTSingle) DeepCopyInto ¶ added in v0.63.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VTSingle) DeepCopyObject ¶ added in v0.63.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VTSingle) DefaultStatusFields ¶ added in v0.63.0
func (cr *VTSingle) DefaultStatusFields(vs *VTSingleStatus)
DefaultStatusFields implements reconcile.ObjectWithDeepCopyAndStatus interface
func (*VTSingle) GetAdditionalService ¶ added in v0.63.0
func (cr *VTSingle) GetAdditionalService() *vmv1beta1.AdditionalServiceSpec
GetAdditionalService returns AdditionalServiceSpec settings
func (*VTSingle) GetExtraArgs ¶ added in v0.63.0
GetExtraArgs returns additionally configured command-line arguments
func (*VTSingle) GetMetricPath ¶ added in v0.63.0
GetMetricPath returns prefixed path for metric requests
func (*VTSingle) GetServiceAccountName ¶ added in v0.63.0
GetServiceAccountName returns service account name for components
func (*VTSingle) GetServiceScrape ¶ added in v0.63.0
func (cr *VTSingle) GetServiceScrape() *vmv1beta1.VMServiceScrapeSpec
GetServiceScrape returns overrides for serviceScrape builder
func (*VTSingle) GetStatus ¶ added in v0.63.0
func (cr *VTSingle) GetStatus() *VTSingleStatus
GetStatus implements reconcile.ObjectWithDeepCopyAndStatus interface
func (*VTSingle) HasSpecChanges ¶ added in v0.63.0
HasSpecChanges compares vtsingle spec with last applied vtsingle spec stored in annotation
func (*VTSingle) IsOwnsServiceAccount ¶ added in v0.63.0
IsOwnsServiceAccount checks if ServiceAccountName is set explicitly
func (*VTSingle) LastAppliedSpecAsPatch ¶ added in v0.63.0
LastAppliedSpecAsPatch return last applied vtsingle spec as patch annotation
func (*VTSingle) PodAnnotations ¶ added in v0.63.0
func (*VTSingle) PrefixedName ¶ added in v0.63.0
PrefixedName format name of the component with hard-coded prefix
func (*VTSingle) Probe ¶ added in v0.63.0
func (cr *VTSingle) Probe() *vmv1beta1.EmbeddedProbes
Probe implements build.probeCRD interface
func (*VTSingle) ProbeNeedLiveness ¶ added in v0.63.0
ProbeNeedLiveness implements build.probeCRD interface
func (*VTSingle) ProbeScheme ¶ added in v0.63.0
ProbeScheme implements build.probeCRD interface
func (*VTSingle) SelectorLabels ¶ added in v0.63.0
SelectorLabels returns unique labels for object
func (*VTSingle) SetLastSpec ¶ added in v0.63.0
func (cr *VTSingle) SetLastSpec(prevSpec VTSingleSpec)
SetLastSpec implements objectWithLastAppliedState interface
func (*VTSingle) UnmarshalJSON ¶ added in v0.63.0
UnmarshalJSON implements json.Unmarshaler interface
type VTSingleList ¶ added in v0.63.0
type VTSingleList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []VTSingle `json:"items"`
}
VTSingleList contains a list of VTSingle
func (*VTSingleList) DeepCopy ¶ added in v0.63.0
func (in *VTSingleList) DeepCopy() *VTSingleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VTSingleList.
func (*VTSingleList) DeepCopyInto ¶ added in v0.63.0
func (in *VTSingleList) DeepCopyInto(out *VTSingleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VTSingleList) DeepCopyObject ¶ added in v0.63.0
func (in *VTSingleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VTSingleSpec ¶ added in v0.63.0
type VTSingleSpec struct {
// ParsingError contents error with context if operator was failed to parse json object from kubernetes api server
ParsingError string `json:"-" yaml:"-"`
// PodMetadata configures Labels and Annotations which are propagated to the VTSingle pods.
// +optional
PodMetadata *vmv1beta1.EmbeddedObjectMetadata `json:"podMetadata,omitempty"`
// ManagedMetadata defines metadata that will be added to the all objects
// created by operator for the given CustomResource
ManagedMetadata *vmv1beta1.ManagedObjectsMetadata `json:"managedMetadata,omitempty"`
vmv1beta1.CommonDefaultableParams `json:",inline,omitempty"`
vmv1beta1.CommonApplicationDeploymentParams `json:",inline,omitempty"`
// LogLevel for VictoriaTraces to be configured with.
// +optional
// +kubebuilder:validation:Enum=INFO;WARN;ERROR;FATAL;PANIC
LogLevel string `json:"logLevel,omitempty"`
// LogFormat for VTSingle to be configured with.
// +optional
// +kubebuilder:validation:Enum=default;json
LogFormat string `json:"logFormat,omitempty"`
// StorageDataPath disables spec.storage option and overrides arg for victoria-traces binary --storageDataPath,
// its users responsibility to mount proper device into given path.
// +optional
StorageDataPath string `json:"storageDataPath,omitempty"`
// Storage is the definition of how storage will be used by the VTSingle
// by default it`s empty dir
// +optional
Storage *corev1.PersistentVolumeClaimSpec `json:"storage,omitempty"`
// StorageMeta defines annotations and labels attached to PVC for given vtsingle CR
// +optional
StorageMetadata vmv1beta1.EmbeddedObjectMetadata `json:"storageMetadata,omitempty"`
// RetentionPeriod for the stored traces
// https://docs.victoriametrics.com/victoriatraces/#configure-and-run-victoriatraces
// +optional
// +kubebuilder:validation:Pattern:="^[0-9]+(h|d|w|y)?$"
RetentionPeriod string `json:"retentionPeriod,omitempty"`
// RetentionMaxDiskSpaceUsageBytes for the stored traces
// VictoriaTraces keeps at least two last days of data in order to guarantee that the traces for the last day can be returned in queries.
// This means that the total disk space usage may exceed the -retention.maxDiskSpaceUsageBytes,
// if the size of the last two days of data exceeds the -retention.maxDiskSpaceUsageBytes.
// https://docs.victoriametrics.com/victoriatraces/#configure-and-run-victoriatraces
// +optional
RetentionMaxDiskSpaceUsageBytes vmv1beta1.BytesString `json:"retentionMaxDiskSpaceUsageBytes,omitempty"`
// FutureRetention for the stored traces
// Log entries with timestamps bigger than now+futureRetention are rejected during data ingestion;
// see https://docs.victoriametrics.com/victoriatraces/#configure-and-run-victoriatraces
// +optional
// +kubebuilder:validation:Pattern:="^[0-9]+(h|d|y)?$"
FutureRetention string `json:"futureRetention,omitempty"`
// LogNewStreams Whether to log creation of new streams; this can be useful for debugging of high cardinality issues with log streams;
// see https://docs.victoriametrics.com/victoriatraces/#configure-and-run-victoriatraces
LogNewStreams bool `json:"logNewStreams,omitempty"`
// Whether to log all the ingested log entries; this can be useful for debugging of data ingestion;
// see https://docs.victoriametrics.com/victoriatraces/#configure-and-run-victoriatraces
LogIngestedRows bool `json:"logIngestedRows,omitempty"`
// ServiceSpec that will be added to vtsingle service spec
// +optional
ServiceSpec *vmv1beta1.AdditionalServiceSpec `json:"serviceSpec,omitempty"`
// ServiceScrapeSpec that will be added to vtsingle VMServiceScrape spec
// +optional
ServiceScrapeSpec *vmv1beta1.VMServiceScrapeSpec `json:"serviceScrapeSpec,omitempty"`
// LivenessProbe that will be added to VTSingle pod
*vmv1beta1.EmbeddedProbes `json:",inline"`
// ServiceAccountName is the name of the ServiceAccount to use to run the pods
// +optional
ServiceAccountName string `json:"serviceAccountName,omitempty"`
}
VTSingleSpec defines the desired state of VTSingle +k8s:openapi-gen=true
func (*VTSingleSpec) DeepCopy ¶ added in v0.63.0
func (in *VTSingleSpec) DeepCopy() *VTSingleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VTSingleSpec.
func (*VTSingleSpec) DeepCopyInto ¶ added in v0.63.0
func (in *VTSingleSpec) DeepCopyInto(out *VTSingleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VTSingleSpec) UnmarshalJSON ¶ added in v0.63.0
func (cr *VTSingleSpec) UnmarshalJSON(src []byte) error
UnmarshalJSON implements json.Unmarshaler interface
type VTSingleStatus ¶ added in v0.63.0
type VTSingleStatus struct {
vmv1beta1.StatusMetadata `json:",inline"`
}
VTSingleStatus defines the observed state of VTSingle
func (*VTSingleStatus) DeepCopy ¶ added in v0.63.0
func (in *VTSingleStatus) DeepCopy() *VTSingleStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VTSingleStatus.
func (*VTSingleStatus) DeepCopyInto ¶ added in v0.63.0
func (in *VTSingleStatus) DeepCopyInto(out *VTSingleStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VTSingleStatus) GetStatusMetadata ¶ added in v0.63.0
func (cr *VTSingleStatus) GetStatusMetadata() *vmv1beta1.StatusMetadata
GetStatusMetadata returns metadata for object status
type VTStorage ¶ added in v0.63.0
type VTStorage struct {
// RetentionPeriod for the stored traces
// https://docs.victoriametrics.com/victoriatraces/#configure-and-run-victoriatraces
// +optional
// +kubebuilder:validation:Pattern:="^[0-9]+(h|d|w|y)?$"
RetentionPeriod string `json:"retentionPeriod,omitempty"`
// RetentionMaxDiskSpaceUsageBytes for the stored traces
// VictoriaTraces keeps at least two last days of data in order to guarantee that the traces for the last day can be returned in queries.
// This means that the total disk space usage may exceed the -retention.maxDiskSpaceUsageBytes,
// if the size of the last two days of data exceeds the -retention.maxDiskSpaceUsageBytes.
// https://docs.victoriametrics.com/victoriatraces/#configure-and-run-victoriatraces
// +optional
RetentionMaxDiskSpaceUsageBytes vmv1beta1.BytesString `json:"retentionMaxDiskSpaceUsageBytes,omitempty"`
// FutureRetention for the stored traces
// Log entries with timestamps bigger than now+futureRetention are rejected during data ingestion
// see https://docs.victoriametrics.com/victoriatraces/#configure-and-run-victoriatraces
// +optional
// +kubebuilder:validation:Pattern:="^[0-9]+(h|d|w|y)?$"
FutureRetention string `json:"futureRetention,omitempty"`
// LogNewStreams Whether to log creation of new streams; this can be useful for debugging of high cardinality issues with log streams
// see https://docs.victoriametrics.com/victoriatraces/#configure-and-run-victoriatraces
LogNewStreams bool `json:"logNewStreams,omitempty"`
// Whether to log all the ingested log entries; this can be useful for debugging of data ingestion
// see https://docs.victoriametrics.com/victoriatraces/#configure-and-run-victoriatraces
LogIngestedRows bool `json:"logIngestedRows,omitempty"`
// PodMetadata configures Labels and Annotations which are propagated to the VTStorage pods.
PodMetadata *vmv1beta1.EmbeddedObjectMetadata `json:"podMetadata,omitempty"`
// LogFormat for VTStorage to be configured with.
// default or json
// +optional
// +kubebuilder:validation:Enum=default;json
LogFormat string `json:"logFormat,omitempty"`
// LogLevel for VTStorage to be configured with.
// +optional
// +kubebuilder:validation:Enum=INFO;WARN;ERROR;FATAL;PANIC
LogLevel string `json:"logLevel,omitempty"`
// ServiceSpec that will be added to vtselect service spec
// +optional
ServiceSpec *vmv1beta1.AdditionalServiceSpec `json:"serviceSpec,omitempty"`
// ServiceScrapeSpec that will be added to vtselect VMServiceScrape spec
// +optional
ServiceScrapeSpec *vmv1beta1.VMServiceScrapeSpec `json:"serviceScrapeSpec,omitempty"`
// PodDisruptionBudget created by operator
// +optional
PodDisruptionBudget *vmv1beta1.EmbeddedPodDisruptionBudgetSpec `json:"podDisruptionBudget,omitempty"`
*vmv1beta1.EmbeddedProbes `json:",inline"`
// RollingUpdateStrategy defines strategy for application updates
// Default is OnDelete, in this case operator handles update process
// Can be changed for RollingUpdate
// +optional
RollingUpdateStrategy appsv1.StatefulSetUpdateStrategyType `json:"rollingUpdateStrategy,omitempty"`
// ClaimTemplates allows adding additional VolumeClaimTemplates for StatefulSet
ClaimTemplates []corev1.PersistentVolumeClaim `json:"claimTemplates,omitempty"`
// StorageDataPath - path to storage data
// +optional
StorageDataPath string `json:"storageDataPath,omitempty"`
// Storage configures persistent volume for VTStorage
// +optional
Storage *vmv1beta1.StorageSpec `json:"storage,omitempty"`
// PersistentVolumeClaimRetentionPolicy allows configuration of PVC retention policy
// +optional
PersistentVolumeClaimRetentionPolicy *appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy `json:"persistentVolumeClaimRetentionPolicy,omitempty"`
// MaintenanceInsertNodeIDs - excludes given node ids from insert requests routing, must contain pod suffixes - for pod-0, id will be 0 and etc.
// lets say, you have pod-0, pod-1, pod-2, pod-3. to exclude pod-0 and pod-3 from insert routing, define nodeIDs: [0,3].
// Useful at storage expanding, when you want to rebalance some data at cluster.
// +optional
MaintenanceInsertNodeIDs []int32 `json:"maintenanceInsertNodeIDs,omitempty"`
// MaintenanceInsertNodeIDs - excludes given node ids from select requests routing, must contain pod suffixes - for pod-0, id will be 0 and etc.
MaintenanceSelectNodeIDs []int32 `json:"maintenanceSelectNodeIDs,omitempty"`
vmv1beta1.CommonDefaultableParams `json:",inline"`
vmv1beta1.CommonApplicationDeploymentParams `json:",inline"`
// RollingUpdateStrategyBehavior defines customized behavior for rolling updates.
// It applies if the RollingUpdateStrategy is set to OnDelete, which is the default.
// +optional
RollingUpdateStrategyBehavior *vmv1beta1.StatefulSetUpdateStrategyBehavior `json:"rollingUpdateStrategyBehavior,omitempty"`
}
VTStorage defines vtstorage component configuration at victoria-traces cluster
func (*VTStorage) DeepCopy ¶ added in v0.63.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VTStorage.
func (*VTStorage) DeepCopyInto ¶ added in v0.63.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VTStorage) GetAdditionalService ¶ added in v0.63.0
func (cr *VTStorage) GetAdditionalService() *vmv1beta1.AdditionalServiceSpec
GetAdditionalService returns AdditionalServiceSpec settings
func (*VTStorage) GetExtraArgs ¶ added in v0.63.0
ExtraArgs returns additionally configured command-line arguments
func (*VTStorage) GetMetricPath ¶ added in v0.63.0
GetMetricPath returns prefixed path for metric requests
func (*VTStorage) GetServiceScrape ¶ added in v0.63.0
func (cr *VTStorage) GetServiceScrape() *vmv1beta1.VMServiceScrapeSpec
ServiceScrape returns overrides for serviceScrape builder
func (*VTStorage) GetStorageVolumeName ¶ added in v0.63.0
GetStorageVolumeName returns formatted name for vtstorage volume
func (*VTStorage) Probe ¶ added in v0.63.0
func (cr *VTStorage) Probe() *vmv1beta1.EmbeddedProbes
Probe implements build.probeCRD interface
func (*VTStorage) ProbeNeedLiveness ¶ added in v0.63.0
ProbeNeedLiveness implements build.probeCRD interface
func (*VTStorage) ProbeScheme ¶ added in v0.63.0
ProbeScheme implements build.probeCRD interface