GreptimeDB Operator API References

June 8, 2026 · View on GitHub

Packages

greptime.io/v1alpha1

Resource Types

AZBlobStorage

AZBlobStorage defines the Azure Blob storage specification.

Appears in:

FieldDescriptionDefaultValidation
container stringThe data will be stored in the container.
secretName stringThe 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.
root stringThe Blob directory path.
endpoint stringThe Blob Storage endpoint.

BackendStorage

BackendStorage is the specification for the backend storage for meta.

Appears in:

FieldDescriptionDefaultValidation
etcd EtcdStorageEtcdStorage is the specification for etcd storage for meta.
mysql MySQLStorageMySQLStorage is the specification for MySQL storage for meta.
postgresql PostgreSQLStoragePostgreSQLStorage is the specification for PostgreSQL storage for meta.

CacheStorage

CacheStorage defines the cache storage specification.

Appears in:

FieldDescriptionDefaultValidation
fs FileStorageStorage is the storage specification for the cache.
If the storage is not specified, the cache will use DatanodeStorageSpec.
cacheCapacity stringCacheCapacity is the capacity of the cache.

ComponentSpec

ComponentSpec is the common specification for all components(frontend/meta/datanode/flownode).

Appears in:

FieldDescriptionDefaultValidation
replicas integerThe number of replicas of the components.Minimum: 0
config stringThe content of the configuration file of the component in TOML format.
template PodTemplateSpecTemplate defines the pod template for the component, if not specified, the pod template will use the default value.
logging LoggingSpecLogging defines the logging configuration for the component.
tracing TracingSpecTracing defines the tracing configuration for the component.

Condition

Condition describes the state of a deployment at a certain point.

Appears in:

FieldDescriptionDefaultValidation
type ConditionTypeType of deployment condition.
lastUpdateTime TimeThe last time this condition was updated.
lastTransitionTime TimeLast time the condition transitioned from one status to another.
reason stringThe reason for the condition's last transition.
message stringA human-readable message indicating details about the transition.

ConditionType

Underlying type: string

ConditionType is the type of the condition.

Appears in:

FieldDescription
ReadyConditionTypeReady indicates that the GreptimeDB cluster is ready to serve requests.
Every component in the cluster are all ready.
ProgressingConditionTypeProgressing indicates that the GreptimeDB cluster is progressing.

ConfigMergeStrategy

Underlying type: string

ConfigMergeStrategy is the strategy for merging the input config with the config that generated by the operator.

Appears in:

FieldDescription
ConfigMergeStrategyOperatorFirstConfigMergeStrategyOperatorFirst 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.
ConfigMergeStrategyInjectedDataFirstConfigMergeStrategyInjectedDataFirst 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.

DatanodeSpec

DatanodeSpec is the specification for datanode component.

Appears in:

FieldDescriptionDefaultValidation
replicas integerThe number of replicas of the components.Minimum: 0
config stringThe content of the configuration file of the component in TOML format.
template PodTemplateSpecTemplate defines the pod template for the component, if not specified, the pod template will use the default value.
logging LoggingSpecLogging defines the logging configuration for the component.
tracing TracingSpecTracing defines the tracing configuration for the component.
name stringName is the name of the datanode.
rpcPort integerRPCPort is the gRPC port of the datanode.Maximum: 65535
Minimum: 0
httpPort integerHTTPPort is the HTTP port of the datanode.Maximum: 65535
Minimum: 0
storage DatanodeStorageSpecStorage is the default file storage of the datanode. For example, WAL, cache, index etc.
rollingUpdate RollingUpdateStatefulSetStrategyRollingUpdate is the rolling update configuration. We always use RollingUpdate strategy.
startNodeID integerStartNodeID is the start node id of the datanode.

DatanodeStatus

DatanodeStatus is the status of datanode node.

Appears in:

FieldDescriptionDefaultValidation
replicas integerReplicas is the number of replicas of the datanode.
readyReplicas integerReadyReplicas is the number of ready replicas of the datanode.

DatanodeStorageSpec

DatanodeStorageSpec defines the storage specification for the datanode.

Appears in:

FieldDescriptionDefaultValidation
dataHome stringDataHome is the home directory of the data.
fs FileStorageFileStorage is the file storage configuration.

EtcdStorage

EtcdStorage is the specification for etcd storage for meta.

Appears in:

