Documentation ¶
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type AZBlobStorage
- type CacheStorage
- type ComponentKind
- type ComponentSpec
- type Condition
- type ConditionType
- type DatanodeSpec
- type DatanodeStatus
- type DatanodeStorageSpec
- type FileStorage
- func (in *FileStorage) DeepCopy() *FileStorage
- func (in *FileStorage) DeepCopyInto(out *FileStorage)
- 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
- type FileStorageAccessor
- type FlownodeSpec
- type FlownodeStatus
- type FrontendSpec
- 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) GetFlownode() *FlownodeSpec
- func (in *GreptimeDBCluster) GetFrontend() *FrontendSpec
- 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) GetVersion() string
- func (in *GreptimeDBCluster) GetWALDir() string
- func (in *GreptimeDBCluster) GetWALProvider() *WALProviderSpec
- func (in *GreptimeDBCluster) MergeLogging() error
- func (in *GreptimeDBCluster) MergeTemplate() error
- func (in *GreptimeDBCluster) SetDefaults() error
- func (in *GreptimeDBCluster) Validate() 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) GetTLS() *TLSSpec
- func (in *GreptimeDBStandalone) GetVersion() string
- func (in *GreptimeDBStandalone) GetWALDir() string
- func (in *GreptimeDBStandalone) GetWALProvider() *WALProviderSpec
- func (in *GreptimeDBStandalone) SetDefaults() error
- func (in *GreptimeDBStandalone) Validate() 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 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) GetConfig() string
- func (in *MetaSpec) GetEtcdEndpoints() []string
- func (in *MetaSpec) GetLogging() *LoggingSpec
- func (in *MetaSpec) GetStoreKeyPrefix() string
- 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 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) GetGCSStorage() *GCSStorage
- func (in *ObjectStorageProviderSpec) GetOSSStorage() *OSSStorage
- func (in *ObjectStorageProviderSpec) GetS3Storage() *S3Storage
- type Phase
- type PodTemplateSpec
- type PrometheusMonitorSpec
- type RaftEngineWAL
- type S3Storage
- type ServiceSpec
- type SlimPodSpec
- type SlowQuery
- type StorageRetainPolicyType
- type TLSSpec
- 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" )
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" // 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" )
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 ¶
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 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.
type ComponentKind ¶
type ComponentKind string
ComponentKind is the kind of the component in the cluster.
const ( // FrontendComponentKind is the frontend component kind. FrontendComponentKind ComponentKind = "frontend" // DatanodeComponentKind is the datanode component kind. DatanodeComponentKind ComponentKind = "datanode" // MetaComponentKind is the meta component kind. MetaComponentKind ComponentKind = "meta" // FlownodeComponentKind is the flownode component kind. FlownodeComponentKind ComponentKind = "flownode" // StandaloneKind is the standalone component kind. StandaloneKind ComponentKind = "standalone" )
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"` }
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 DatanodeSpec ¶
type DatanodeSpec struct { ComponentSpec `json:",inline"` // 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
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 FileStorage ¶
type FileStorage struct { // Name is the name of the PVC that will be created. // +optional Name string `json:"name,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"` }
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) 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
type FileStorageAccessor ¶
type FileStorageAccessor interface { GetName() string GetStorageClassName() *string GetSize() string GetMountPath() string GetPolicy() StorageRetainPolicyType }
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"` // 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
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"` // 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"` // 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"` }
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) GetService ¶
func (in *FrontendSpec) GetService() *ServiceSpec
func (*FrontendSpec) GetTLS ¶
func (in *FrontendSpec) GetTLS() *TLSSpec
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) GetFlownode ¶
func (in *GreptimeDBCluster) GetFlownode() *FlownodeSpec
func (*GreptimeDBCluster) GetFrontend ¶
func (in *GreptimeDBCluster) GetFrontend() *FrontendSpec
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) GetVersion ¶
func (in *GreptimeDBCluster) GetVersion() string
func (*GreptimeDBCluster) GetWALDir ¶
func (in *GreptimeDBCluster) GetWALDir() string
func (*GreptimeDBCluster) GetWALProvider ¶
func (in *GreptimeDBCluster) GetWALProvider() *WALProviderSpec
func (*GreptimeDBCluster) MergeLogging ¶ added in v0.1.1
func (in *GreptimeDBCluster) MergeLogging() error
MergeLogging merges the logging settings into the component's logging settings.
func (*GreptimeDBCluster) MergeTemplate ¶ added in v0.1.1
func (in *GreptimeDBCluster) MergeTemplate() error
MergeTemplate merges the base template with the component's template.
func (*GreptimeDBCluster) SetDefaults ¶
func (in *GreptimeDBCluster) SetDefaults() error
SetDefaults sets the default values for the GreptimeDBCluster.
func (*GreptimeDBCluster) Validate ¶
func (in *GreptimeDBCluster) Validate() error
Validate checks the GreptimeDBCluster and returns an error if it is invalid.
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"` // Flownode is the specification of flownode node. // +optional Flownode *FlownodeSpec `json:"flownode,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"` }
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) GetTLS ¶
func (in *GreptimeDBStandalone) GetTLS() *TLSSpec
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) Validate ¶
func (in *GreptimeDBStandalone) Validate() error
Validate checks the GreptimeDBStandalone and returns an error if it is invalid.
type GreptimeDBStandaloneList ¶
type GreptimeDBStandaloneList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []GreptimeDBStandalone `json:"items"` }
GreptimeDBStandaloneList contains a list of GreptimeDBStandalone
func (*GreptimeDBStandaloneList) DeepCopy ¶
func (in *GreptimeDBStandaloneList) DeepCopy() *GreptimeDBStandaloneList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GreptimeDBStandaloneList.
func (*GreptimeDBStandaloneList) DeepCopyInto ¶
func (in *GreptimeDBStandaloneList) DeepCopyInto(out *GreptimeDBStandaloneList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GreptimeDBStandaloneList) DeepCopyObject ¶
func (in *GreptimeDBStandaloneList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GreptimeDBStandaloneSpec ¶
type GreptimeDBStandaloneSpec struct { // Base is the base pod template for all components and can be overridden by template of individual component. // +optional Base *PodTemplateSpec `json:"base,omitempty"` // Service is the service configuration of greptimedb. // +optional Service *ServiceSpec `json:"service,omitempty"` // The TLS configurations of the greptimedb. // +optional TLS *TLSSpec `json:"tls,omitempty"` // HTTPPort is the port of the greptimedb http service. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 // +optional HTTPPort int32 `json:"httpPort,omitempty"` // RPCPort is the port of the greptimedb rpc service. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 // +optional RPCPort int32 `json:"rpcPort,omitempty"` // MySQLPort is the port of the greptimedb mysql service. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 // +optional MySQLPort int32 `json:"mysqlPort,omitempty"` // PostgreSQLPort is the port of the greptimedb postgresql service. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 // +optional PostgreSQLPort int32 `json:"postgreSQLPort,omitempty"` // PrometheusMonitor is the specification for creating PodMonitor or ServiceMonitor. // +optional PrometheusMonitor *PrometheusMonitorSpec `json:"prometheusMonitor,omitempty"` // Version is the version of the greptimedb. // +optional Version string `json:"version,omitempty"` // Initializer is the init container to set up components configurations before running the container. // +optional Initializer *InitializerSpec `json:"initializer,omitempty"` // ObjectStorageProvider is the storage provider for the greptimedb cluster. // +optional ObjectStorageProvider *ObjectStorageProviderSpec `json:"objectStorage,omitempty"` // DatanodeStorage is the default file storage of the datanode. For example, WAL, cache, index etc. // +optional DatanodeStorage *DatanodeStorageSpec `json:"datanodeStorage,omitempty"` // WALProvider is the WAL provider for the greptimedb cluster. // +optional WALProvider *WALProviderSpec `json:"wal,omitempty"` // The content of the configuration file of the component in TOML format. // +optional Config string `json:"config,omitempty"` // Logging defines the logging configuration for the component. // +optional Logging *LoggingSpec `json:"logging,omitempty"` // RollingUpdate is the rolling update configuration. We always use `RollingUpdate` strategy. // +optional RollingUpdate *appsv1.RollingUpdateStatefulSetStrategy `json:"rollingUpdate,omitempty"` }
GreptimeDBStandaloneSpec defines the desired state of GreptimeDBStandalone
func (*GreptimeDBStandaloneSpec) DeepCopy ¶
func (in *GreptimeDBStandaloneSpec) DeepCopy() *GreptimeDBStandaloneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GreptimeDBStandaloneSpec.
func (*GreptimeDBStandaloneSpec) DeepCopyInto ¶
func (in *GreptimeDBStandaloneSpec) DeepCopyInto(out *GreptimeDBStandaloneSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GreptimeDBStandaloneStatus ¶
type GreptimeDBStandaloneStatus struct { // Version is the version of the greptimedb. // +optional Version string `json:"version,omitempty"` // StandalonePhase is the phase of the greptimedb standalone. // +optional StandalonePhase Phase `json:"standalonePhase,omitempty"` // Conditions represent the latest available observations of an object's current state. // +optional Conditions []Condition `json:"conditions,omitempty"` // ObservedGeneration is the most recent generation observed for this GreptimeDBStandalone. // +optional ObservedGeneration *int64 `json:"observedGeneration,omitempty"` }
GreptimeDBStandaloneStatus defines the observed state of GreptimeDBStandalone
func (*GreptimeDBStandaloneStatus) DeepCopy ¶
func (in *GreptimeDBStandaloneStatus) DeepCopy() *GreptimeDBStandaloneStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GreptimeDBStandaloneStatus.
func (*GreptimeDBStandaloneStatus) DeepCopyInto ¶
func (in *GreptimeDBStandaloneStatus) DeepCopyInto(out *GreptimeDBStandaloneStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GreptimeDBStandaloneStatus) GetCondition ¶
func (in *GreptimeDBStandaloneStatus) GetCondition(conditionType ConditionType) *Condition
func (*GreptimeDBStandaloneStatus) SetCondition ¶
func (in *GreptimeDBStandaloneStatus) SetCondition(condition Condition)
type 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"` // SlowQuery is the slow query configuration. // +optional SlowQuery *SlowQuery `json:"slowQuery,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. // +required 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"` // 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"` // EtcdEndpoints is the endpoints of the etcd cluster. // +required EtcdEndpoints []string `json:"etcdEndpoints"` // EnableCheckEtcdService indicates whether to check etcd cluster health when starting meta. // +optional 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 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) GetEtcdEndpoints ¶
func (*MetaSpec) GetLogging ¶
func (in *MetaSpec) GetLogging() *LoggingSpec
func (*MetaSpec) GetStoreKeyPrefix ¶
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"` }
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 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 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 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 }
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) 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 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 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"` }
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. // +required Enabled bool `json:"enabled"` // Threshold is the threshold of the slow query. Default to `10s`. // +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"` }
SlowQuery defines the slow query configuration. It only works for the datanode component.
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 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 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