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
- func (in *FrontendSpec) ShouldInjectObjectStorage() bool
- 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. 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. // It's the default strategy. 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.2
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.2
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.2
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"`
// EnableObjectStorage indicates whether to inject object storage configurations into frontend instances.
// If true, the object storage configurations from the cluster will be injected into the frontend config.
// Default to false.
// +optional
EnableObjectStorage *bool `json:"enableObjectStorage,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.2
func (in *FrontendSpec) GetTracing() *TracingSpec
func (*FrontendSpec) ShouldInjectObjectStorage ¶ added in v0.5.3
func (in *FrontendSpec) ShouldInjectObjectStorage() bool
ShouldInjectObjectStorage returns whether object storage configurations should be injected into frontend instances.
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.2
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.2
func (in *GreptimeDBCluster) MergeWithBaseTemplate() error
MergeWithBaseTemplate merges the base template with the component's template.
func (*GreptimeDBCluster) MergeWithGlobalLogging ¶ added in v0.4.2
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.2
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.2
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"`
// The number of replicas of the standalone.
// +optional
// +kubebuilder:validation:Enum:={0, 1}
Replicas *int32 `json:"replicas,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 {
// Replicas is the number of replicas of the standalone.
Replicas int32 `json:"replicas"`
// ReadyReplicas is the number of ready replicas of the standalone.
ReadyReplicas int32 `json:"readyReplicas"`
// 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.2
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.2
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.2
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.2
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