Skip to content

Latest commit

 

History

History
972 lines (542 loc) · 50.1 KB

File metadata and controls

972 lines (542 loc) · 50.1 KB

GreptimeDB Operator API References

Packages

greptime.io/v1alpha1

Resource Types

AZBlobStorage

AZBlobStorage defines the Azure Blob storage specification.

Appears in:

Field Description Default Validation
container string The data will be stored in the container.
secretName string 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.
root string The Blob directory path.
endpoint string The Blob Storage endpoint.

CacheStorage

CacheStorage defines the cache storage specification.

Appears in:

Field Description Default Validation
fs FileStorage Storage is the storage specification for the cache.
If the storage is not specified, the cache will use DatanodeStorageSpec.
cacheCapacity string CacheCapacity is the capacity of the cache.

ComponentSpec

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

Appears in:

Field Description Default Validation
replicas integer The number of replicas of the components. Minimum: 0
config string The content of the configuration file of the component in TOML format.
template PodTemplateSpec Template defines the pod template for the component, if not specified, the pod template will use the default value.
logging LoggingSpec Logging defines the logging configuration for the component.

Condition

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

Appears in:

Field Description Default Validation
type ConditionType Type of deployment condition.
lastUpdateTime Time The last time this condition was updated.
lastTransitionTime Time Last time the condition transitioned from one status to another.
reason string The reason for the condition's last transition.
message string A human-readable message indicating details about the transition.

ConditionType

Underlying type: string

ConditionType is the type of the condition.

Appears in:

Field Description
Ready ConditionTypeReady indicates that the GreptimeDB cluster is ready to serve requests.
Every component in the cluster are all ready.
Progressing ConditionTypeProgressing indicates that the GreptimeDB cluster is progressing.

DatanodeSpec

DatanodeSpec is the specification for datanode component.

Appears in:

Field Description Default Validation
replicas integer The number of replicas of the components. Minimum: 0
config string The content of the configuration file of the component in TOML format.
template PodTemplateSpec Template defines the pod template for the component, if not specified, the pod template will use the default value.
logging LoggingSpec Logging defines the logging configuration for the component.
rpcPort integer RPCPort is the gRPC port of the datanode. Maximum: 65535
Minimum: 0
httpPort integer HTTPPort is the HTTP port of the datanode. Maximum: 65535
Minimum: 0
storage DatanodeStorageSpec Storage is the default file storage of the datanode. For example, WAL, cache, index etc.
rollingUpdate RollingUpdateStatefulSetStrategy RollingUpdate is the rolling update configuration. We always use RollingUpdate strategy.

DatanodeStatus

DatanodeStatus is the status of datanode node.

Appears in:

Field Description Default Validation
replicas integer Replicas is the number of replicas of the datanode.
readyReplicas integer ReadyReplicas is the number of ready replicas of the datanode.

DatanodeStorageSpec

DatanodeStorageSpec defines the storage specification for the datanode.

Appears in:

Field Description Default Validation
dataHome string DataHome is the home directory of the data.
fs FileStorage FileStorage is the file storage configuration.

FileStorage

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

Appears in:

Field Description Default Validation
name string Name is the name of the PVC that will be created.
storageClassName string StorageClassName is the name of the StorageClass to use for the PVC.
storageSize string StorageSize is the size of the storage. Pattern: (^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$)
mountPath string MountPath is the path where the storage will be mounted in the container.
storageRetainPolicy StorageRetainPolicyType StorageRetainPolicy is the policy of the storage. It can be Retain or Delete. Enum: [Retain Delete]

FlownodeSpec

FlownodeSpec is the specification for flownode component.

Appears in:

Field Description Default Validation
replicas integer The number of replicas of the components. Minimum: 0
config string The content of the configuration file of the component in TOML format.
template PodTemplateSpec Template defines the pod template for the component, if not specified, the pod template will use the default value.
logging LoggingSpec Logging defines the logging configuration for the component.
rpcPort integer The gRPC port of the flownode. Maximum: 65535
Minimum: 0
rollingUpdate RollingUpdateStatefulSetStrategy RollingUpdate is the rolling update configuration. We always use RollingUpdate strategy.