FieldDescriptionDefaultValidation
endpoints string arrayThe endpoints of the etcd cluster.
enableCheckEtcdService booleanEnableCheckEtcdService indicates whether to check etcd cluster health when starting meta.
storeKeyPrefix stringStoreKeyPrefix is the prefix of the key in the etcd. We can use it to isolate the data of different clusters.

FileStorage

FileStorage defines the file storage specification. It is used to generate the PVC that will be mounted to the container.

Appears in:

FieldDescriptionDefaultValidation
name stringName is the name of the PVC that will be created.
useEmptyDir booleanUseEmptyDir 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.
storageClassName stringStorageClassName is the name of the StorageClass to use for the PVC.
storageSize stringStorageSize is the size of the storage.Pattern: (^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$)
mountPath stringMountPath is the path where the storage will be mounted in the container.
storageRetainPolicy StorageRetainPolicyTypeStorageRetainPolicy is the policy of the storage. It can be Retain or Delete.Enum: [Retain Delete]
labels object (keys:string, values:string)Labels is the labels for the PVC.
annotations object (keys:string, values:string)Annotations is the annotations for the PVC.

FlownodeSpec

FlownodeSpec is the specification for flownode component.

Appears in:

FieldDescriptionDefaultValidation
replicas integerThe number of replicas of the components.Minimum: 0
config stringThe content of the configuration file of the component in TOML format.
template PodTemplateSpecTemplate defines the pod template for the component, if not specified, the pod template will use the default value.
logging LoggingSpecLogging defines the logging configuration for the component.
tracing TracingSpecTracing defines the tracing configuration for the component.
rpcPort integerThe gRPC port of the flownode.Maximum: 65535
Minimum: 0
httpPort integerThe HTTP port of the flownode.Maximum: 65535
Minimum: 0
rollingUpdate RollingUpdateStatefulSetStrategyRollingUpdate is the rolling update configuration. We always use RollingUpdate strategy.
startNodeID integerStartNodeID is the start node id of the flownode.

FlownodeStatus

FlownodeStatus is the status of flownode node.

Appears in:

FieldDescriptionDefaultValidation
replicas integerReplicas is the number of replicas of the flownode.
readyReplicas integerReadyReplicas is the number of ready replicas of the flownode.

FrontendSpec

FrontendSpec is the specification for frontend component.

Appears in:

FieldDescriptionDefaultValidation
replicas integerThe number of replicas of the components.Minimum: 0
config stringThe content of the configuration file of the component in TOML format.
template PodTemplateSpecTemplate defines the pod template for the component, if not specified, the pod template will use the default value.
logging LoggingSpecLogging defines the logging configuration for the component.
tracing TracingSpecTracing defines the tracing configuration for the component.
name stringName is the name of the frontend.
rpcPort integerRPCPort is the gRPC port of the frontend.Maximum: 65535
Minimum: 0
httpPort integerHTTPPort is the HTTP port of the frontend.Maximum: 65535
Minimum: 0
mysqlPort integerMySQLPort is the MySQL port of the frontend.Maximum: 65535
Minimum: 0
postgreSQLPort integerPostgreSQLPort is the PostgreSQL port of the frontend.Maximum: 65535
Minimum: 0
internalPort integerInternalPort is the internal gRPC port of the frontend.Maximum: 65535
Minimum: 0
service ServiceSpecService is the service configuration of the frontend.
tls TLSSpecTLS is the TLS configuration of the frontend.
rollingUpdate RollingUpdateDeploymentRollingUpdate is the rolling update configuration. We always use RollingUpdate strategyt.
slowQuery SlowQuerySlowQuery is the slow query configuration.
enableObjectStorage booleanEnableObjectStorage 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.

FrontendStatus

FrontendStatus is the status of frontend node.

Appears in:

FieldDescriptionDefaultValidation
replicas integerReplicas is the number of replicas of the frontend.
readyReplicas integerReadyReplicas is the number of ready replicas of the frontend.

GCSStorage

GCSStorage defines the Google GCS storage specification.

Appears in:

FieldDescriptionDefaultValidation
bucket stringThe data will be stored in the bucket.
root stringThe gcs directory path.
secretName stringThe 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.
scope stringThe scope for gcs.
endpoint stringThe endpoint URI of gcs service.

GreptimeDBCluster

GreptimeDBCluster is the Schema for the greptimedbclusters API

Appears in:

