Documentation
¶
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type AZBlobStorage
- type BackendStorage
- type CacheStorage
- type ComponentSpec
- type Condition
- type ConditionType
- type ConfigMergeStrategy
- type DatanodeSpec
- func (in *DatanodeSpec) DeepCopy() *DatanodeSpec
- func (in *DatanodeSpec) DeepCopyInto(out *DatanodeSpec)
- func (in *DatanodeSpec) GetConfig() string
- func (in *DatanodeSpec) GetDataHome() string
- func (in *DatanodeSpec) GetFileStorage() *FileStorage
- func (in *DatanodeSpec) GetLogging() *LoggingSpec
- func (in *DatanodeSpec) GetName() string
- func (in *DatanodeSpec) GetReplicas() *int32
- func (in *DatanodeSpec) GetRoleKind() RoleKind
- func (in *DatanodeSpec) GetTracing() *TracingSpec
- type DatanodeStatus
- type DatanodeStorageSpec
- type EtcdStorage
- type FileStorage
- func (in *FileStorage) DeepCopy() *FileStorage
- func (in *FileStorage) DeepCopyInto(out *FileStorage)
- func (in *FileStorage) GetAnnotations() map[string]string
- func (in *FileStorage) GetLabels() map[string]string
- func (in *FileStorage) GetMountPath() string
- func (in *FileStorage) GetName() string
- func (in *FileStorage) GetPolicy() StorageRetainPolicyType
- func (in *FileStorage) GetSize() string
- func (in *FileStorage) GetStorageClassName() *string
- func (in *FileStorage) IsUseEmptyDir() bool
- type FileStorageAccessor
- type FlownodeSpec
- func (in *FlownodeSpec) DeepCopy() *FlownodeSpec
- func (in *FlownodeSpec) DeepCopyInto(out *FlownodeSpec)
- func (in *FlownodeSpec) GetConfig() string
- func (in *FlownodeSpec) GetLogging() *LoggingSpec
- func (in *FlownodeSpec) GetName() string
- func (in *FlownodeSpec) GetReplicas() *int32
- func (in *FlownodeSpec) GetRoleKind() RoleKind
- func (in *FlownodeSpec) GetTracing() *TracingSpec
- type FlownodeStatus
- type FrontendSpec
- func (in *FrontendSpec) DeepCopy() *FrontendSpec
- func (in *FrontendSpec) DeepCopyInto(out *FrontendSpec)
- func (in *FrontendSpec) GetConfig() string
- func (in *FrontendSpec) GetLogging() *LoggingSpec
- func (in *FrontendSpec) GetName() string
- func (in *FrontendSpec) GetReplicas() *int32
- func (in *FrontendSpec) GetRoleKind() RoleKind
- func (in *FrontendSpec) GetService() *ServiceSpec
- func (in *FrontendSpec) GetSlowQuery() *SlowQuery
- func (in *FrontendSpec) GetTLS() *TLSSpec
- func (in *FrontendSpec) GetTracing() *TracingSpec
- type FrontendStatus
- type GCSStorage
- type GreptimeDBCluster
- func (in *GreptimeDBCluster) Check(ctx context.Context, client client.Client) error
- func (in *GreptimeDBCluster) DeepCopy() *GreptimeDBCluster
- func (in *GreptimeDBCluster) DeepCopyInto(out *GreptimeDBCluster)
- func (in *GreptimeDBCluster) DeepCopyObject() runtime.Object
- func (in *GreptimeDBCluster) GetBaseMainContainer() *MainContainerSpec
- func (in *GreptimeDBCluster) GetDatanode() *DatanodeSpec
- func (in *GreptimeDBCluster) GetDatanodeGroups() []*DatanodeSpec
- func (in *GreptimeDBCluster) GetDatanodeReplicas() int32
- func (in *GreptimeDBCluster) GetFlownode() *FlownodeSpec
- func (in *GreptimeDBCluster) GetFrontend() *FrontendSpec
- func (in *GreptimeDBCluster) GetFrontendGroups() []*FrontendSpec
- func (in *GreptimeDBCluster) GetIngress() *IngressSpec
- func (in *GreptimeDBCluster) GetLogging() *LoggingSpec
- func (in *GreptimeDBCluster) GetMeta() *MetaSpec
- func (in *GreptimeDBCluster) GetMonitoring() *MonitoringSpec
- func (in *GreptimeDBCluster) GetObjectStorageProvider() *ObjectStorageProviderSpec
- func (in *GreptimeDBCluster) GetPrometheusMonitor() *PrometheusMonitorSpec
- func (in *GreptimeDBCluster) GetTracing() *TracingSpec
- func (in *GreptimeDBCluster) GetVersion() string
- func (in *GreptimeDBCluster) GetWALDir() string
- func (in *GreptimeDBCluster) GetWALProvider() *WALProviderSpec
- func (in *GreptimeDBCluster) MergeWithBaseTemplate() error
- func (in *GreptimeDBCluster) MergeWithGlobalLogging() error
- func (in *GreptimeDBCluster) MergeWithGlobalTracing() error
- func (in *GreptimeDBCluster) SetDefaults() error
- func (r *GreptimeDBCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (in *GreptimeDBCluster) Validate() error
- func (r *GreptimeDBCluster) ValidateCreate(_ context.Context, obj runtime.Object) (admission.Warnings, error)
- func (r *GreptimeDBCluster) ValidateDelete(_ context.Context, _ runtime.Object) (admission.Warnings, error)
- func (r *GreptimeDBCluster) ValidateUpdate(_ context.Context, oldObj, newObj runtime.Object) (admission.Warnings, error)
- type GreptimeDBClusterList
- type GreptimeDBClusterSpec
- type GreptimeDBClusterStatus
- func (in *GreptimeDBClusterStatus) DeepCopy() *GreptimeDBClusterStatus
- func (in *GreptimeDBClusterStatus) DeepCopyInto(out *GreptimeDBClusterStatus)
- func (in *GreptimeDBClusterStatus) GetCondition(conditionType ConditionType) *Condition
- func (in *GreptimeDBClusterStatus) SetCondition(condition Condition)
- type GreptimeDBStandalone
- func (in *GreptimeDBStandalone) Check(ctx context.Context, client client.Client) error
- func (in *GreptimeDBStandalone) DeepCopy() *GreptimeDBStandalone
- func (in *GreptimeDBStandalone) DeepCopyInto(out *GreptimeDBStandalone)
- func (in *GreptimeDBStandalone) DeepCopyObject() runtime.Object
- func (in *GreptimeDBStandalone) GetBaseMainContainer() *MainContainerSpec
- func (in *GreptimeDBStandalone) GetConfig() string
- func (in *GreptimeDBStandalone) GetDataHome() string
- func (in *GreptimeDBStandalone) GetDatanodeFileStorage() *FileStorage
- func (in *GreptimeDBStandalone) GetLogging() *LoggingSpec
- func (in *GreptimeDBStandalone) GetObjectStorageProvider() *ObjectStorageProviderSpec
- func (in *GreptimeDBStandalone) GetPrometheusMonitor() *PrometheusMonitorSpec
- func (in *GreptimeDBStandalone) GetSlowQuery() *SlowQuery
- func (in *GreptimeDBStandalone) GetTLS() *TLSSpec
- func (in *GreptimeDBStandalone) GetTracing() *TracingSpec
- func (in *GreptimeDBStandalone) GetVersion() string
- func (in *GreptimeDBStandalone) GetWALDir() string
- func (in *GreptimeDBStandalone) GetWALProvider() *WALProviderSpec
- func (in *GreptimeDBStandalone) SetDefaults() error
- func (r *GreptimeDBStandalone) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (in *GreptimeDBStandalone) Validate() error
- func (r *GreptimeDBStandalone) ValidateCreate(_ context.Context, obj runtime.Object) (admission.Warnings, error)
- func (r *GreptimeDBStandalone) ValidateDelete(_ context.Context, _ runtime.Object) (admission.Warnings, error)
- func (r *GreptimeDBStandalone) ValidateUpdate(_ context.Context, oldObj, newObj runtime.Object) (admission.Warnings, error)
- type GreptimeDBStandaloneList
- type GreptimeDBStandaloneSpec
- type GreptimeDBStandaloneStatus
- func (in *GreptimeDBStandaloneStatus) DeepCopy() *GreptimeDBStandaloneStatus
- func (in *GreptimeDBStandaloneStatus) DeepCopyInto(out *GreptimeDBStandaloneStatus)
- func (in *GreptimeDBStandaloneStatus) GetCondition(conditionType ConditionType) *Condition
- func (in *GreptimeDBStandaloneStatus) SetCondition(condition Condition)
- type IngressBackend
- type IngressRule
- type IngressSpec
- type InitializerSpec
- type KafkaWAL
- type LogFormat
- type LogPipeline
- type LoggingLevel
- type LoggingSpec
- type LogsCollectionSpec
- type MainContainerSpec
- type MetaSpec
- func (in *MetaSpec) DeepCopy() *MetaSpec
- func (in *MetaSpec) DeepCopyInto(out *MetaSpec)
- func (in *MetaSpec) GetBackendStorage() *BackendStorage
- func (in *MetaSpec) GetConfig() string
- func (in *MetaSpec) GetEtcdEndpoints() []string
- func (in *MetaSpec) GetLogging() *LoggingSpec
- func (in *MetaSpec) GetName() string
- func (in *MetaSpec) GetReplicas() *int32
- func (in *MetaSpec) GetRoleKind() RoleKind
- func (in *MetaSpec) GetStoreKeyPrefix() string
- func (in *MetaSpec) GetTracing() *TracingSpec
- func (in *MetaSpec) IsEnableCheckEtcdService() bool
- func (in *MetaSpec) IsEnableRegionFailover() bool
- type MetaStatus
- type MonitoringSpec
- func (in *MonitoringSpec) DeepCopy() *MonitoringSpec
- func (in *MonitoringSpec) DeepCopyInto(out *MonitoringSpec)
- func (in *MonitoringSpec) GetLogsCollection() *LogsCollectionSpec
- func (in *MonitoringSpec) GetStandalone() *GreptimeDBStandaloneSpec
- func (in *MonitoringSpec) GetVector() *VectorSpec
- func (in *MonitoringSpec) IsEnabled() bool
- type MonitoringStatus
- type MySQLStorage
- type OSSStorage
- type ObjectStorageProviderAccessor
- type ObjectStorageProviderSpec
- func (in *ObjectStorageProviderSpec) DeepCopy() *ObjectStorageProviderSpec
- func (in *ObjectStorageProviderSpec) DeepCopyInto(out *ObjectStorageProviderSpec)
- func (in *ObjectStorageProviderSpec) GetAZBlobStorage() *AZBlobStorage
- func (in *ObjectStorageProviderSpec) GetCacheFileStorage() *FileStorage
- func (in *ObjectStorageProviderSpec) GetCacheStorage() *CacheStorage
- func (in *ObjectStorageProviderSpec) GetGCSStorage() *GCSStorage
- func (in *ObjectStorageProviderSpec) GetOSSStorage() *OSSStorage
- func (in *ObjectStorageProviderSpec) GetS3Storage() *S3Storage
- type Phase
- type PodTemplateSpec
- type PostgreSQLStorage
- type PrometheusMonitorSpec
- type RaftEngineWAL
- type RoleKind
- type RoleSpec
- type S3Storage
- type ServiceSpec
- type SlimPodSpec
- type SlowQuery
- type SlowQueryRecordType
- type StorageRetainPolicyType
- type TLSSpec
- type TracingSpec
- type VectorSpec
- type WALProviderSpec
Constants ¶
const ( // DefaultVersion is the default version of the GreptimeDB. DefaultVersion = "Unknown" // DefaultHealthEndpoint is the default health endpoint for the liveness probe. DefaultHealthEndpoint = "/health" // DefaultHTTPPort is the default HTTP port for the GreptimeDB. DefaultHTTPPort int32 = 4000 // DefaultRPCPort is the default RPC port for the GreptimeDB. DefaultRPCPort int32 = 4001 // DefaultMySQLPort is the default MySQL port for the GreptimeDB. DefaultMySQLPort int32 = 4002 // DefaultPostgreSQLPort is the default PostgreSQL port for the GreptimeDB. DefaultPostgreSQLPort int32 = 4003 // DefaultMetaRPCPort is the default Meta RPC port for the GreptimeDB. DefaultMetaRPCPort int32 = 3002 // DefaultReplicas is the default number of replicas for components of the GreptimeDB cluster. DefaultReplicas = 1 // DefaultDataSize is the default size of the data when using the file storage. DefaultDataSize = "10Gi" // DefaultDataSizeForMonitoring is the default size of the data for monitoring. DefaultDataSizeForMonitoring = "30Gi" // DefaultDataHome is the default directory for the data. DefaultDataHome = "/data/greptimedb" // DefaultDatanodeFileStorageName is the default file storage name for the datanode. DefaultDatanodeFileStorageName = "datanode" // DefaultLogsDir is the default directory for the logs. DefaultLogsDir = DefaultDataHome + "/logs" // DefaultStorageRetainPolicyType is the default storage retain policy type. DefaultStorageRetainPolicyType = StorageRetainPolicyTypeRetain // DefaultInitializerImage is the default image for the GreptimeDB initializer. DefaultInitializerImage = "greptime/greptimedb-initializer:latest" // DefaultGreptimeDBImage is the default image for the GreptimeDB. DefaultGreptimeDBImage = "greptime/greptimedb:latest" // DefaultLoggingLevel is the default logging level for the GreptimeDB. DefaultLoggingLevel = LoggingLevelInfo // DefaultVectorImage is the default image for the vector. DefaultVectorImage = "timberio/vector:nightly-alpine" // DefaultVectorCPURequest is the default CPU request for the vector. DefaultVectorCPURequest = "50m" // DefaultVectorMemoryRequest is the default memory request for the vector. DefaultVectorMemoryRequest = "64Mi" // DefaultVectorCPULimit is the default CPU limit for the vector. DefaultVectorCPULimit = "200m" // DefaultVectorMemoryLimit is the default memory limit for the vector. DefaultVectorMemoryLimit = "256Mi" )
The following constants are the default values for the GreptimeDBCluster and GreptimeDBStandalone.
const ( // TLSCrtSecretKey is the key for the TLS certificate in the secret. TLSCrtSecretKey = "tls.crt" // TLSKeySecretKey is the key for the TLS key in the secret. TLSKeySecretKey = "tls.key" // AccessKeyIDSecretKey is the key for the access key ID in the secret. AccessKeyIDSecretKey = "access-key-id" // SecretAccessKeySecretKey is the key for the secret access key in the secret. SecretAccessKeySecretKey = "secret-access-key" // AccessKeySecretSecretKey is the key for the access key secret in the secret. AccessKeySecretSecretKey = "access-key-secret" // ServiceAccountKey is the key for the service account in the secret. ServiceAccountKey = "service-account-key" // AccountName is the name for the account in the secret. AccountName = "account-name" // AccountKey is the key for the account in the secret. AccountKey = "account-key" // MetaDatabaseUsernameKey is the key for the username in the secret when using MySQL or PostgreSQL as the backend storage. MetaDatabaseUsernameKey = "username" // MetaDatabasePasswordKey is the key for the password in the secret when using MySQL or PostgreSQL as the backend storage. MetaDatabasePasswordKey = "password" )
The following constants are the constant configuration for the GreptimeDBCluster and GreptimeDBStandalone.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "greptime.io", Version: "v1alpha1"} SchemeGroupVersion = GroupVersion // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func Resource ¶ added in v0.2.0
func Resource(resource string) schema.GroupResource
Resource is required by pkg/client/listers/...
Types ¶
type AZBlobStorage ¶ added in v0.1.3
type AZBlobStorage struct { // The data will be stored in the container. // +required Container string `json:"container"` // The secret of storing the credentials of account name and account key. // The secret should contain keys named `account-name` and `account-key`. // The secret must be the same namespace with the GreptimeDBCluster resource. // +optional SecretName string `json:"secretName,omitempty"` // The Blob directory path. // +required Root string `json:"root"` // The Blob Storage endpoint. // +optional Endpoint string `json:"endpoint,omitempty"` }
AZBlobStorage defines the Azure Blob storage specification.
func (*AZBlobStorage) DeepCopy ¶ added in v0.1.3
func (in *AZBlobStorage) DeepCopy() *AZBlobStorage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AZBlobStorage.
func (*AZBlobStorage) DeepCopyInto ¶ added in v0.1.3
func (in *AZBlobStorage) DeepCopyInto(out *AZBlobStorage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AZBlobStorage) GetRoot ¶ added in v0.1.3
func (in *AZBlobStorage) GetRoot() string
func (*AZBlobStorage) GetSecretName ¶ added in v0.1.3
func (in *AZBlobStorage) GetSecretName() string
type BackendStorage ¶ added in v0.3.0
type BackendStorage struct { // EtcdStorage is the specification for etcd storage for meta. // +optional EtcdStorage *EtcdStorage `json:"etcd,omitempty"` // MySQLStorage is the specification for MySQL storage for meta. // +optional MySQLStorage *MySQLStorage `json:"mysql,omitempty"` // PostgreSQLStorage is the specification for PostgreSQL storage for meta. // +optional PostgreSQLStorage *PostgreSQLStorage `json:"postgresql,omitempty"` }
BackendStorage is the specification for the backend storage for meta.
func (*BackendStorage) DeepCopy ¶ added in v0.3.0
func (in *BackendStorage) DeepCopy() *BackendStorage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendStorage.
func (*BackendStorage) DeepCopyInto ¶ added in v0.3.0
func (in *BackendStorage) DeepCopyInto(out *BackendStorage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BackendStorage) GetEtcdStorage ¶ added in v0.3.0
func (in *BackendStorage) GetEtcdStorage() *EtcdStorage
func (*BackendStorage) GetMySQLStorage ¶ added in v0.3.0
func (in *BackendStorage) GetMySQLStorage() *MySQLStorage
func (*BackendStorage) GetPostgreSQLStorage ¶ added in v0.3.0
func (in *BackendStorage) GetPostgreSQLStorage() *PostgreSQLStorage
type CacheStorage ¶
type CacheStorage struct { // Storage is the storage specification for the cache. // If the storage is not specified, the cache will use DatanodeStorageSpec. // +optional FileStorage *FileStorage `json:"fs,omitempty"` // CacheCapacity is the capacity of the cache. // +optional CacheCapacity string `json:"cacheCapacity,omitempty"` }
CacheStorage defines the cache storage specification.
func (*CacheStorage) DeepCopy ¶
func (in *CacheStorage) DeepCopy() *CacheStorage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CacheStorage.
func (*CacheStorage) DeepCopyInto ¶
func (in *CacheStorage) DeepCopyInto(out *CacheStorage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CacheStorage) GetFileStorage ¶ added in v0.4.0
func (in *CacheStorage) GetFileStorage() *FileStorage
type ComponentSpec ¶
type ComponentSpec struct { // The number of replicas of the components. // +optional // +kubebuilder:validation:Minimum=0 Replicas *int32 `json:"replicas,omitempty"` // The content of the configuration file of the component in TOML format. // +optional Config string `json:"config,omitempty"` // Template defines the pod template for the component, if not specified, the pod template will use the default value. // +optional Template *PodTemplateSpec `json:"template,omitempty"` // Logging defines the logging configuration for the component. // +optional Logging *LoggingSpec `json:"logging,omitempty"` // Tracing defines the tracing configuration for the component. // +optional Tracing *TracingSpec `json:"tracing,omitempty"` }
ComponentSpec is the common specification for all components(`frontend`/`meta`/`datanode`/`flownode`).
func (*ComponentSpec) DeepCopy ¶
func (in *ComponentSpec) DeepCopy() *ComponentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentSpec.
func (*ComponentSpec) DeepCopyInto ¶
func (in *ComponentSpec) DeepCopyInto(out *ComponentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Condition ¶
type Condition struct { // Type of deployment condition. Type ConditionType `json:"type"` // Status of the condition, one of True, False, Unknown. Status corev1.ConditionStatus `json:"status"` // The last time this condition was updated. LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"` // Last time the condition transitioned from one status to another. // +optional LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` // The reason for the condition's last transition. // +optional Reason string `json:"reason,omitempty"` // A human-readable message indicating details about the transition. // +optional Message string `json:"message,omitempty"` }
Condition describes the state of a deployment at a certain point.
func GetCondition ¶
func GetCondition(conditions []Condition, conditionType ConditionType) *Condition
func NewCondition ¶
func NewCondition(conditionType ConditionType, conditionStatus corev1.ConditionStatus, reason, message string) *Condition
func SetCondition ¶
func (*Condition) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.
func (*Condition) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConditionType ¶
type ConditionType string
ConditionType is the type of the condition.
const ( // ConditionTypeReady indicates that the GreptimeDB cluster is ready to serve requests. // Every component in the cluster are all ready. ConditionTypeReady ConditionType = "Ready" // ConditionTypeProgressing indicates that the GreptimeDB cluster is progressing. ConditionTypeProgressing ConditionType = "Progressing" )
type ConfigMergeStrategy ¶ added in v0.4.3
type ConfigMergeStrategy string
ConfigMergeStrategy is the strategy for merging the input config with the config that generated by the operator.
const ( // ConfigMergeStrategyOperatorFirst means the config that generated by the operator has higher priority than the input config. // If the input config has the same key as the config that generated by the operator, the value of the input config will be ignored. // It's the default strategy. ConfigMergeStrategyOperatorFirst ConfigMergeStrategy = "ConfigMergeStrategyOperatorFirst" // ConfigMergeStrategyInjectedDataFirst means the input config has higher priority than the config that generated by the operator. // If the input config has the same key as the config that generated by the operator, the value of the input config will be used. // It should be used carefully because it may lead to some conflicts with the other components. ConfigMergeStrategyInjectedDataFirst ConfigMergeStrategy = "ConfigMergeStrategyInjectedDataFirst" )
type DatanodeSpec ¶
type DatanodeSpec struct { ComponentSpec `json:",inline"` // Name is the name of the datanode. // +optional Name string `json:"name,omitempty"` // RPCPort is the gRPC port of the datanode. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 // +optional RPCPort int32 `json:"rpcPort,omitempty"` // HTTPPort is the HTTP port of the datanode. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 // +optional HTTPPort int32 `json:"httpPort,omitempty"` // Storage is the default file storage of the datanode. For example, WAL, cache, index etc. // +optional Storage *DatanodeStorageSpec `json:"storage,omitempty"` // RollingUpdate is the rolling update configuration. We always use `RollingUpdate` strategy. // +optional RollingUpdate *appsv1.RollingUpdateStatefulSetStrategy `json:"rollingUpdate,omitempty"` }
DatanodeSpec is the specification for datanode component.
func (*DatanodeSpec) DeepCopy ¶
func (in *DatanodeSpec) DeepCopy() *DatanodeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatanodeSpec.
func (*DatanodeSpec) DeepCopyInto ¶
func (in *DatanodeSpec) DeepCopyInto(out *DatanodeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatanodeSpec) GetConfig ¶
func (in *DatanodeSpec) GetConfig() string
func (*DatanodeSpec) GetDataHome ¶
func (in *DatanodeSpec) GetDataHome() string
func (*DatanodeSpec) GetFileStorage ¶
func (in *DatanodeSpec) GetFileStorage() *FileStorage
func (*DatanodeSpec) GetLogging ¶
func (in *DatanodeSpec) GetLogging() *LoggingSpec
func (*DatanodeSpec) GetName ¶ added in v0.3.0
func (in *DatanodeSpec) GetName() string
func (*DatanodeSpec) GetReplicas ¶ added in v0.2.2
func (in *DatanodeSpec) GetReplicas() *int32
func (*DatanodeSpec) GetRoleKind ¶ added in v0.3.0
func (in *DatanodeSpec) GetRoleKind() RoleKind
GetRoleKind returns the role kind.
func (*DatanodeSpec) GetTracing ¶ added in v0.4.3
func (in *DatanodeSpec) GetTracing() *TracingSpec
type DatanodeStatus ¶
type DatanodeStatus struct { // Replicas is the number of replicas of the datanode. Replicas int32 `json:"replicas"` // ReadyReplicas is the number of ready replicas of the datanode. ReadyReplicas int32 `json:"readyReplicas"` }
DatanodeStatus is the status of datanode node.
func (*DatanodeStatus) DeepCopy ¶
func (in *DatanodeStatus) DeepCopy() *DatanodeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatanodeStatus.
func (*DatanodeStatus) DeepCopyInto ¶
func (in *DatanodeStatus) DeepCopyInto(out *DatanodeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatanodeStorageSpec ¶
type DatanodeStorageSpec struct { // DataHome is the home directory of the data. DataHome string `json:"dataHome,omitempty"` // FileStorage is the file storage configuration. // +optional FileStorage *FileStorage `json:"fs,omitempty"` }
DatanodeStorageSpec defines the storage specification for the datanode.
func (*DatanodeStorageSpec) DeepCopy ¶
func (in *DatanodeStorageSpec) DeepCopy() *DatanodeStorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatanodeStorageSpec.
func (*DatanodeStorageSpec) DeepCopyInto ¶
func (in *DatanodeStorageSpec) DeepCopyInto(out *DatanodeStorageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EtcdStorage ¶ added in v0.3.0
type EtcdStorage struct { // The endpoints of the etcd cluster. // +required Endpoints []string `json:"endpoints"` // EnableCheckEtcdService indicates whether to check etcd cluster health when starting meta. // +optional EnableCheckEtcdService bool `json:"enableCheckEtcdService,omitempty"` // StoreKeyPrefix is the prefix of the key in the etcd. We can use it to isolate the data of different clusters. // +optional StoreKeyPrefix string `json:"storeKeyPrefix,omitempty"` }
EtcdStorage is the specification for etcd storage for meta.
func (*EtcdStorage) DeepCopy ¶ added in v0.3.0
func (in *EtcdStorage) DeepCopy() *EtcdStorage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdStorage.
func (*EtcdStorage) DeepCopyInto ¶ added in v0.3.0
func (in *EtcdStorage) DeepCopyInto(out *EtcdStorage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EtcdStorage) GetEndpoints ¶ added in v0.3.0
func (in *EtcdStorage) GetEndpoints() []string
func (*EtcdStorage) GetStoreKeyPrefix ¶ added in v0.3.0
func (in *EtcdStorage) GetStoreKeyPrefix() string
func (*EtcdStorage) IsEnableCheckEtcdService ¶ added in v0.3.0
func (in *EtcdStorage) IsEnableCheckEtcdService() bool
type FileStorage ¶
type FileStorage struct { // Name is the name of the PVC that will be created. // +optional Name string `json:"name,omitempty"` // UseEmptyDir is a flag to indicate whether to use an empty dir. If true, the PVC will not be created and the whole storage of datanode will be cleaned up when the datanode restarts. // +optional UseEmptyDir *bool `json:"useEmptyDir,omitempty"` // StorageClassName is the name of the StorageClass to use for the PVC. // +optional StorageClassName *string `json:"storageClassName,omitempty"` // StorageSize is the size of the storage. // +optional // +kubebuilder:validation:Pattern=(^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$) StorageSize string `json:"storageSize,omitempty"` // MountPath is the path where the storage will be mounted in the container. // +optional MountPath string `json:"mountPath,omitempty"` // StorageRetainPolicy is the policy of the storage. It can be `Retain` or `Delete`. // +optional // +kubebuilder:validation:Enum:={"Retain", "Delete"} StorageRetainPolicy StorageRetainPolicyType `json:"storageRetainPolicy,omitempty"` // Labels is the labels for the PVC. // +optional Labels map[string]string `json:"labels,omitempty"` // Annotations is the annotations for the PVC. // +optional Annotations map[string]string `json:"annotations,omitempty"` }
FileStorage defines the file storage specification. It is used to generate the PVC that will be mounted to the container.
func (*FileStorage) DeepCopy ¶
func (in *FileStorage) DeepCopy() *FileStorage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileStorage.
func (*FileStorage) DeepCopyInto ¶
func (in *FileStorage) DeepCopyInto(out *FileStorage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FileStorage) GetAnnotations ¶ added in v0.2.0
func (in *FileStorage) GetAnnotations() map[string]string
func (*FileStorage) GetLabels ¶ added in v0.2.0
func (in *FileStorage) GetLabels() map[string]string
func (*FileStorage) GetMountPath ¶
func (in *FileStorage) GetMountPath() string
func (*FileStorage) GetName ¶
func (in *FileStorage) GetName() string
func (*FileStorage) GetPolicy ¶
func (in *FileStorage) GetPolicy() StorageRetainPolicyType
func (*FileStorage) GetSize ¶
func (in *FileStorage) GetSize() string
func (*FileStorage) GetStorageClassName ¶
func (in *FileStorage) GetStorageClassName() *string
func (*FileStorage) IsUseEmptyDir ¶ added in v0.4.3
func (in *FileStorage) IsUseEmptyDir() bool
type FileStorageAccessor ¶
type FileStorageAccessor interface { GetName() string GetStorageClassName() *string GetSize() string GetMountPath() string GetPolicy() StorageRetainPolicyType GetLabels() map[string]string GetAnnotations() map[string]string }
FileStorageAccessor is the interface that wraps the basic methods for the FileStorage. +kubebuilder:object:generate=false
type FlownodeSpec ¶
type FlownodeSpec struct { ComponentSpec `json:",inline"` // The gRPC port of the flownode. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 // +optional RPCPort int32 `json:"rpcPort,omitempty"` // The HTTP port of the flownode. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 // +optional HTTPPort int32 `json:"httpPort,omitempty"` // RollingUpdate is the rolling update configuration. We always use `RollingUpdate` strategy. // +optional RollingUpdate *appsv1.RollingUpdateStatefulSetStrategy `json:"rollingUpdate,omitempty"` }
FlownodeSpec is the specification for flownode component.
func (*FlownodeSpec) DeepCopy ¶
func (in *FlownodeSpec) DeepCopy() *FlownodeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlownodeSpec.
func (*FlownodeSpec) DeepCopyInto ¶
func (in *FlownodeSpec) DeepCopyInto(out *FlownodeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FlownodeSpec) GetConfig ¶
func (in *FlownodeSpec) GetConfig() string
func (*FlownodeSpec) GetLogging ¶
func (in *FlownodeSpec) GetLogging() *LoggingSpec
func (*FlownodeSpec) GetName ¶ added in v0.3.0
func (in *FlownodeSpec) GetName() string
func (*FlownodeSpec) GetReplicas ¶ added in v0.2.2
func (in *FlownodeSpec) GetReplicas() *int32
func (*FlownodeSpec) GetRoleKind ¶ added in v0.3.0
func (in *FlownodeSpec) GetRoleKind() RoleKind
GetRoleKind returns the role kind.
func (*FlownodeSpec) GetTracing ¶ added in v0.4.3
func (in *FlownodeSpec) GetTracing() *TracingSpec
type FlownodeStatus ¶
type FlownodeStatus struct { // Replicas is the number of replicas of the flownode. Replicas int32 `json:"replicas"` // ReadyReplicas is the number of ready replicas of the flownode. ReadyReplicas int32 `json:"readyReplicas"` }
FlownodeStatus is the status of flownode node.
func (*FlownodeStatus) DeepCopy ¶
func (in *FlownodeStatus) DeepCopy() *FlownodeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlownodeStatus.
func (*FlownodeStatus) DeepCopyInto ¶
func (in *FlownodeStatus) DeepCopyInto(out *FlownodeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FrontendSpec ¶
type FrontendSpec struct { ComponentSpec `json:",inline"` // Name is the name of the frontend. // +optional Name string `json:"name,omitempty"` // RPCPort is the gRPC port of the frontend. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 // +optional RPCPort int32 `json:"rpcPort,omitempty"` // HTTPPort is the HTTP port of the frontend. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 // +optional HTTPPort int32 `json:"httpPort,omitempty"` // MySQLPort is the MySQL port of the frontend. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 // +optional MySQLPort int32 `json:"mysqlPort,omitempty"` // PostgreSQLPort is the PostgreSQL port of the frontend. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 // +optional PostgreSQLPort int32 `json:"postgreSQLPort,omitempty"` // InternalPort is the internal gRPC port of the frontend. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 // +optional InternalPort *int32 `json:"internalPort,omitempty"` // Service is the service configuration of the frontend. // +optional Service *ServiceSpec `json:"service,omitempty"` // TLS is the TLS configuration of the frontend. // +optional TLS *TLSSpec `json:"tls,omitempty"` // RollingUpdate is the rolling update configuration. We always use `RollingUpdate` strategyt. // +optional RollingUpdate *appsv1.RollingUpdateDeployment `json:"rollingUpdate,omitempty"` // SlowQuery is the slow query configuration. // +optional SlowQuery *SlowQuery `json:"slowQuery,omitempty"` }
FrontendSpec is the specification for frontend component.
func (*FrontendSpec) DeepCopy ¶
func (in *FrontendSpec) DeepCopy() *FrontendSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FrontendSpec.
func (*FrontendSpec) DeepCopyInto ¶
func (in *FrontendSpec) DeepCopyInto(out *FrontendSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FrontendSpec) GetConfig ¶
func (in *FrontendSpec) GetConfig() string
func (*FrontendSpec) GetLogging ¶
func (in *FrontendSpec) GetLogging() *LoggingSpec
func (*FrontendSpec) GetName ¶ added in v0.2.1
func (in *FrontendSpec) GetName() string
func (*FrontendSpec) GetReplicas ¶ added in v0.2.2
func (in *FrontendSpec) GetReplicas() *int32
func (*FrontendSpec) GetRoleKind ¶ added in v0.3.0
func (in *FrontendSpec) GetRoleKind() RoleKind
GetRoleKind returns the role kind.
func (*FrontendSpec) GetService ¶
func (in *FrontendSpec) GetService() *ServiceSpec
func (*FrontendSpec) GetSlowQuery ¶ added in v0.3.0
func (in *FrontendSpec) GetSlowQuery() *SlowQuery
func (*FrontendSpec) GetTLS ¶
func (in *FrontendSpec) GetTLS() *TLSSpec
func (*FrontendSpec) GetTracing ¶ added in v0.4.3
func (in *FrontendSpec) GetTracing() *TracingSpec
type FrontendStatus ¶
type FrontendStatus struct { // Replicas is the number of replicas of the frontend. Replicas int32 `json:"replicas"` // ReadyReplicas is the number of ready replicas of the frontend. ReadyReplicas int32 `json:"readyReplicas"` }
FrontendStatus is the status of frontend node.
func (*FrontendStatus) DeepCopy ¶
func (in *FrontendStatus) DeepCopy() *FrontendStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FrontendStatus.
func (*FrontendStatus) DeepCopyInto ¶
func (in *FrontendStatus) DeepCopyInto(out *FrontendStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCSStorage ¶
type GCSStorage struct { // The data will be stored in the bucket. // +required Bucket string `json:"bucket"` // The gcs directory path. // +required Root string `json:"root"` // The secret of storing Credentials for gcs service OAuth2 authentication. // The secret should contain keys named `service-account-key`. // The secret must be the same namespace with the GreptimeDBCluster resource. // +optional SecretName string `json:"secretName,omitempty"` // The scope for gcs. // +optional Scope string `json:"scope,omitempty"` // The endpoint URI of gcs service. // +optional Endpoint string `json:"endpoint,omitempty"` }
GCSStorage defines the Google GCS storage specification.
func (*GCSStorage) DeepCopy ¶
func (in *GCSStorage) DeepCopy() *GCSStorage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCSStorage.
func (*GCSStorage) DeepCopyInto ¶
func (in *GCSStorage) DeepCopyInto(out *GCSStorage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GCSStorage) GetRoot ¶ added in v0.1.1
func (in *GCSStorage) GetRoot() string
func (*GCSStorage) GetSecretName ¶
func (in *GCSStorage) GetSecretName() string
type GreptimeDBCluster ¶
type GreptimeDBCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec is the specification of the desired state of the GreptimeDBCluster. Spec GreptimeDBClusterSpec `json:"spec,omitempty"` // Status is the most recently observed status of the GreptimeDBCluster. Status GreptimeDBClusterStatus `json:"status,omitempty"` }
GreptimeDBCluster is the Schema for the greptimedbclusters API
func (*GreptimeDBCluster) Check ¶
Check checks the GreptimeDBCluster with other resources and returns an error if it is invalid.
func (*GreptimeDBCluster) DeepCopy ¶
func (in *GreptimeDBCluster) DeepCopy() *GreptimeDBCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GreptimeDBCluster.
func (*GreptimeDBCluster) DeepCopyInto ¶
func (in *GreptimeDBCluster) DeepCopyInto(out *GreptimeDBCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GreptimeDBCluster) DeepCopyObject ¶
func (in *GreptimeDBCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GreptimeDBCluster) GetBaseMainContainer ¶
func (in *GreptimeDBCluster) GetBaseMainContainer() *MainContainerSpec
func (*GreptimeDBCluster) GetDatanode ¶
func (in *GreptimeDBCluster) GetDatanode() *DatanodeSpec
func (*GreptimeDBCluster) GetDatanodeGroups ¶ added in v0.4.0
func (in *GreptimeDBCluster) GetDatanodeGroups() []*DatanodeSpec
func (*GreptimeDBCluster) GetDatanodeReplicas ¶ added in v0.4.0
func (in *GreptimeDBCluster) GetDatanodeReplicas() int32
func (*GreptimeDBCluster) GetFlownode ¶
func (in *GreptimeDBCluster) GetFlownode() *FlownodeSpec
func (*GreptimeDBCluster) GetFrontend ¶
func (in *GreptimeDBCluster) GetFrontend() *FrontendSpec
func (*GreptimeDBCluster) GetFrontendGroups ¶ added in v0.3.0
func (in *GreptimeDBCluster) GetFrontendGroups() []*FrontendSpec
func (*GreptimeDBCluster) GetIngress ¶ added in v0.2.1
func (in *GreptimeDBCluster) GetIngress() *IngressSpec
func (*GreptimeDBCluster) GetLogging ¶
func (in *GreptimeDBCluster) GetLogging() *LoggingSpec
func (*GreptimeDBCluster) GetMeta ¶
func (in *GreptimeDBCluster) GetMeta() *MetaSpec
func (*GreptimeDBCluster) GetMonitoring ¶ added in v0.1.1
func (in *GreptimeDBCluster) GetMonitoring() *MonitoringSpec
func (*GreptimeDBCluster) GetObjectStorageProvider ¶
func (in *GreptimeDBCluster) GetObjectStorageProvider() *ObjectStorageProviderSpec
func (*GreptimeDBCluster) GetPrometheusMonitor ¶
func (in *GreptimeDBCluster) GetPrometheusMonitor() *PrometheusMonitorSpec
func (*GreptimeDBCluster) GetTracing ¶ added in v0.4.3
func (in *GreptimeDBCluster) GetTracing() *TracingSpec
func (*GreptimeDBCluster) GetVersion ¶
func (in *GreptimeDBCluster) GetVersion() string
func (*GreptimeDBCluster) GetWALDir ¶
func (in *GreptimeDBCluster) GetWALDir() string
func (*GreptimeDBCluster) GetWALProvider ¶
func (in *GreptimeDBCluster) GetWALProvider() *WALProviderSpec
func (*GreptimeDBCluster) MergeWithBaseTemplate ¶ added in v0.4.3
func (in *GreptimeDBCluster) MergeWithBaseTemplate() error
MergeWithBaseTemplate merges the base template with the component's template.
func (*GreptimeDBCluster) MergeWithGlobalLogging ¶ added in v0.4.3
func (in *GreptimeDBCluster) MergeWithGlobalLogging() error
MergeWithGlobalLogging will merge the base logging settings into the component's logging settings. If the component's logging settings is not set, it will be set to the base logging settings.
func (*GreptimeDBCluster) MergeWithGlobalTracing ¶ added in v0.4.3
func (in *GreptimeDBCluster) MergeWithGlobalTracing() error
MergeWithGlobalTracing will merge the global tracing settings into the component's tracing settings. If the component's tracing settings is not set, it will be set to the global tracing settings.
func (*GreptimeDBCluster) SetDefaults ¶
func (in *GreptimeDBCluster) SetDefaults() error
SetDefaults sets the default values for the GreptimeDBCluster.
func (*GreptimeDBCluster) SetupWebhookWithManager ¶ added in v0.2.0
func (r *GreptimeDBCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*GreptimeDBCluster) Validate ¶
func (in *GreptimeDBCluster) Validate() error
Validate checks the GreptimeDBCluster and returns an error if it is invalid.
func (*GreptimeDBCluster) ValidateCreate ¶ added in v0.2.0
func (r *GreptimeDBCluster) ValidateCreate(_ context.Context, obj runtime.Object) (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*GreptimeDBCluster) ValidateDelete ¶ added in v0.2.0
func (r *GreptimeDBCluster) ValidateDelete(_ context.Context, _ runtime.Object) (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*GreptimeDBCluster) ValidateUpdate ¶ added in v0.2.0
func (r *GreptimeDBCluster) ValidateUpdate(_ context.Context, oldObj, newObj runtime.Object) (admission.Warnings, error)
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type GreptimeDBClusterList ¶
type GreptimeDBClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []GreptimeDBCluster `json:"items"` }
GreptimeDBClusterList contains a list of GreptimeDBCluster
func (*GreptimeDBClusterList) DeepCopy ¶
func (in *GreptimeDBClusterList) DeepCopy() *GreptimeDBClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GreptimeDBClusterList.
func (*GreptimeDBClusterList) DeepCopyInto ¶
func (in *GreptimeDBClusterList) DeepCopyInto(out *GreptimeDBClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GreptimeDBClusterList) DeepCopyObject ¶
func (in *GreptimeDBClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GreptimeDBClusterSpec ¶
type GreptimeDBClusterSpec struct { // Base is the base pod template for all components and can be overridden by template of individual component. // +optional Base *PodTemplateSpec `json:"base,omitempty"` // Frontend is the specification of frontend node. // +optional Frontend *FrontendSpec `json:"frontend,omitempty"` // Meta is the specification of meta node. // +optional Meta *MetaSpec `json:"meta,omitempty"` // Datanode is the specification of datanode node. // +optional Datanode *DatanodeSpec `json:"datanode,omitempty"` // DatanodeGroups is a group of datanode statefulsets. // +optional DatanodeGroups []*DatanodeSpec `json:"datanodeGroups,omitempty"` // Flownode is the specification of flownode node. // +optional Flownode *FlownodeSpec `json:"flownode,omitempty"` // FrontendGroups is groups of frontend node. // +optional FrontendGroups []*FrontendSpec `json:"frontendGroups,omitempty"` // HTTPPort is the HTTP port of the greptimedb cluster. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 // +optional HTTPPort int32 `json:"httpPort,omitempty"` // RPCPort is the RPC port of the greptimedb cluster. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 // +optional RPCPort int32 `json:"rpcPort,omitempty"` // MySQLPort is the MySQL port of the greptimedb cluster. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 // +optional MySQLPort int32 `json:"mysqlPort,omitempty"` // PostgreSQLPort is the PostgreSQL port of the greptimedb cluster. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 // +optional PostgreSQLPort int32 `json:"postgreSQLPort,omitempty"` // PrometheusMonitor is the specification for creating PodMonitor or ServiceMonitor. // +optional PrometheusMonitor *PrometheusMonitorSpec `json:"prometheusMonitor,omitempty"` // Version is the version of greptimedb. // +optional Version string `json:"version,omitempty"` // Initializer is the init container to set up components configurations before running the container. // +optional Initializer *InitializerSpec `json:"initializer,omitempty"` // ObjectStorageProvider is the storage provider for the greptimedb cluster. // +optional ObjectStorageProvider *ObjectStorageProviderSpec `json:"objectStorage,omitempty"` // WALProvider is the WAL provider for the greptimedb cluster. // +optional WALProvider *WALProviderSpec `json:"wal,omitempty"` // The global logging configuration for all components. It can be overridden by the logging configuration of individual component. // +optional Logging *LoggingSpec `json:"logging,omitempty"` // Monitoring is the specification for monitor bootstrapping. It will create a standalone greptimedb instance to monitor the cluster. // +optional Monitoring *MonitoringSpec `json:"monitoring,omitempty"` // Ingress is the Ingress configuration of the frontend. // +optional Ingress *IngressSpec `json:"ingress,omitempty"` // The global tracing configuration for all components. It can be overridden by the tracing configuration of individual component. // +optional Tracing *TracingSpec `json:"tracing,omitempty"` // ConfigMergeStrategy is the strategy for merging the input config with the config that generated by the operator. // +optional ConfigMergeStrategy ConfigMergeStrategy `json:"configMergeStrategy,omitempty"` }
GreptimeDBClusterSpec defines the desired state of GreptimeDBCluster
func (*GreptimeDBClusterSpec) DeepCopy ¶
func (in *GreptimeDBClusterSpec) DeepCopy() *GreptimeDBClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GreptimeDBClusterSpec.
func (*GreptimeDBClusterSpec) DeepCopyInto ¶
func (in *GreptimeDBClusterSpec) DeepCopyInto(out *GreptimeDBClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GreptimeDBClusterStatus ¶
type GreptimeDBClusterStatus struct { // Frontend is the status of frontend node. // +optional Frontend FrontendStatus `json:"frontend,omitempty"` // Meta is the status of meta node. // +optional Meta MetaStatus `json:"meta,omitempty"` // Datanode is the status of datanode node. // +optional Datanode DatanodeStatus `json:"datanode,omitempty"` // Flownode is the status of flownode node. // +optional Flownode FlownodeStatus `json:"flownode,omitempty"` // The status of the monitoring service. // +optional Monitoring MonitoringStatus `json:"monitoring,omitempty"` // Version is the version of greptimedb. // +optional Version string `json:"version,omitempty"` // ClusterPhase is the phase of the greptimedb cluster. // +optional ClusterPhase Phase `json:"clusterPhase,omitempty"` // Conditions is an array of current conditions. // +optional Conditions []Condition `json:"conditions,omitempty"` // ObservedGeneration is the last observed generation. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` }
GreptimeDBClusterStatus defines the observed state of GreptimeDBCluster
func (*GreptimeDBClusterStatus) DeepCopy ¶
func (in *GreptimeDBClusterStatus) DeepCopy() *GreptimeDBClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GreptimeDBClusterStatus.
func (*GreptimeDBClusterStatus) DeepCopyInto ¶
func (in *GreptimeDBClusterStatus) DeepCopyInto(out *GreptimeDBClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GreptimeDBClusterStatus) GetCondition ¶
func (in *GreptimeDBClusterStatus) GetCondition(conditionType ConditionType) *Condition
func (*GreptimeDBClusterStatus) SetCondition ¶
func (in *GreptimeDBClusterStatus) SetCondition(condition Condition)
type GreptimeDBStandalone ¶
type GreptimeDBStandalone struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec is the specification of the desired state of the GreptimeDBStandalone. Spec GreptimeDBStandaloneSpec `json:"spec,omitempty"` // Status is the most recently observed status of the GreptimeDBStandalone. Status GreptimeDBStandaloneStatus `json:"status,omitempty"` }
GreptimeDBStandalone is the Schema for the greptimedbstandalones API
func (*GreptimeDBStandalone) Check ¶
Check checks the GreptimeDBStandalone with other resources and returns an error if it is invalid.
func (*GreptimeDBStandalone) DeepCopy ¶
func (in *GreptimeDBStandalone) DeepCopy() *GreptimeDBStandalone
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GreptimeDBStandalone.
func (*GreptimeDBStandalone) DeepCopyInto ¶
func (in *GreptimeDBStandalone) DeepCopyInto(out *GreptimeDBStandalone)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GreptimeDBStandalone) DeepCopyObject ¶
func (in *GreptimeDBStandalone) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GreptimeDBStandalone) GetBaseMainContainer ¶
func (in *GreptimeDBStandalone) GetBaseMainContainer() *MainContainerSpec
func (*GreptimeDBStandalone) GetConfig ¶
func (in *GreptimeDBStandalone) GetConfig() string
func (*GreptimeDBStandalone) GetDataHome ¶
func (in *GreptimeDBStandalone) GetDataHome() string
func (*GreptimeDBStandalone) GetDatanodeFileStorage ¶
func (in *GreptimeDBStandalone) GetDatanodeFileStorage() *FileStorage
func (*GreptimeDBStandalone) GetLogging ¶
func (in *GreptimeDBStandalone) GetLogging() *LoggingSpec
func (*GreptimeDBStandalone) GetObjectStorageProvider ¶
func (in *GreptimeDBStandalone) GetObjectStorageProvider() *ObjectStorageProviderSpec
func (*GreptimeDBStandalone) GetPrometheusMonitor ¶
func (in *GreptimeDBStandalone) GetPrometheusMonitor() *PrometheusMonitorSpec
func (*GreptimeDBStandalone) GetSlowQuery ¶ added in v0.3.0
func (in *GreptimeDBStandalone) GetSlowQuery() *SlowQuery
func (*GreptimeDBStandalone) GetTLS ¶
func (in *GreptimeDBStandalone) GetTLS() *TLSSpec
func (*GreptimeDBStandalone) GetTracing ¶ added in v0.4.3
func (in *GreptimeDBStandalone) GetTracing() *TracingSpec
func (*GreptimeDBStandalone) GetVersion ¶
func (in *GreptimeDBStandalone) GetVersion() string
func (*GreptimeDBStandalone) GetWALDir ¶
func (in *GreptimeDBStandalone) GetWALDir() string
func (*GreptimeDBStandalone) GetWALProvider ¶
func (in *GreptimeDBStandalone) GetWALProvider() *WALProviderSpec
func (*GreptimeDBStandalone) SetDefaults ¶
func (in *GreptimeDBStandalone) SetDefaults() error
func (*GreptimeDBStandalone) SetupWebhookWithManager ¶ added in v0.2.0
func (r *GreptimeDBStandalone) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*GreptimeDBStandalone) Validate ¶
func (in *GreptimeDBStandalone) Validate() error
Validate checks the GreptimeDBStandalone and returns an error if it is invalid.
func (*GreptimeDBStandalone) ValidateCreate ¶ added in v0.2.0
func (r *GreptimeDBStandalone) ValidateCreate(_ context.Context, obj runtime.Object) (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*GreptimeDBStandalone) ValidateDelete ¶ added in v0.2.0
func (r *GreptimeDBStandalone) ValidateDelete(_ context.Context, _ runtime.Object) (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*GreptimeDBStandalone) ValidateUpdate ¶ added in v0.2.0
func (r *GreptimeDBStandalone) ValidateUpdate(_ context.Context, oldObj, newObj runtime.Object) (admission.Warnings, error)
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type GreptimeDBStandaloneList ¶
type GreptimeDBStandaloneList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []GreptimeDBStandalone `json:"items"` }
GreptimeDBStandaloneList contains a list of GreptimeDBStandalone
func (*GreptimeDBStandaloneList) DeepCopy ¶
func (in *GreptimeDBStandaloneList) DeepCopy() *GreptimeDBStandaloneList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GreptimeDBStandaloneList.
func (*GreptimeDBStandaloneList) DeepCopyInto ¶
func (in *GreptimeDBStandaloneList) DeepCopyInto(out *GreptimeDBStandaloneList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GreptimeDBStandaloneList) DeepCopyObject ¶
func (in *GreptimeDBStandaloneList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GreptimeDBStandaloneSpec ¶
type GreptimeDBStandaloneSpec struct { // Base is the base pod template for all components and can be overridden by template of individual component. // +optional Base *PodTemplateSpec `json:"base,omitempty"` // Service is the service configuration of greptimedb. // +optional Service *ServiceSpec `json:"service,omitempty"` // The TLS configurations of the greptimedb. // +optional TLS *TLSSpec `json:"tls,omitempty"` // HTTPPort is the port of the greptimedb http service. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 // +optional HTTPPort int32 `json:"httpPort,omitempty"` // RPCPort is the port of the greptimedb rpc service. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 // +optional RPCPort int32 `json:"rpcPort,omitempty"` // MySQLPort is the port of the greptimedb mysql service. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 // +optional MySQLPort int32 `json:"mysqlPort,omitempty"` // PostgreSQLPort is the port of the greptimedb postgresql service. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 // +optional PostgreSQLPort int32 `json:"postgreSQLPort,omitempty"` // PrometheusMonitor is the specification for creating PodMonitor or ServiceMonitor. // +optional PrometheusMonitor *PrometheusMonitorSpec `json:"prometheusMonitor,omitempty"` // Version is the version of the greptimedb. // +optional Version string `json:"version,omitempty"` // Initializer is the init container to set up components configurations before running the container. // +optional Initializer *InitializerSpec `json:"initializer,omitempty"` // ObjectStorageProvider is the storage provider for the greptimedb cluster. // +optional ObjectStorageProvider *ObjectStorageProviderSpec `json:"objectStorage,omitempty"` // DatanodeStorage is the default file storage of the datanode. For example, WAL, cache, index etc. // +optional DatanodeStorage *DatanodeStorageSpec `json:"datanodeStorage,omitempty"` // WALProvider is the WAL provider for the greptimedb cluster. // +optional WALProvider *WALProviderSpec `json:"wal,omitempty"` // The content of the configuration file of the component in TOML format. // +optional Config string `json:"config,omitempty"` // Logging defines the logging configuration for the component. // +optional Logging *LoggingSpec `json:"logging,omitempty"` // RollingUpdate is the rolling update configuration. We always use `RollingUpdate` strategy. // +optional RollingUpdate *appsv1.RollingUpdateStatefulSetStrategy `json:"rollingUpdate,omitempty"` // SlowQuery is the slow query configuration. // +optional SlowQuery *SlowQuery `json:"slowQuery,omitempty"` // Tracing defines the tracing configuration for the component. // +optional Tracing *TracingSpec `json:"tracing,omitempty"` // ConfigMergeStrategy is the strategy for merging the input config with the config that generated by the operator. // +optional ConfigMergeStrategy ConfigMergeStrategy `json:"configMergeStrategy,omitempty"` }
GreptimeDBStandaloneSpec defines the desired state of GreptimeDBStandalone
func (*GreptimeDBStandaloneSpec) DeepCopy ¶
func (in *GreptimeDBStandaloneSpec) DeepCopy() *GreptimeDBStandaloneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GreptimeDBStandaloneSpec.
func (*GreptimeDBStandaloneSpec) DeepCopyInto ¶
func (in *GreptimeDBStandaloneSpec) DeepCopyInto(out *GreptimeDBStandaloneSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GreptimeDBStandaloneStatus ¶
type GreptimeDBStandaloneStatus struct { // Version is the version of the greptimedb. // +optional Version string `json:"version,omitempty"` // StandalonePhase is the phase of the greptimedb standalone. // +optional StandalonePhase Phase `json:"standalonePhase,omitempty"` // Conditions represent the latest available observations of an object's current state. // +optional Conditions []Condition `json:"conditions,omitempty"` // ObservedGeneration is the most recent generation observed for this GreptimeDBStandalone. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` }
GreptimeDBStandaloneStatus defines the observed state of GreptimeDBStandalone
func (*GreptimeDBStandaloneStatus) DeepCopy ¶
func (in *GreptimeDBStandaloneStatus) DeepCopy() *GreptimeDBStandaloneStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GreptimeDBStandaloneStatus.
func (*GreptimeDBStandaloneStatus) DeepCopyInto ¶
func (in *GreptimeDBStandaloneStatus) DeepCopyInto(out *GreptimeDBStandaloneStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GreptimeDBStandaloneStatus) GetCondition ¶
func (in *GreptimeDBStandaloneStatus) GetCondition(conditionType ConditionType) *Condition
func (*GreptimeDBStandaloneStatus) SetCondition ¶
func (in *GreptimeDBStandaloneStatus) SetCondition(condition Condition)
type IngressBackend ¶ added in v0.2.1
type IngressBackend struct { // Name is the referenced frontend name. // +optional Name string `json:"name,omitempty"` // Path is matched against the path of an incoming request. // +optional Path string `json:"path,omitempty"` // PathType determines the interpretation of the path matching. // +optional PathType *networkingv1.PathType `json:"pathType,omitempty"` }
IngressBackend defines the Ingress backend configuration.
func (*IngressBackend) DeepCopy ¶ added in v0.2.1
func (in *IngressBackend) DeepCopy() *IngressBackend
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressBackend.
func (*IngressBackend) DeepCopyInto ¶ added in v0.2.1
func (in *IngressBackend) DeepCopyInto(out *IngressBackend)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressRule ¶ added in v0.2.1
type IngressRule struct { // Host is the fully qualified domain name of a network host. // +optional Host string `json:"host,omitempty"` // IngressBackend is the Ingress backend configuration. // +optional IngressBackend []IngressBackend `json:"backends,omitempty"` }
IngressRule defines the Ingress rule configuration.
func (*IngressRule) DeepCopy ¶ added in v0.2.1
func (in *IngressRule) DeepCopy() *IngressRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressRule.
func (*IngressRule) DeepCopyInto ¶ added in v0.2.1
func (in *IngressRule) DeepCopyInto(out *IngressRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressSpec ¶ added in v0.2.1
type IngressSpec struct { // Annotations is the annotations for the ingress. // +optional Annotations map[string]string `json:"annotations,omitempty"` // Labels is the labels for the ingress. // +optional Labels map[string]string `json:"labels,omitempty"` // IngressClassName is the name of an IngressClass. // +optional IngressClassName *string `json:"ingressClassName,omitempty"` // IngressRule is a list of host rules used to configure the Ingress. // +optional Rules []IngressRule `json:"rules,omitempty"` // TLS is the Ingress TLS configuration. // +optional TLS []networkingv1.IngressTLS `json:"tls,omitempty"` }
IngressSpec defines the Ingress configuration.
func (*IngressSpec) DeepCopy ¶ added in v0.2.1
func (in *IngressSpec) DeepCopy() *IngressSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressSpec.
func (*IngressSpec) DeepCopyInto ¶ added in v0.2.1
func (in *IngressSpec) DeepCopyInto(out *IngressSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InitializerSpec ¶
type InitializerSpec struct { // The image of the initializer. // +optional Image string `json:"image,omitempty"` }
InitializerSpec is the init container to set up components configurations before running the container.
func (*InitializerSpec) DeepCopy ¶
func (in *InitializerSpec) DeepCopy() *InitializerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitializerSpec.
func (*InitializerSpec) DeepCopyInto ¶
func (in *InitializerSpec) DeepCopyInto(out *InitializerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KafkaWAL ¶
type KafkaWAL struct { // BrokerEndpoints is the list of Kafka broker endpoints. // +required BrokerEndpoints []string `json:"brokerEndpoints"` }
KafkaWAL is the specification for Kafka remote WAL.
func (*KafkaWAL) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaWAL.
func (*KafkaWAL) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KafkaWAL) GetBrokerEndpoints ¶
type LogPipeline ¶ added in v0.1.1
type LogPipeline struct { // The content of the pipeline configuration file in YAML format. // +optional Data string `json:"data,omitempty"` }
LogPipeline is the specification for log pipeline.
func (*LogPipeline) DeepCopy ¶ added in v0.1.1
func (in *LogPipeline) DeepCopy() *LogPipeline
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogPipeline.
func (*LogPipeline) DeepCopyInto ¶ added in v0.1.1
func (in *LogPipeline) DeepCopyInto(out *LogPipeline)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LogPipeline) GetData ¶ added in v0.1.1
func (in *LogPipeline) GetData() string
type LoggingLevel ¶
type LoggingLevel string
LoggingLevel is the level of the logging.
const ( // LoggingLevelInfo is the `info` level of the logging. LoggingLevelInfo LoggingLevel = "info" // LoggingLevelError is the `error` level of the logging. LoggingLevelError LoggingLevel = "error" // LoggingLevelWarn is the `warn` level of the logging. LoggingLevelWarn LoggingLevel = "warn" // LoggingLevelDebug is the `debug` level of the logging. LoggingLevelDebug LoggingLevel = "debug" )
type LoggingSpec ¶
type LoggingSpec struct { // Level is the level of the logging. // +optional // +kubebuilder:validation:Enum:={"info", "error", "warn", "debug"} Level LoggingLevel `json:"level,omitempty"` // Filters is the filters of the logging. // User can use [EnvFilter](https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html) to filter the logging. // We can use `target[span{field=value}]=level` to filter the logging by target and span field. // For example, "mito2=debug" will filter the logging of target `mito2` to `debug` level. // +optional Filters []string `json:"filters,omitempty"` // LogsDir is the directory path of the logs. // +optional LogsDir string `json:"logsDir,omitempty"` // PersistentWithData indicates whether to persist the log with the datanode data storage. It **ONLY** works for the datanode component. // If false, the log will be stored in ephemeral storage. // +optional PersistentWithData *bool `json:"persistentWithData,omitempty"` // OnlyLogToStdout indicates whether to only log to stdout. If true, the log will not be stored in the storage even if the storage is configured. // +optional OnlyLogToStdout *bool `json:"onlyLogToStdout,omitempty"` // Format is the format of the logging. // +optional // +kubebuilder:validation:Enum:={"json", "text"} Format LogFormat `json:"format,omitempty"` }
LoggingSpec defines the logging configuration for the component.
func (*LoggingSpec) DeepCopy ¶
func (in *LoggingSpec) DeepCopy() *LoggingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoggingSpec.
func (*LoggingSpec) DeepCopyInto ¶
func (in *LoggingSpec) DeepCopyInto(out *LoggingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LoggingSpec) GetLevel ¶
func (in *LoggingSpec) GetLevel() LoggingLevel
func (*LoggingSpec) GetLogsDir ¶
func (in *LoggingSpec) GetLogsDir() string
func (*LoggingSpec) IsOnlyLogToStdout ¶
func (in *LoggingSpec) IsOnlyLogToStdout() bool
func (*LoggingSpec) IsPersistentWithData ¶
func (in *LoggingSpec) IsPersistentWithData() bool
type LogsCollectionSpec ¶ added in v0.1.1
type LogsCollectionSpec struct { // The specification of the log pipeline. // +optional Pipeline *LogPipeline `json:"pipeline,omitempty"` }
LogsCollectionSpec is the specification for cluster logs collection.
func (*LogsCollectionSpec) DeepCopy ¶ added in v0.1.1
func (in *LogsCollectionSpec) DeepCopy() *LogsCollectionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogsCollectionSpec.
func (*LogsCollectionSpec) DeepCopyInto ¶ added in v0.1.1
func (in *LogsCollectionSpec) DeepCopyInto(out *LogsCollectionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LogsCollectionSpec) GetPipeline ¶ added in v0.1.1
func (in *LogsCollectionSpec) GetPipeline() *LogPipeline
type MainContainerSpec ¶
type MainContainerSpec struct { // The main container image name of the component. // +optional Image string `json:"image,omitempty"` // The resource requirements of the main container. // +optional Resources corev1.ResourceRequirements `json:"resources,omitempty"` // Entrypoint array. Not executed within a shell. // The container image's ENTRYPOINT is used if this is not provided. // Variable references `$(VAR_NAME)` are expanded using the container's environment. If a variable // cannot be resolved, the reference in the input string will be unchanged. Double `$$` are reduced // to a single `$`, which allows for escaping the `$(VAR_NAME)` syntax: i.e. `$$(VAR_NAME)` will // produce the string literal `$(VAR_NAME)`. Escaped references will never be expanded, regardless // of whether the variable exists or not. Cannot be updated. // More info: `https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell` // Command field is from `corev1.Container.Command`. // +optional Command []string `json:"command,omitempty"` // Arguments to the entrypoint. // The container image's CMD is used if this is not provided. // Variable references `$(VAR_NAME)` are expanded using the container's environment. If a variable // cannot be resolved, the reference in the input string will be unchanged. Double `$$` are reduced // to a single `$`, which allows for escaping the `$(VAR_NAME)` syntax: i.e. `$$(VAR_NAME)` will // produce the string literal `$(VAR_NAME)`. Escaped references will never be expanded, regardless // of whether the variable exists or not. Cannot be updated. // More info: `https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell` // Args field is from `corev1.Container.Args`. // +optional Args []string `json:"args,omitempty"` // ExtraArgs specifies additional command-line arguments for the container entrypoint. // These arguments will be appended to the default command line. // +optional ExtraArgs []string `json:"extraArgs,omitempty"` // Container's working directory. // If not specified, the container runtime's default will be used, which // might be configured in the container image. // Cannot be updated. // WorkingDir field is from `corev1.Container.WorkingDir`. // +optional WorkingDir string `json:"workingDir,omitempty"` // List of environment variables to set in the container. // Cannot be updated. // Env field is from `corev1.Container.Env`. // +optional Env []corev1.EnvVar `json:"env,omitempty"` // Periodic probe of container liveness. // Container will be restarted if the probe fails. // More info: `https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes` // LivenessProbe field is from `corev1.Container.LivenessProbe`. // +optional LivenessProbe *corev1.Probe `json:"livenessProbe,omitempty"` // Periodic probe of container service readiness. // Container will be removed from service endpoints if the probe fails. // ReadinessProbe field is from `corev1.Container.LivenessProbe`. // More info: `https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes` // +optional ReadinessProbe *corev1.Probe `json:"readinessProbe,omitempty"` // StartupProbe indicates that the Pod has successfully initialized. // If specified, no other probes are executed until this completes successfully. // If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. // This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, // when it might take a long time to load data or warm a cache, than during steady-state operation. // This cannot be updated. // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // +optional StartupProbe *corev1.Probe `json:"startupProbe,omitempty"` // Actions that the management system should take in response to container lifecycle events. // Cannot be updated. // Lifecycle field is from `corev1.Container.Lifecycle`. // +optional Lifecycle *corev1.Lifecycle `json:"lifecycle,omitempty"` // Image pull policy. // One of `Always`, `Never`, `IfNotPresent`. // Defaults to `Always` if `:latest` tag is specified, or IfNotPresent otherwise. // Cannot be updated. // More info: `https://kubernetes.io/docs/concepts/containers/images#updating-images` // ImagePullPolicy field is from `corev1.Container.ImagePullPolicy`. // +optional ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"` // Pod volumes to mount into the container's filesystem. // Cannot be updated. // +optional VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"` // SecurityContext holds container-level security attributes and common settings. // +optional SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"` }
MainContainerSpec describes the specification of the main container of a pod. Most of the fields of MainContainerSpec are from 'corev1.Container'.
func (*MainContainerSpec) DeepCopy ¶
func (in *MainContainerSpec) DeepCopy() *MainContainerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MainContainerSpec.
func (*MainContainerSpec) DeepCopyInto ¶
func (in *MainContainerSpec) DeepCopyInto(out *MainContainerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MainContainerSpec) GetImage ¶
func (in *MainContainerSpec) GetImage() string
type MetaSpec ¶
type MetaSpec struct { ComponentSpec `json:",inline"` // RPCPort is the gRPC port of the meta. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 // +optional RPCPort int32 `json:"rpcPort,omitempty"` // HTTPPort is the HTTP port of the meta. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 // +optional HTTPPort int32 `json:"httpPort,omitempty"` // BackendStorage is the specification for the backend storage for meta. // +optional BackendStorage *BackendStorage `json:"backendStorage,omitempty"` // EtcdEndpoints is the endpoints of the etcd cluster. // +optional // +kubebuilder:deprecatedversion:warning="EtcdEndpoints is deprecated and will be removed in a future version. Please use BackendStorage instead." EtcdEndpoints []string `json:"etcdEndpoints,omitempty"` // EnableCheckEtcdService indicates whether to check etcd cluster health when starting meta. // +optional // +kubebuilder:deprecatedversion:warning="EnableCheckEtcdService is deprecated and will be removed in a future version. Please use BackendStorage instead." EnableCheckEtcdService bool `json:"enableCheckEtcdService,omitempty"` // EnableRegionFailover indicates whether to enable region failover. // +optional EnableRegionFailover *bool `json:"enableRegionFailover,omitempty"` // StoreKeyPrefix is the prefix of the key in the etcd. We can use it to isolate the data of different clusters. // +optional // +kubebuilder:deprecatedversion:warning="StoreKeyPrefix is deprecated and will be removed in a future version. Please use BackendStorage instead." StoreKeyPrefix string `json:"storeKeyPrefix,omitempty"` // RollingUpdate is the rolling update configuration. We always use `RollingUpdate` strategyt. // +optional RollingUpdate *appsv1.RollingUpdateDeployment `json:"rollingUpdate,omitempty"` }
MetaSpec is the specification for meta component.
func (*MetaSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetaSpec.
func (*MetaSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MetaSpec) GetBackendStorage ¶ added in v0.3.0
func (in *MetaSpec) GetBackendStorage() *BackendStorage
func (*MetaSpec) GetEtcdEndpoints ¶
func (*MetaSpec) GetLogging ¶
func (in *MetaSpec) GetLogging() *LoggingSpec
func (*MetaSpec) GetReplicas ¶ added in v0.2.2
func (*MetaSpec) GetRoleKind ¶ added in v0.3.0
GetRoleKind returns the role kind.
func (*MetaSpec) GetStoreKeyPrefix ¶
func (*MetaSpec) GetTracing ¶ added in v0.4.3
func (in *MetaSpec) GetTracing() *TracingSpec
func (*MetaSpec) IsEnableCheckEtcdService ¶
func (*MetaSpec) IsEnableRegionFailover ¶
type MetaStatus ¶
type MetaStatus struct { // Replicas is the number of replicas of the meta. Replicas int32 `json:"replicas"` // ReadyReplicas is the number of ready replicas of the meta. ReadyReplicas int32 `json:"readyReplicas"` // EtcdEndpoints is the endpoints of the etcd cluster. // +optional EtcdEndpoints []string `json:"etcdEndpoints,omitempty"` // MaintenanceMode is the maintenance mode of the meta. MaintenanceMode bool `json:"maintenanceMode"` }
MetaStatus is the status of meta node.
func (*MetaStatus) DeepCopy ¶
func (in *MetaStatus) DeepCopy() *MetaStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetaStatus.
func (*MetaStatus) DeepCopyInto ¶
func (in *MetaStatus) DeepCopyInto(out *MetaStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonitoringSpec ¶ added in v0.1.1
type MonitoringSpec struct { // Enabled indicates whether to enable the monitoring service. // +required Enabled bool `json:"enabled"` // The specification of the standalone greptimedb instance. // +optional Standalone *GreptimeDBStandaloneSpec `json:"standalone,omitempty"` // The specification of cluster logs collection. // +optional LogsCollection *LogsCollectionSpec `json:"logsCollection,omitempty"` // The specification of the vector instance. // +optional Vector *VectorSpec `json:"vector,omitempty"` }
MonitoringSpec is the specification for monitor bootstrapping. It will create a standalone greptimedb instance to monitor the cluster.
func (*MonitoringSpec) DeepCopy ¶ added in v0.1.1
func (in *MonitoringSpec) DeepCopy() *MonitoringSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitoringSpec.
func (*MonitoringSpec) DeepCopyInto ¶ added in v0.1.1
func (in *MonitoringSpec) DeepCopyInto(out *MonitoringSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MonitoringSpec) GetLogsCollection ¶ added in v0.1.1
func (in *MonitoringSpec) GetLogsCollection() *LogsCollectionSpec
func (*MonitoringSpec) GetStandalone ¶ added in v0.1.1
func (in *MonitoringSpec) GetStandalone() *GreptimeDBStandaloneSpec
func (*MonitoringSpec) GetVector ¶ added in v0.1.1
func (in *MonitoringSpec) GetVector() *VectorSpec
func (*MonitoringSpec) IsEnabled ¶ added in v0.1.1
func (in *MonitoringSpec) IsEnabled() bool
type MonitoringStatus ¶ added in v0.1.1
type MonitoringStatus struct { // InternalDNSName is the internal DNS name of the monitoring service. For example, 'mycluster-standalone-monitor.default.svc.cluster.local'. // +optional InternalDNSName string `json:"internalDNSName,omitempty"` }
MonitoringStatus is the status of the monitoring service.
func (*MonitoringStatus) DeepCopy ¶ added in v0.1.1
func (in *MonitoringStatus) DeepCopy() *MonitoringStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitoringStatus.
func (*MonitoringStatus) DeepCopyInto ¶ added in v0.1.1
func (in *MonitoringStatus) DeepCopyInto(out *MonitoringStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MySQLStorage ¶ added in v0.3.0
type MySQLStorage struct { // Host is the host of the MySQL database. // +required Host string `json:"host"` // Port is the port of the MySQL database. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 Port int32 `json:"port"` // CredentialsSecretName is the name of the secret that contains the credentials for the MySQL database. // The secret must be in the same namespace with the greptime resource. // The secret must contain keys named `username` and `password`. // +required CredentialsSecretName string `json:"credentialsSecretName"` // Database is the name of the MySQL database. // +optional Database string `json:"database,omitempty"` // Table is the name of the MySQL table. // +optional Table string `json:"table,omitempty"` }
MySQLStorage is the specification for MySQL storage for meta.
func (*MySQLStorage) DeepCopy ¶ added in v0.3.0
func (in *MySQLStorage) DeepCopy() *MySQLStorage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLStorage.
func (*MySQLStorage) DeepCopyInto ¶ added in v0.3.0
func (in *MySQLStorage) DeepCopyInto(out *MySQLStorage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MySQLStorage) GetCredentialsSecretName ¶ added in v0.3.0
func (in *MySQLStorage) GetCredentialsSecretName() string
type OSSStorage ¶
type OSSStorage struct { // The data will be stored in the bucket. // +required Bucket string `json:"bucket"` // The region of the bucket. // +required Region string `json:"region"` // The secret of storing the credentials of access key id and access key secret. // The secret should contain keys named `access-key-id` and `access-key-secret`. // The secret must be the same namespace with the GreptimeDBCluster resource. // +optional SecretName string `json:"secretName,omitempty"` // The OSS directory path. // +required Root string `json:"root"` // The endpoint of the bucket. // +optional Endpoint string `json:"endpoint,omitempty"` }
OSSStorage defines the Aliyun OSS storage specification.
func (*OSSStorage) DeepCopy ¶
func (in *OSSStorage) DeepCopy() *OSSStorage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OSSStorage.
func (*OSSStorage) DeepCopyInto ¶
func (in *OSSStorage) DeepCopyInto(out *OSSStorage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OSSStorage) GetRoot ¶ added in v0.1.1
func (in *OSSStorage) GetRoot() string
func (*OSSStorage) GetSecretName ¶
func (in *OSSStorage) GetSecretName() string
type ObjectStorageProviderAccessor ¶
type ObjectStorageProviderAccessor interface { GetS3Storage() *S3Storage GetGCSStorage() *GCSStorage GetOSSStorage() *OSSStorage GetAZBlobStorage() *AZBlobStorage GetCacheFileStorage() *FileStorage GetCacheStorage() *CacheStorage }
ObjectStorageProviderAccessor is the interface that wraps the basic methods for the ObjectStorageProviderSpec. +kubebuilder:object:generate=false
type ObjectStorageProviderSpec ¶
type ObjectStorageProviderSpec struct { // S3 is the AWS S3 storage configuration. // +optional S3 *S3Storage `json:"s3,omitempty"` // OSS is the Aliyun OSS storage configuration. // +optional OSS *OSSStorage `json:"oss,omitempty"` // GCS is the Google cloud storage configuration. // +optional GCS *GCSStorage `json:"gcs,omitempty"` // AZBlob is the Azure Blob storage configuration. // +optional AZBlob *AZBlobStorage `json:"azblob,omitempty"` // Cache is the cache storage configuration for object storage. // +optional Cache *CacheStorage `json:"cache,omitempty"` }
ObjectStorageProviderSpec defines the object storage provider for the cluster. The data will be stored in the storage.
func (*ObjectStorageProviderSpec) DeepCopy ¶
func (in *ObjectStorageProviderSpec) DeepCopy() *ObjectStorageProviderSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectStorageProviderSpec.
func (*ObjectStorageProviderSpec) DeepCopyInto ¶
func (in *ObjectStorageProviderSpec) DeepCopyInto(out *ObjectStorageProviderSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ObjectStorageProviderSpec) GetAZBlobStorage ¶ added in v0.1.3
func (in *ObjectStorageProviderSpec) GetAZBlobStorage() *AZBlobStorage
func (*ObjectStorageProviderSpec) GetCacheFileStorage ¶
func (in *ObjectStorageProviderSpec) GetCacheFileStorage() *FileStorage
func (*ObjectStorageProviderSpec) GetCacheStorage ¶ added in v0.2.1
func (in *ObjectStorageProviderSpec) GetCacheStorage() *CacheStorage
func (*ObjectStorageProviderSpec) GetGCSStorage ¶
func (in *ObjectStorageProviderSpec) GetGCSStorage() *GCSStorage
func (*ObjectStorageProviderSpec) GetOSSStorage ¶
func (in *ObjectStorageProviderSpec) GetOSSStorage() *OSSStorage
func (*ObjectStorageProviderSpec) GetS3Storage ¶
func (in *ObjectStorageProviderSpec) GetS3Storage() *S3Storage
type Phase ¶
type Phase string
Phase define the phase of the cluster or standalone.
const ( // PhaseStarting means the controller start to create cluster or standalone. PhaseStarting Phase = "Starting" // PhaseRunning means all the components of cluster or standalone is ready. PhaseRunning Phase = "Running" // PhaseUpdating means the cluster or standalone is updating. PhaseUpdating Phase = "Updating" // PhaseError means some kind of error happen in reconcile. PhaseError Phase = "Error" // PhaseTerminating means the cluster or standalone is terminating. PhaseTerminating Phase = "Terminating" )
type PodTemplateSpec ¶
type PodTemplateSpec struct { // The annotations to be created to the pod. // +optional Annotations map[string]string `json:"annotations,omitempty"` // The labels to be created to the pod. // +optional Labels map[string]string `json:"labels,omitempty"` // MainContainer defines the specification of the main container of the pod. // +optional MainContainer *MainContainerSpec `json:"main,omitempty"` // SlimPodSpec defines the desired behavior of the pod. // +optional SlimPodSpec `json:",inline"` }
PodTemplateSpec defines the template for a pod of cluster.
func (*PodTemplateSpec) DeepCopy ¶
func (in *PodTemplateSpec) DeepCopy() *PodTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodTemplateSpec.
func (*PodTemplateSpec) DeepCopyInto ¶
func (in *PodTemplateSpec) DeepCopyInto(out *PodTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgreSQLStorage ¶ added in v0.3.0
type PostgreSQLStorage struct { // Host is the host of the PostgreSQL database. // +required Host string `json:"host"` // Port is the port of the PostgreSQL database. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 Port int32 `json:"port"` // CredentialsSecretName is the name of the secret that contains the credentials for the PostgreSQL database. // The secret must be in the same namespace with the greptime resource. // The secret must contain keys named `username` and `password`. // +required CredentialsSecretName string `json:"credentialsSecretName"` // Database is the name of the PostgreSQL database. // +optional Database string `json:"database,omitempty"` // Table is the name of the PostgreSQL table. // +optional Table string `json:"table,omitempty"` // ElectionLockID it the lock id in PostgreSQL for election. ElectionLockID uint64 `json:"electionLockID,omitempty"` }
PostgreSQLStorage is the specification for PostgreSQL storage for meta.
func (*PostgreSQLStorage) DeepCopy ¶ added in v0.3.0
func (in *PostgreSQLStorage) DeepCopy() *PostgreSQLStorage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgreSQLStorage.
func (*PostgreSQLStorage) DeepCopyInto ¶ added in v0.3.0
func (in *PostgreSQLStorage) DeepCopyInto(out *PostgreSQLStorage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgreSQLStorage) GetCredentialsSecretName ¶ added in v0.3.0
func (in *PostgreSQLStorage) GetCredentialsSecretName() string
type PrometheusMonitorSpec ¶
type PrometheusMonitorSpec struct { // Enabled indicates whether the PodMonitor is enabled. // +required Enabled bool `json:"enabled"` // Labels is the labels for the PodMonitor. // +optional Labels map[string]string `json:"labels"` // Interval is the scape interval for the PodMonitor. // +optional Interval string `json:"interval,omitempty"` }
PrometheusMonitorSpec defines the PodMonitor configuration.
func (*PrometheusMonitorSpec) DeepCopy ¶
func (in *PrometheusMonitorSpec) DeepCopy() *PrometheusMonitorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusMonitorSpec.
func (*PrometheusMonitorSpec) DeepCopyInto ¶
func (in *PrometheusMonitorSpec) DeepCopyInto(out *PrometheusMonitorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PrometheusMonitorSpec) IsEnablePrometheusMonitor ¶
func (in *PrometheusMonitorSpec) IsEnablePrometheusMonitor() bool
type RaftEngineWAL ¶
type RaftEngineWAL struct { // FileStorage is the file storage configuration for the raft-engine WAL. // If the file storage is not specified, WAL will use DatanodeStorageSpec. // +optional FileStorage *FileStorage `json:"fs,omitempty"` }
RaftEngineWAL is the specification for local WAL that uses raft-engine.
func (*RaftEngineWAL) DeepCopy ¶
func (in *RaftEngineWAL) DeepCopy() *RaftEngineWAL
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RaftEngineWAL.
func (*RaftEngineWAL) DeepCopyInto ¶
func (in *RaftEngineWAL) DeepCopyInto(out *RaftEngineWAL)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RaftEngineWAL) GetFileStorage ¶
func (in *RaftEngineWAL) GetFileStorage() *FileStorage
type RoleKind ¶ added in v0.3.0
type RoleKind string
RoleKind is the role of the component in the cluster.
const ( // FrontendRoleKind is the frontend role. FrontendRoleKind RoleKind = "frontend" // DatanodeRoleKind is the datanode role. DatanodeRoleKind RoleKind = "datanode" // MetaRoleKind is the meta role. MetaRoleKind RoleKind = "meta" // FlownodeRoleKind is the flownode role. FlownodeRoleKind RoleKind = "flownode" // StandaloneRoleKind is the standalone role. StandaloneRoleKind RoleKind = "standalone" )
type RoleSpec ¶ added in v0.3.0
type RoleSpec interface { // GetName returns the spec name if it has. It will return empty string if the spec has no name. GetName() string // GetRoleKind returns the role kind. GetRoleKind() RoleKind }
RoleSpec is the interface for the role spec. +kubebuilder:object:generate=false
type S3Storage ¶
type S3Storage struct { // The data will be stored in the bucket. // +required Bucket string `json:"bucket"` // The region of the bucket. // +required Region string `json:"region"` // The secret of storing the credentials of access key id and secret access key. // The secret should contain keys named `access-key-id` and `secret-access-key`. // The secret must be the same namespace with the GreptimeDBCluster resource. // +optional SecretName string `json:"secretName,omitempty"` // The S3 directory path. // +required Root string `json:"root"` // The endpoint of the bucket. // +optional Endpoint string `json:"endpoint,omitempty"` // Enable virtual host style so that OpenDAL will send API requests in virtual host style instead of path style. // By default, OpenDAL will send API to 'https://s3.us-east-1.amazonaws.com/${BUCKET_NAME}'. // If EnableVirtualHostStyle is true, OpenDAL will send API to 'https://${BUCKET_NAME}.s3.us-east-1.amazonaws.com'. // +optional EnableVirtualHostStyle bool `json:"enableVirtualHostStyle,omitempty"` }
S3Storage defines the S3 storage specification.
func (*S3Storage) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3Storage.
func (*S3Storage) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*S3Storage) GetSecretName ¶
type ServiceSpec ¶
type ServiceSpec struct { // Type is the type of the service. // +optional Type corev1.ServiceType `json:"type,omitempty"` // Annotations is the annotations for the service. // +optional Annotations map[string]string `json:"annotations,omitempty"` // Labels is the labels for the service. // +optional Labels map[string]string `json:"labels,omitempty"` // LoadBalancerClass is the class of the load balancer. // +optional LoadBalancerClass *string `json:"loadBalancerClass,omitempty"` }
ServiceSpec defines the service configuration for the component.
func (*ServiceSpec) DeepCopy ¶
func (in *ServiceSpec) DeepCopy() *ServiceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceSpec.
func (*ServiceSpec) DeepCopyInto ¶
func (in *ServiceSpec) DeepCopyInto(out *ServiceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SlimPodSpec ¶
type SlimPodSpec struct { // NodeSelector is a selector which must be true for the pod to fit on a node. // Selector which must match a node's labels for the pod to be scheduled on that node. // More info: `https://kubernetes.io/docs/concepts/configuration/assign-pod-node/` // NodeSelector field is from `corev1.PodSpec.NodeSelector`. // +optional NodeSelector map[string]string `json:"nodeSelector,omitempty"` // List of initialization containers belonging to the pod. // Init containers are executed in order prior to containers being started. If any // init container fails, the pod is considered to have failed and is handled according // to its restartPolicy. The name for an init container or normal container must be // unique among all containers. // Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. // The resourceRequirements of an init container are taken into account during scheduling // by finding the highest request/limit for each resource type, and then using the max of // that value or the sum of the normal containers. Limits are applied to init containers // in a similar fashion. // Init containers cannot currently be added or removed. // Cannot be updated. // More info: `https://kubernetes.io/docs/concepts/workloads/pods/init-containers/` // InitContainers field is from `corev1.PodSpec.InitContainers`. // +optional InitContainers []corev1.Container `json:"initContainers,omitempty"` // Restart policy for all containers within the pod. // One of `Always`, `OnFailure`, `Never`. // Default to `Always`. // More info: `https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy` // RestartPolicy field is from `corev1.PodSpec.RestartPolicy`. // +optional RestartPolicy corev1.RestartPolicy `json:"restartPolicy,omitempty"` // Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. // Value must be non-negative integer. The value zero indicates stop immediately via // the kill signal (no opportunity to shut down). // If this value is nil, the default grace period will be used instead. // The grace period is the duration in seconds after the processes running in the pod are sent // a termination signal and the time when the processes are forcibly halted with a kill signal. // Set this value longer than the expected cleanup time for your process. // Defaults to 30 seconds. // TerminationGracePeriodSeconds field is from `corev1.PodSpec.TerminationGracePeriodSeconds`. // +optional TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty"` // Optional duration in seconds the pod may be active on the node relative to // StartTime before the system will actively try to mark it failed and kill associated containers. // Value must be a positive integer. // ActiveDeadlineSeconds field is from `corev1.PodSpec.ActiveDeadlineSeconds`. // +optional ActiveDeadlineSeconds *int64 `json:"activeDeadlineSeconds,omitempty"` // Set DNS policy for the pod. // Defaults to `ClusterFirst`. // Valid values are `ClusterFirstWithHostNet`, `ClusterFirst`, `Default` or `None`. // DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. // To have DNS options set along with hostNetwork, you have to specify DNS policy // explicitly to `ClusterFirstWithHostNet`. // DNSPolicy field is from `corev1.PodSpec.DNSPolicy`. // +optional DNSPolicy corev1.DNSPolicy `json:"dnsPolicy,omitempty"` // ServiceAccountName is the name of the ServiceAccount to use to run this pod. // More info: `https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/` // ServiceAccountName field is from `corev1.PodSpec.ServiceAccountName`. // +optional ServiceAccountName string `json:"serviceAccountName,omitempty"` // Host networking requested for this pod. Use the host's network namespace. // If this option is set, the ports that will be used must be specified. // Default to `false`. // HostNetwork field is from `corev1.PodSpec.HostNetwork`. // +optional HostNetwork bool `json:"hostNetwork,omitempty"` // ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. // If specified, these secrets will be passed to individual puller implementations for them to use. // More info: `https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod` // ImagePullSecrets field is from `corev1.PodSpec.ImagePullSecrets`. // +optional ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"` // If specified, the pod's scheduling constraints // Affinity field is from `corev1.PodSpec.Affinity`. // +optional Affinity *corev1.Affinity `json:"affinity,omitempty"` // If specified, the pod's tolerations. // +optional Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // If specified, the pod will be dispatched by specified scheduler. // If not specified, the pod will be dispatched by default scheduler. // SchedulerName field is from `corev1.PodSpec.SchedulerName`. // +optional SchedulerName string `json:"schedulerName,omitempty"` // For most time, there is one main container in a pod(`frontend`/`meta`/`datanode`/`flownode`). // If specified, additional containers will be added to the pod as sidecar containers. // +optional AdditionalContainers []corev1.Container `json:"additionalContainers,omitempty"` // List of volumes that can be mounted by containers belonging to the pod. // +optional Volumes []corev1.Volume `json:"volumes,omitempty"` // SecurityContext holds pod-level security attributes and common container settings. // +optional SecurityContext *corev1.PodSecurityContext `json:"securityContext,omitempty"` }
SlimPodSpec is a slimmed down version of corev1.PodSpec. Most of the fields in SlimPodSpec are copied from `corev1.PodSpec`.
func (*SlimPodSpec) DeepCopy ¶
func (in *SlimPodSpec) DeepCopy() *SlimPodSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SlimPodSpec.
func (*SlimPodSpec) DeepCopyInto ¶
func (in *SlimPodSpec) DeepCopyInto(out *SlimPodSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SlowQuery ¶ added in v0.1.3
type SlowQuery struct { // Enabled indicates whether the slow query is enabled. // +optional Enabled bool `json:"enabled,omitempty"` // RecordType is the type of the slow query record. Default to `system_table`. // +optional RecordType SlowQueryRecordType `json:"recordType,omitempty"` // Threshold is the threshold of the slow query. Default to `30s`. // +optional // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" Threshold string `json:"threshold,omitempty"` // SampleRatio is the sampling ratio of slow query log. The value should be in the range of (0, 1]. Default to `1.0`. // +optional // +kubebuilder:validation:Pattern=`^(0?\.\d+|1(\.0+)?)$` // +kubebuilder:validation:Type=string SampleRatio string `json:"sampleRatio,omitempty"` // TTL is the TTL of the slow query log. Default to `90d`. // +optional // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h|d))+$" TTL string `json:"ttl,omitempty"` }
SlowQuery defines the slow query configuration.
func (*SlowQuery) DeepCopy ¶ added in v0.1.3
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SlowQuery.
func (*SlowQuery) DeepCopyInto ¶ added in v0.1.3
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SlowQueryRecordType ¶ added in v0.3.0
type SlowQueryRecordType string
const ( // SlowQueryRecordTypeSystemTable is the type of the slow query record. SlowQueryRecordTypeSystemTable SlowQueryRecordType = "system_table" // SlowQueryRecordTypeLog is the type of the slow query record. SlowQueryRecordTypeLog SlowQueryRecordType = "log" )
type StorageRetainPolicyType ¶
type StorageRetainPolicyType string
StorageRetainPolicyType is the type of the storage retain policy.
const ( // StorageRetainPolicyTypeRetain is the default options. // The storage(PVCs) will be retained when the cluster is deleted. StorageRetainPolicyTypeRetain StorageRetainPolicyType = "Retain" // StorageRetainPolicyTypeDelete specify that the storage will be deleted when the associated StatefulSet delete. StorageRetainPolicyTypeDelete StorageRetainPolicyType = "Delete" )
type TLSSpec ¶
type TLSSpec struct { // SecretName is the name of the secret that contains the TLS certificates. // The secret must be in the same namespace with the greptime resource. // The secret must contain keys named `tls.crt` and `tls.key`. // +required SecretName string `json:"secretName"` }
TLSSpec defines the TLS configurations for the component.
func (*TLSSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSSpec.
func (*TLSSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TLSSpec) GetSecretName ¶
type TracingSpec ¶ added in v0.4.3
type TracingSpec struct { // Enabled indicates whether to enable OTLP tracing. // +optional Enabled *bool `json:"enabled,omitempty"` // Endpoint it the OTLP tracing endpoint. // +optional Endpoint string `json:"endpoint,omitempty"` // SampleRatio is the percentage of tracing will be sampled and exported. // Valid range `[0, 1]`, 1 means all traces are sampled, 0 means all traces are not sampled, the default value is 1. SampleRatio string `json:"sampleRatio,omitempty"` }
TracingSpec defines the tracing configuration for the component.
func (*TracingSpec) DeepCopy ¶ added in v0.4.3
func (in *TracingSpec) DeepCopy() *TracingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TracingSpec.
func (*TracingSpec) DeepCopyInto ¶ added in v0.4.3
func (in *TracingSpec) DeepCopyInto(out *TracingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VectorSpec ¶ added in v0.1.1
type VectorSpec struct { // The image of the vector instance. // +optional Image string `json:"image,omitempty"` // The resources of the vector instance. // +optional Resources corev1.ResourceRequirements `json:"resources,omitempty"` }
VectorSpec is the specification for vector instance.
func (*VectorSpec) DeepCopy ¶ added in v0.1.1
func (in *VectorSpec) DeepCopy() *VectorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VectorSpec.
func (*VectorSpec) DeepCopyInto ¶ added in v0.1.1
func (in *VectorSpec) DeepCopyInto(out *VectorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WALProviderSpec ¶
type WALProviderSpec struct { // RaftEngineWAL is the specification for local WAL that uses raft-engine. // +optional RaftEngineWAL *RaftEngineWAL `json:"raftEngine,omitempty"` // KafkaWAL is the specification for remote WAL that uses Kafka. // +optional KafkaWAL *KafkaWAL `json:"kafka,omitempty"` }
WALProviderSpec defines the WAL provider for the cluster.
func (*WALProviderSpec) DeepCopy ¶
func (in *WALProviderSpec) DeepCopy() *WALProviderSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WALProviderSpec.
func (*WALProviderSpec) DeepCopyInto ¶
func (in *WALProviderSpec) DeepCopyInto(out *WALProviderSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WALProviderSpec) GetKafkaWAL ¶
func (in *WALProviderSpec) GetKafkaWAL() *KafkaWAL
func (*WALProviderSpec) GetRaftEngineWAL ¶
func (in *WALProviderSpec) GetRaftEngineWAL() *RaftEngineWAL