FlownodeStatus

FlownodeStatus is the status of flownode node.

Appears in:

Field Description Default Validation
replicas integer Replicas is the number of replicas of the flownode.
readyReplicas integer ReadyReplicas is the number of ready replicas of the flownode.

FrontendSpec

FrontendSpec is the specification for frontend component.

Appears in:

Field Description Default Validation
replicas integer The number of replicas of the components. Minimum: 0
config string The content of the configuration file of the component in TOML format.
template PodTemplateSpec Template defines the pod template for the component, if not specified, the pod template will use the default value.
logging LoggingSpec Logging defines the logging configuration for the component.
rpcPort integer RPCPort is the gRPC port of the frontend. Maximum: 65535
Minimum: 0
httpPort integer HTTPPort is the HTTP port of the frontend. Maximum: 65535
Minimum: 0
mysqlPort integer MySQLPort is the MySQL port of the frontend. Maximum: 65535
Minimum: 0
postgreSQLPort integer PostgreSQLPort is the PostgreSQL port of the frontend. Maximum: 65535
Minimum: 0
service ServiceSpec Service is the service configuration of the frontend.
tls TLSSpec TLS is the TLS configuration of the frontend.
rollingUpdate RollingUpdateDeployment RollingUpdate is the rolling update configuration. We always use RollingUpdate strategyt.

FrontendStatus

FrontendStatus is the status of frontend node.

Appears in:

Field Description Default Validation
replicas integer Replicas is the number of replicas of the frontend.
readyReplicas integer ReadyReplicas is the number of ready replicas of the frontend.

GCSStorage

GCSStorage defines the Google GCS storage specification.

Appears in:

Field Description Default Validation
bucket string The data will be stored in the bucket.
root string The gcs directory path.
secretName string 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.
scope string The scope for gcs.
endpoint string The endpoint URI of gcs service.

GreptimeDBCluster

GreptimeDBCluster is the Schema for the greptimedbclusters API

Appears in:

Field Description Default Validation
apiVersion string greptime.io/v1alpha1
kind string GreptimeDBCluster
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec GreptimeDBClusterSpec Spec is the specification of the desired state of the GreptimeDBCluster.

GreptimeDBClusterList

GreptimeDBClusterList contains a list of GreptimeDBCluster

Field Description Default Validation
apiVersion string greptime.io/v1alpha1
kind string GreptimeDBClusterList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items GreptimeDBCluster array

GreptimeDBClusterSpec

GreptimeDBClusterSpec defines the desired state of GreptimeDBCluster

Appears in:

Field Description Default Validation
base PodTemplateSpec Base is the base pod template for all components and can be overridden by template of individual component.
frontend FrontendSpec Frontend is the specification of frontend node.
meta MetaSpec Meta is the specification of meta node.
datanode DatanodeSpec Datanode is the specification of datanode node.
flownode FlownodeSpec Flownode is the specification of flownode node.
httpPort integer HTTPPort is the HTTP port of the greptimedb cluster. Maximum: 65535
Minimum: 0
rpcPort integer RPCPort is the RPC port of the greptimedb cluster. Maximum: 65535
Minimum: 0
mysqlPort integer MySQLPort is the MySQL port of the greptimedb cluster. Maximum: 65535
Minimum: 0
postgreSQLPort integer PostgreSQLPort is the PostgreSQL port of the greptimedb cluster. Maximum: 65535
Minimum: 0
prometheusMonitor PrometheusMonitorSpec PrometheusMonitor is the specification for creating PodMonitor or ServiceMonitor.
version string Version is the version of greptimedb.
initializer InitializerSpec Initializer is the init container to set up components configurations before running the container.
objectStorage ObjectStorageProviderSpec ObjectStorageProvider is the storage provider for the greptimedb cluster.
wal WALProviderSpec WALProvider is the WAL provider for the greptimedb cluster.
logging LoggingSpec The global logging configuration for all components. It can be overridden by the logging configuration of individual component.
monitoring MonitoringSpec Monitoring is the specification for monitor bootstrapping. It will create a standalone greptimedb instance to monitor the cluster.