FieldDescriptionDefaultValidation
apiVersion stringgreptime.io/v1alpha1
kind stringGreptimeDBCluster
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec GreptimeDBClusterSpecSpec is the specification of the desired state of the GreptimeDBCluster.

GreptimeDBClusterList

GreptimeDBClusterList contains a list of GreptimeDBCluster

FieldDescriptionDefaultValidation
apiVersion stringgreptime.io/v1alpha1
kind stringGreptimeDBClusterList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items GreptimeDBCluster array

GreptimeDBClusterSpec

GreptimeDBClusterSpec defines the desired state of GreptimeDBCluster

Appears in:

FieldDescriptionDefaultValidation
base PodTemplateSpecBase is the base pod template for all components and can be overridden by template of individual component.
frontend FrontendSpecFrontend is the specification of frontend node.
meta MetaSpecMeta is the specification of meta node.
datanode DatanodeSpecDatanode is the specification of datanode node.
datanodeGroups DatanodeSpec arrayDatanodeGroups is a group of datanode statefulsets.
flownode FlownodeSpecFlownode is the specification of flownode node.
frontendGroups FrontendSpec arrayFrontendGroups is groups of frontend node.
httpPort integerHTTPPort is the HTTP port of the greptimedb cluster.Maximum: 65535
Minimum: 0
rpcPort integerRPCPort is the RPC port of the greptimedb cluster.Maximum: 65535
Minimum: 0
mysqlPort integerMySQLPort is the MySQL port of the greptimedb cluster.Maximum: 65535
Minimum: 0
postgreSQLPort integerPostgreSQLPort is the PostgreSQL port of the greptimedb cluster.Maximum: 65535
Minimum: 0
prometheusMonitor PrometheusMonitorSpecPrometheusMonitor is the specification for creating PodMonitor or ServiceMonitor.
version stringVersion is the version of greptimedb.
initializer InitializerSpecInitializer is the init container to set up components configurations before running the container.
objectStorage ObjectStorageProviderSpecObjectStorageProvider is the storage provider for the greptimedb cluster.
wal WALProviderSpecWALProvider is the WAL provider for the greptimedb cluster.
logging LoggingSpecThe global logging configuration for all components. It can be overridden by the logging configuration of individual component.
monitoring MonitoringSpecMonitoring is the specification for monitor bootstrapping. It will create a standalone greptimedb instance to monitor the cluster.
ingress IngressSpecIngress is the Ingress configuration of the frontend.
tracing TracingSpecThe global tracing configuration for all components. It can be overridden by the tracing configuration of individual component.
configMergeStrategy ConfigMergeStrategyConfigMergeStrategy is the strategy for merging the input config with the config that generated by the operator.
enableIPv6 booleanEnableIPv6 enables IPv6 support for all components in the cluster.
When true, all components will use "[::]:port" as the bind address.
When false or omitted, they will use "0.0.0.0:port".
false

GreptimeDBStandalone

GreptimeDBStandalone is the Schema for the greptimedbstandalones API

Appears in:

FieldDescriptionDefaultValidation
apiVersion stringgreptime.io/v1alpha1
kind stringGreptimeDBStandalone
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec GreptimeDBStandaloneSpecSpec is the specification of the desired state of the GreptimeDBStandalone.

GreptimeDBStandaloneList

GreptimeDBStandaloneList contains a list of GreptimeDBStandalone

FieldDescriptionDefaultValidation
apiVersion stringgreptime.io/v1alpha1
kind stringGreptimeDBStandaloneList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items GreptimeDBStandalone array

GreptimeDBStandaloneSpec

GreptimeDBStandaloneSpec defines the desired state of GreptimeDBStandalone

Appears in:

FieldDescriptionDefaultValidation
base PodTemplateSpecBase is the base pod template for all components and can be overridden by template of individual component.
service ServiceSpecService is the service configuration of greptimedb.
tls TLSSpecThe TLS configurations of the greptimedb.
httpPort integerHTTPPort is the port of the greptimedb http service.Maximum: 65535
Minimum: 0
rpcPort integerRPCPort is the port of the greptimedb rpc service.Maximum: 65535
Minimum: 0
mysqlPort integerMySQLPort is the port of the greptimedb mysql service.Maximum: 65535
Minimum: 0
postgreSQLPort integerPostgreSQLPort is the port of the greptimedb postgresql service.Maximum: 65535
Minimum: 0
prometheusMonitor PrometheusMonitorSpecPrometheusMonitor is the specification for creating PodMonitor or ServiceMonitor.
version stringVersion is the version of the greptimedb.
replicas integerThe number of replicas of the standalone.Enum: [0 1]
initializer InitializerSpecInitializer is the init container to set up components configurations before running the container.
objectStorage ObjectStorageProviderSpecObjectStorageProvider is the storage provider for the greptimedb cluster.
datanodeStorage DatanodeStorageSpecDatanodeStorage is the default file storage of the datanode. For example, WAL, cache, index etc.
wal WALProviderSpecWALProvider is the WAL provider for the greptimedb cluster.
config stringThe content of the configuration file of the component in TOML format.
logging LoggingSpecLogging defines the logging configuration for the component.
rollingUpdate RollingUpdateStatefulSetStrategyRollingUpdate is the rolling update configuration. We always use RollingUpdate strategy.
slowQuery SlowQuerySlowQuery is the slow query configuration.
tracing TracingSpecTracing defines the tracing configuration for the component.
configMergeStrategy ConfigMergeStrategyConfigMergeStrategy is the strategy for merging the input config with the config that generated by the operator.
enableIPv6 booleanEnableIPv6 enables IPv6 support for the standalone instance.
When true, all components will use "[::]:port" as the bind address.
When false or omitted, they will use "0.0.0.0:port".
false

IngressBackend

IngressBackend defines the Ingress backend configuration.

Appears in:

FieldDescriptionDefaultValidation
name stringName is the referenced frontend name.
path stringPath is matched against the path of an incoming request.
pathType PathTypePathType determines the interpretation of the path matching.

IngressRule

IngressRule defines the Ingress rule configuration.

Appears in:

FieldDescriptionDefaultValidation
host stringHost is the fully qualified domain name of a network host.
backends IngressBackend arrayIngressBackend is the Ingress backend configuration.

IngressSpec

IngressSpec defines the Ingress configuration.

Appears in:

FieldDescriptionDefaultValidation
annotations object (keys:string, values:string)Annotations is the annotations for the ingress.
labels object (keys:string, values:string)Labels is the labels for the ingress.
ingressClassName stringIngressClassName is the name of an IngressClass.
rules IngressRule arrayIngressRule is a list of host rules used to configure the Ingress.
tls IngressTLS arrayTLS is the Ingress TLS configuration.

InitializerSpec

InitializerSpec is the init container to set up components configurations before running the container.

Appears in:

FieldDescriptionDefaultValidation
image stringThe image of the initializer.

KafkaSASL

KafkaSASL is the SASL authentication configuration for Kafka remote WAL.

Appears in:

FieldDescriptionDefaultValidation
type stringType is the SASL mechanism, such as PLAIN, SCRAM-SHA-256, or SCRAM-SHA-512.Enum: [PLAIN SCRAM-SHA-256 SCRAM-SHA-512]
username stringUsername is the SASL username. If SecretRef is set, the username from the Secret is used instead.
password stringPassword is the SASL password. If SecretRef is set, the password from the Secret is used instead.
secretRef KafkaSASLSecretRefSecretRef is the reference to the Secret that stores the SASL username and password.

KafkaSASLSecretRef

KafkaSASLSecretRef is the reference to the Secret that stores Kafka SASL credentials.

Appears in:

FieldDescriptionDefaultValidation
name stringName is the name of the Secret.
usernameKey stringUsernameKey is the key of the SASL username in the Secret.
passwordKey stringPasswordKey is the key of the SASL password in the Secret.

KafkaTLS

KafkaTLS is the TLS configuration for Kafka remote WAL.

Appears in:

FieldDescriptionDefaultValidation
serverCaCertPath stringServerCACertPath is the path to the server CA certificate.
clientCertPath stringClientCertPath is the path to the client certificate for mTLS.
clientKeyPath stringClientKeyPath is the path to the client private key for mTLS.

KafkaWAL

KafkaWAL is the specification for Kafka remote WAL.

Appears in:

FieldDescriptionDefaultValidation
brokerEndpoints string arrayBrokerEndpoints is the list of Kafka broker endpoints.
sasl KafkaSASLSASL is the SASL authentication configuration for Kafka remote WAL.
tls KafkaTLSTLS is the TLS configuration for Kafka remote WAL.