GreptimeDBStandalone

GreptimeDBStandalone is the Schema for the greptimedbstandalones API

Appears in:

Field Description Default Validation
apiVersion string greptime.io/v1alpha1
kind string GreptimeDBStandalone
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec GreptimeDBStandaloneSpec Spec is the specification of the desired state of the GreptimeDBStandalone.

GreptimeDBStandaloneList

GreptimeDBStandaloneList contains a list of GreptimeDBStandalone

Field Description Default Validation
apiVersion string greptime.io/v1alpha1
kind string GreptimeDBStandaloneList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items GreptimeDBStandalone array

GreptimeDBStandaloneSpec

GreptimeDBStandaloneSpec defines the desired state of GreptimeDBStandalone

Appears in:

Field Description Default Validation
base PodTemplateSpec Base is the base pod template for all components and can be overridden by template of individual component.
service ServiceSpec Service is the service configuration of greptimedb.
tls TLSSpec The TLS configurations of the greptimedb.
httpPort integer HTTPPort is the port of the greptimedb http service. Maximum: 65535
Minimum: 0
rpcPort integer RPCPort is the port of the greptimedb rpc service. Maximum: 65535
Minimum: 0
mysqlPort integer MySQLPort is the port of the greptimedb mysql service. Maximum: 65535
Minimum: 0
postgreSQLPort integer PostgreSQLPort is the port of the greptimedb postgresql service. Maximum: 65535
Minimum: 0
prometheusMonitor PrometheusMonitorSpec PrometheusMonitor is the specification for creating PodMonitor or ServiceMonitor.
version string Version is the version of the greptimedb.
initializer InitializerSpec Initializer is the init container to set up components configurations before running the container.
objectStorage ObjectStorageProviderSpec ObjectStorageProvider is the storage provider for the greptimedb cluster.
datanodeStorage DatanodeStorageSpec DatanodeStorage is the default file storage of the datanode. For example, WAL, cache, index etc.
wal WALProviderSpec WALProvider is the WAL provider for the greptimedb cluster.
config string The content of the configuration file of the component in TOML format.
logging LoggingSpec Logging defines the logging configuration for the component.
rollingUpdate RollingUpdateStatefulSetStrategy RollingUpdate is the rolling update configuration. We always use RollingUpdate strategy.

InitializerSpec

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

Appears in:

Field Description Default Validation
image string The image of the initializer.

KafkaWAL

KafkaWAL is the specification for Kafka remote WAL.

Appears in:

Field Description Default Validation
brokerEndpoints string array BrokerEndpoints is the list of Kafka broker endpoints.

LogFormat

Underlying type: string

Appears in:

Field Description
json LogFormatJSON is the json format of the logging.
text LogFormatText is the text format of the logging.

LogPipeline

LogPipeline is the specification for log pipeline.

Appears in:

Field Description Default Validation
data string The content of the pipeline configuration file in YAML format.

LoggingLevel

Underlying type: string

LoggingLevel is the level of the logging.

Appears in:

Field Description
info LoggingLevelInfo is the info level of the logging.
error LoggingLevelError is the error level of the logging.
warn LoggingLevelWarn is the warn level of the logging.
debug LoggingLevelDebug is the debug level of the logging.

LoggingSpec

LoggingSpec defines the logging configuration for the component.

Appears in:

Field Description Default Validation
level LoggingLevel Level is the level of the logging. Enum: [info error warn debug]
filters string array Filters 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 string LogsDir is the directory path of the logs.
persistentWithData boolean 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.
onlyLogToStdout boolean 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.
format LogFormat Format is the format of the logging. Enum: [json text]
slowQuery SlowQuery SlowQuery is the slow query configuration.