LogFormat

Underlying type: string

Appears in:

FieldDescription
jsonLogFormatJSON is the json format of the logging.
textLogFormatText is the text format of the logging.

LogPipeline

LogPipeline is the specification for log pipeline.

Appears in:

FieldDescriptionDefaultValidation
data stringThe content of the pipeline configuration file in YAML format.

LoggingLevel

Underlying type: string

LoggingLevel is the level of the logging.

Appears in:

FieldDescription
infoLoggingLevelInfo is the info level of the logging.
errorLoggingLevelError is the error level of the logging.
warnLoggingLevelWarn is the warn level of the logging.
debugLoggingLevelDebug is the debug level of the logging.

LoggingSpec

LoggingSpec defines the logging configuration for the component.

Appears in:

FieldDescriptionDefaultValidation
level LoggingLevelLevel is the level of the logging.Enum: [info error warn debug]
filters string arrayFilters is the filters of the logging.
User can use EnvFilter 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.
logsDir stringLogsDir is the directory path of the logs.
persistentWithData booleanPersistentWithData 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.
onlyLogToStdout booleanOnlyLogToStdout indicates whether to only log to stdout. If true, the log will not be stored in the storage even if the storage is configured.
format LogFormatFormat is the format of the logging.Enum: [json text]

LogsCollectionSpec

LogsCollectionSpec is the specification for cluster logs collection.

Appears in:

FieldDescriptionDefaultValidation
pipeline LogPipelineThe specification of the log pipeline.

MainContainerSpec

MainContainerSpec describes the specification of the main container of a pod. Most of the fields of MainContainerSpec are from 'corev1.Container'.

Appears in:

FieldDescriptionDefaultValidation
image stringThe main container image name of the component.
resources ResourceRequirementsThe resource requirements of the main container.
command string arrayEntrypoint 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.
args string arrayArguments 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.
extraArgs string arrayExtraArgs specifies additional command-line arguments for the container entrypoint.
These arguments will be appended to the default command line.
workingDir stringContainer'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.
env EnvVar arrayList of environment variables to set in the container.
Cannot be updated.
Env field is from corev1.Container.Env.
envFrom EnvFromSource arrayEnvFromSource represents the source of a set of ConfigMaps or Secrets.
EnvFrom field is from corev1.Container.EnvFrom.
livenessProbe ProbePeriodic 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.
readinessProbe ProbePeriodic 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
startupProbe ProbeStartupProbe 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
lifecycle LifecycleActions that the management system should take in response to container lifecycle events.
Cannot be updated.
Lifecycle field is from corev1.Container.Lifecycle.
imagePullPolicy PullPolicyImage 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.
volumeMounts VolumeMount arrayPod volumes to mount into the container's filesystem.
Cannot be updated.
securityContext SecurityContextSecurityContext holds container-level security attributes and common settings.

MetaSpec

MetaSpec is the specification for meta component.

Appears in:

FieldDescriptionDefaultValidation
replicas integerThe number of replicas of the components.Minimum: 0
config stringThe content of the configuration file of the component in TOML format.
template PodTemplateSpecTemplate defines the pod template for the component, if not specified, the pod template will use the default value.
logging LoggingSpecLogging defines the logging configuration for the component.
tracing TracingSpecTracing defines the tracing configuration for the component.
rpcPort integerRPCPort is the gRPC port of the meta.Maximum: 65535
Minimum: 0
httpPort integerHTTPPort is the HTTP port of the meta.Maximum: 65535
Minimum: 0
backendStorage BackendStorageBackendStorage is the specification for the backend storage for meta.
enableRegionFailover booleanEnableRegionFailover indicates whether to enable region failover.
rollingUpdate RollingUpdateDeploymentRollingUpdate is the rolling update configuration. We always use RollingUpdate strategyt.

MetaStatus

MetaStatus is the status of meta node.

Appears in:

FieldDescriptionDefaultValidation
replicas integerReplicas is the number of replicas of the meta.
readyReplicas integerReadyReplicas is the number of ready replicas of the meta.
maintenanceMode booleanMaintenanceMode is the maintenance mode of the meta.

MonitoringSpec

MonitoringSpec is the specification for monitor bootstrapping. It will create a standalone greptimedb instance to monitor the cluster.

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled indicates whether to enable the monitoring service.
ttl stringTTL is the default retention time for monitoring data, default to 30d.Pattern: ^([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h|d))+$
standalone GreptimeDBStandaloneSpecThe specification of the standalone greptimedb instance.
logsCollection LogsCollectionSpecThe specification of cluster logs collection.
vector VectorSpecThe specification of the vector instance.

MonitoringStatus

MonitoringStatus is the status of the monitoring service.

Appears in:

FieldDescriptionDefaultValidation
internalDNSName stringInternalDNSName is the internal DNS name of the monitoring service. For example, 'mycluster-standalone-monitor.default.svc.cluster.local'.

MySQLStorage

MySQLStorage is the specification for MySQL storage for meta.

Appears in:

FieldDescriptionDefaultValidation
host stringHost is the host of the MySQL database.
port integerPort is the port of the MySQL database.Maximum: 65535
Minimum: 0
credentialsSecretName stringCredentialsSecretName 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.
database stringDatabase is the name of the MySQL database.
table stringTable is the name of the MySQL table.

OSSStorage

OSSStorage defines the Aliyun OSS storage specification.

Appears in:

FieldDescriptionDefaultValidation
bucket stringThe data will be stored in the bucket.
region stringThe region of the bucket.
secretName stringThe 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.
root stringThe OSS directory path.
endpoint stringThe endpoint of the bucket.

ObjectStorageProviderSpec

ObjectStorageProviderSpec defines the object storage provider for the cluster. The data will be stored in the storage.

Appears in:

FieldDescriptionDefaultValidation
s3 S3StorageS3 is the AWS S3 storage configuration.
oss OSSStorageOSS is the Aliyun OSS storage configuration.
gcs GCSStorageGCS is the Google cloud storage configuration.
azblob AZBlobStorageAZBlob is the Azure Blob storage configuration.
cache CacheStorageCache is the cache storage configuration for object storage.

Phase

Underlying type: string

Phase define the phase of the cluster or standalone.

Appears in:

FieldDescription
StartingPhaseStarting means the controller start to create cluster or standalone.
RunningPhaseRunning means all the components of cluster or standalone is ready.
UpdatingPhaseUpdating means the cluster or standalone is updating.
ErrorPhaseError means some kind of error happen in reconcile.
TerminatingPhaseTerminating means the cluster or standalone is terminating.

PodTemplateSpec

PodTemplateSpec defines the template for a pod of cluster.

Appears in:

FieldDescriptionDefaultValidation
annotations object (keys:string, values:string)The annotations to be created to the pod.
labels object (keys:string, values:string)The labels to be created to the pod.
main MainContainerSpecMainContainer defines the specification of the main container of the pod.
nodeSelector object (keys:string, values:string)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.
initContainers Container arrayList 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.
restartPolicy RestartPolicyRestart 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.
terminationGracePeriodSeconds integerOptional 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.
activeDeadlineSeconds integerOptional 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.
dnsPolicy DNSPolicySet 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.
serviceAccountName stringServiceAccountName 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.
hostNetwork booleanHost 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.
imagePullSecrets LocalObjectReference arrayImagePullSecrets 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.
affinity AffinityIf specified, the pod's scheduling constraints
Affinity field is from corev1.PodSpec.Affinity.
tolerations Toleration arrayIf specified, the pod's tolerations.
schedulerName stringIf 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.
additionalContainers Container arrayFor 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.
volumes Volume arrayList of volumes that can be mounted by containers belonging to the pod.
securityContext PodSecurityContextSecurityContext holds pod-level security attributes and common container settings.

PostgreSQLStorage

PostgreSQLStorage is the specification for PostgreSQL storage for meta.

Appears in:

FieldDescriptionDefaultValidation
host stringHost is the host of the PostgreSQL database.
port integerPort is the port of the PostgreSQL database.Maximum: 65535
Minimum: 0
credentialsSecretName stringCredentialsSecretName 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.
database stringDatabase is the name of the PostgreSQL database.
table stringTable is the name of the PostgreSQL table.
electionLockID integerElectionLockID it the lock id in PostgreSQL for election.

PrometheusMonitorSpec

PrometheusMonitorSpec defines the PodMonitor configuration.

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled indicates whether the PodMonitor is enabled.
labels object (keys:string, values:string)Labels is the labels for the PodMonitor.
interval stringInterval is the scape interval for the PodMonitor.

RaftEngineWAL