LogsCollectionSpec

LogsCollectionSpec is the specification for cluster logs collection.

Appears in:

Field Description Default Validation
pipeline LogPipeline The 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:

Field Description Default Validation
image string The main container image name of the component.
resources ResourceRequirements The resource requirements of the main container.
command string array 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.
args string array 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.
workingDir string 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.
env EnvVar array List of environment variables to set in the container.
Cannot be updated.
Env field is from corev1.Container.Env.
livenessProbe Probe 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.
readinessProbe Probe 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
startupProbe Probe 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
lifecycle Lifecycle Actions that the management system should take in response to container lifecycle events.
Cannot be updated.
Lifecycle field is from corev1.Container.Lifecycle.
imagePullPolicy PullPolicy 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.
volumeMounts VolumeMount array Pod volumes to mount into the container's filesystem.
Cannot be updated.
securityContext SecurityContext SecurityContext holds container-level security attributes and common settings.

MetaSpec

MetaSpec is the specification for meta component.

Appears in:

Field Description Default Validation
replicas integer The number of replicas of the components. Minimum: 0
config string The content of the configuration file of the component in TOML format.
template PodTemplateSpec Template defines the pod template for the component, if not specified, the pod template will use the default value.
logging LoggingSpec Logging defines the logging configuration for the component.
rpcPort integer RPCPort is the gRPC port of the meta. Maximum: 65535
Minimum: 0
httpPort integer HTTPPort is the HTTP port of the meta. Maximum: 65535
Minimum: 0
etcdEndpoints string array EtcdEndpoints is the endpoints of the etcd cluster.
enableCheckEtcdService boolean EnableCheckEtcdService indicates whether to check etcd cluster health when starting meta.
enableRegionFailover boolean EnableRegionFailover indicates whether to enable region failover.
storeKeyPrefix string StoreKeyPrefix is the prefix of the key in the etcd. We can use it to isolate the data of different clusters.
rollingUpdate RollingUpdateDeployment RollingUpdate is the rolling update configuration. We always use RollingUpdate strategyt.

MetaStatus

MetaStatus is the status of meta node.

Appears in:

Field Description Default Validation
replicas integer Replicas is the number of replicas of the meta.
readyReplicas integer ReadyReplicas is the number of ready replicas of the meta.
etcdEndpoints string array EtcdEndpoints is the endpoints of the etcd cluster.

MonitoringSpec

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

Appears in:

Field Description Default Validation
enabled boolean Enabled indicates whether to enable the monitoring service.
standalone GreptimeDBStandaloneSpec The specification of the standalone greptimedb instance.
logsCollection LogsCollectionSpec The specification of cluster logs collection.
vector VectorSpec The specification of the vector instance.

MonitoringStatus

MonitoringStatus is the status of the monitoring service.

Appears in:

Field Description Default Validation
internalDNSName string InternalDNSName is the internal DNS name of the monitoring service. For example, 'mycluster-standalone-monitor.default.svc.cluster.local'.

OSSStorage

OSSStorage defines the Aliyun OSS storage specification.

Appears in:

Field Description Default Validation
bucket string The data will be stored in the bucket.
region string The region of the bucket.
secretName string 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.
root string The OSS directory path.
endpoint string The endpoint of the bucket.

ObjectStorageProviderSpec

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

Appears in:

Field Description Default Validation
s3 S3Storage S3 is the AWS S3 storage configuration.
oss OSSStorage OSS is the Aliyun OSS storage configuration.
gcs GCSStorage GCS is the Google cloud storage configuration.
azblob AZBlobStorage AZBlob is the Azure Blob storage configuration.
cache CacheStorage Cache is the cache storage configuration for object storage.

Phase

Underlying type: string

Phase define the phase of the cluster or standalone.

Appears in:

Field Description
Starting PhaseStarting means the controller start to create cluster or standalone.
Running PhaseRunning means all the components of cluster or standalone is ready.
Updating PhaseUpdating means the cluster or standalone is updating.
Error PhaseError means some kind of error happen in reconcile.
Terminating PhaseTerminating means the cluster or standalone is terminating.

PodTemplateSpec

PodTemplateSpec defines the template for a pod of cluster.

Appears in:

Field Description Default Validation
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 MainContainerSpec MainContainer 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 array 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.
restartPolicy RestartPolicy 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.
terminationGracePeriodSeconds integer 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.
activeDeadlineSeconds integer 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.
dnsPolicy DNSPolicy 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.
serviceAccountName string 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.
hostNetwork boolean 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.
imagePullSecrets LocalObjectReference array 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.
affinity Affinity If specified, the pod's scheduling constraints
Affinity field is from corev1.PodSpec.Affinity.
tolerations Toleration array If specified, the pod's tolerations.
schedulerName string 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.
additionalContainers Container array 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.
volumes Volume array List of volumes that can be mounted by containers belonging to the pod.
securityContext PodSecurityContext SecurityContext holds pod-level security attributes and common container settings.

PrometheusMonitorSpec

PrometheusMonitorSpec defines the PodMonitor configuration.

Appears in:

Field Description Default Validation
enabled boolean Enabled indicates whether the PodMonitor is enabled.
labels object (keys:string, values:string) Labels is the labels for the PodMonitor.
interval string Interval is the scape interval for the PodMonitor.

RaftEngineWAL

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

Appears in:

Field Description Default Validation
fs FileStorage FileStorage 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:

Field Description Default Validation
bucket string The data will be stored in the bucket.
region string The region of the bucket.
secretName string 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.
root string The S3 directory path.
endpoint string The endpoint of the bucket.

ServiceSpec

ServiceSpec defines the service configuration for the component.

Appears in:

Field Description Default Validation
type ServiceType Type 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 string LoadBalancerClass 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:

Field Description Default Validation
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 array 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.
restartPolicy RestartPolicy 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.
terminationGracePeriodSeconds integer 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.
activeDeadlineSeconds integer 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.
dnsPolicy DNSPolicy 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.
serviceAccountName string 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.
hostNetwork boolean 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.
imagePullSecrets LocalObjectReference array 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.
affinity Affinity If specified, the pod's scheduling constraints
Affinity field is from corev1.PodSpec.Affinity.
tolerations Toleration array If specified, the pod's tolerations.
schedulerName string 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.
additionalContainers Container array 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.
volumes Volume array List of volumes that can be mounted by containers belonging to the pod.
securityContext PodSecurityContext SecurityContext holds pod-level security attributes and common container settings.

SlowQuery

SlowQuery defines the slow query configuration. It only works for the datanode component.

Appears in:

Field Description Default Validation
enabled boolean Enabled indicates whether the slow query is enabled.
threshold string Threshold is the threshold of the slow query. Default to 10s. Pattern: ^([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$
sampleRatio string SampleRatio 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

StorageRetainPolicyType

Underlying type: string

StorageRetainPolicyType is the type of the storage retain policy.

Appears in:

Field Description
Retain StorageRetainPolicyTypeRetain is the default options.
The storage(PVCs) will be retained when the cluster is deleted.
Delete StorageRetainPolicyTypeDelete specify that the storage will be deleted when the associated StatefulSet delete.

TLSSpec

TLSSpec defines the TLS configurations for the component.

Appears in:

Field Description Default Validation
secretName string 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.

VectorSpec

VectorSpec is the specification for vector instance.

Appears in:

Field Description Default Validation
image string The image of the vector instance.
resources ResourceRequirements The resources of the vector instance.

WALProviderSpec

WALProviderSpec defines the WAL provider for the cluster.

Appears in:

Field Description Default Validation
raftEngine RaftEngineWAL RaftEngineWAL is the specification for local WAL that uses raft-engine.
kafka KafkaWAL KafkaWAL is the specification for remote WAL that uses Kafka.