RaftEngineWAL is the specification for local WAL that uses raft-engine.

Appears in:

FieldDescriptionDefaultValidation
fs FileStorageFileStorage is the file storage configuration for the raft-engine WAL.
If the file storage is not specified, WAL will use DatanodeStorageSpec.

S3Storage

S3Storage defines the S3 storage specification.

Appears in:

FieldDescriptionDefaultValidation
bucket stringThe data will be stored in the bucket.
region stringThe region of the bucket.
secretName stringThe 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.
root stringThe S3 directory path.
endpoint stringThe endpoint of the bucket.
enableVirtualHostStyle booleanEnable 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'.

ServiceSpec

ServiceSpec defines the service configuration for the component.

Appears in:

FieldDescriptionDefaultValidation
type ServiceTypeType is the type of the service.
annotations object (keys:string, values:string)Annotations is the annotations for the service.
labels object (keys:string, values:string)Labels is the labels for the service.
loadBalancerClass stringLoadBalancerClass is the class of the load balancer.

SlimPodSpec

SlimPodSpec is a slimmed down version of corev1.PodSpec. Most of the fields in SlimPodSpec are copied from corev1.PodSpec.

Appears in:

FieldDescriptionDefaultValidation
nodeSelector object (keys:string, values:string)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.
initContainers Container arrayList 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.
restartPolicy RestartPolicyRestart 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.
terminationGracePeriodSeconds integerOptional 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.
activeDeadlineSeconds integerOptional 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.
dnsPolicy DNSPolicySet 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.
serviceAccountName stringServiceAccountName 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.
hostNetwork booleanHost 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.
imagePullSecrets LocalObjectReference arrayImagePullSecrets 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.
affinity AffinityIf specified, the pod's scheduling constraints
Affinity field is from corev1.PodSpec.Affinity.
tolerations Toleration arrayIf specified, the pod's tolerations.
schedulerName stringIf 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.
additionalContainers Container arrayFor 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.
volumes Volume arrayList of volumes that can be mounted by containers belonging to the pod.
securityContext PodSecurityContextSecurityContext holds pod-level security attributes and common container settings.

SlowQuery

SlowQuery defines the slow query configuration.

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled indicates whether the slow query is enabled.
recordType SlowQueryRecordTypeRecordType is the type of the slow query record. Default to system_table.
threshold stringThreshold is the threshold of the slow query. Default to 30s.Pattern: ^([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$
sampleRatio stringSampleRatio is the sampling ratio of slow query log. The value should be in the range of (0, 1]. Default to 1.0.Pattern: ^(0?\.\d+|1(\.0+)?)$
Type: string
ttl stringTTL is the TTL of the slow query log. Default to 90d.Pattern: ^([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h|d))+$

SlowQueryRecordType

Underlying type: string

Appears in:

FieldDescription
system_tableSlowQueryRecordTypeSystemTable is the type of the slow query record.
logSlowQueryRecordTypeLog is the type of the slow query record.

StorageRetainPolicyType

Underlying type: string

StorageRetainPolicyType is the type of the storage retain policy.

Appears in:

FieldDescription
RetainStorageRetainPolicyTypeRetain is the default options.
The storage(PVCs) will be retained when the cluster is deleted.
DeleteStorageRetainPolicyTypeDelete specify that the storage will be deleted when the associated StatefulSet delete.

TLSSpec

TLSSpec defines the TLS configurations for the component.

Appears in:

FieldDescriptionDefaultValidation
secretName stringSecretName 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.

TracingSpec

TracingSpec defines the tracing configuration for the component.

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled indicates whether to enable OTLP tracing.
endpoint stringEndpoint it the OTLP tracing endpoint.
sampleRatio stringSampleRatio 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.
headers object (keys:string, values:string)Headers are additional HTTP headers to add to OTLP HTTP requests.
Only used when protocol is HTTP.

VectorSpec

VectorSpec is the specification for vector instance.

Appears in:

FieldDescriptionDefaultValidation
image stringThe image of the vector instance.
resources ResourceRequirementsThe resources of the vector instance.

WALProviderSpec

WALProviderSpec defines the WAL provider for the cluster.

Appears in:

FieldDescriptionDefaultValidation
raftEngine RaftEngineWALRaftEngineWAL is the specification for local WAL that uses raft-engine.
kafka KafkaWALKafkaWAL is the specification for remote WAL that uses Kafka.