diff --git a/apis/v1alpha1/defaulting.go b/apis/v1alpha1/defaulting.go index f113b38d..42f783c1 100644 --- a/apis/v1alpha1/defaulting.go +++ b/apis/v1alpha1/defaulting.go @@ -41,7 +41,7 @@ var ( // The default storage settings for datanode. defaultDataNodeStorageName = "datanode" defaultDataNodeStorageSize = "10Gi" - defaultDataNodeStorageMountPath = "/tmp/greptimedb" + defaultDataNodeStorageMountPath = "/data/greptimedb" defaultStorageRetainPolicyType = RetainStorageRetainPolicyTypeRetain defaultInitializer = "greptime/greptimedb-initializer:latest" diff --git a/apis/v1alpha1/greptimedbcluster_types.go b/apis/v1alpha1/greptimedbcluster_types.go index a0a973b1..2b33ee39 100644 --- a/apis/v1alpha1/greptimedbcluster_types.go +++ b/apis/v1alpha1/greptimedbcluster_types.go @@ -420,6 +420,11 @@ type S3StorageProvider struct { // The S3 directory path. // +optional Root string `json:"root,omitempty"` + + // The datahome directory + // +optional + // +kubebuilder:default:="/data/greptimedb" + DataHome string `json:"dataHome,omitempty"` } type OSSStorageProvider struct { @@ -440,14 +445,19 @@ type OSSStorageProvider struct { // +optional SecretName string `json:"secretName,omitempty"` - // The S3 directory path. + // The OSS directory path. // +optional Root string `json:"root,omitempty"` + + // The datahome directory + // +optional + // +kubebuilder:default:="/data/greptimedb" + DataHome string `json:"dataHome,omitempty"` } type LocalStorageProvider struct { // The local directory to store the data. - Directory string `json:"directory,omitempty"` + DataHome string `json:"dataHome,omitempty"` } // GreptimeDBClusterSpec defines the desired state of GreptimeDBCluster diff --git a/config/crd/bases/greptime.io_greptimedbclusters.yaml b/config/crd/bases/greptime.io_greptimedbclusters.yaml index 485e0095..c165ba8a 100644 --- a/config/crd/bases/greptime.io_greptimedbclusters.yaml +++ b/config/crd/bases/greptime.io_greptimedbclusters.yaml @@ -10724,13 +10724,16 @@ spec: type: string local: properties: - directory: + dataHome: type: string type: object oss: properties: bucket: type: string + dataHome: + default: /data/greptimedb + type: string endpoint: type: string region: @@ -10744,6 +10747,9 @@ spec: properties: bucket: type: string + dataHome: + default: /data/greptimedb + type: string endpoint: type: string region: diff --git a/manifests/greptimedb-operator-crd.yaml b/manifests/greptimedb-operator-crd.yaml index 63292e26..5b520902 100644 --- a/manifests/greptimedb-operator-crd.yaml +++ b/manifests/greptimedb-operator-crd.yaml @@ -10723,13 +10723,16 @@ spec: type: string local: properties: - directory: + dataHome: type: string type: object oss: properties: bucket: type: string + dataHome: + default: /data/greptimedb + type: string endpoint: type: string region: @@ -10743,6 +10746,9 @@ spec: properties: bucket: type: string + dataHome: + default: /data/greptimedb + type: string endpoint: type: string region: diff --git a/manifests/greptimedb-operator-deployment.yaml b/manifests/greptimedb-operator-deployment.yaml index 353cfce0..02852d68 100644 --- a/manifests/greptimedb-operator-deployment.yaml +++ b/manifests/greptimedb-operator-deployment.yaml @@ -10730,13 +10730,16 @@ spec: type: string local: properties: - directory: + dataHome: type: string type: object oss: properties: bucket: type: string + dataHome: + default: /data/greptimedb + type: string endpoint: type: string region: @@ -10750,6 +10753,9 @@ spec: properties: bucket: type: string + dataHome: + default: /data/greptimedb + type: string endpoint: type: string region: diff --git a/pkg/dbconfig/datanode_config.go b/pkg/dbconfig/datanode_config.go index 7855e2f4..e142a9bf 100644 --- a/pkg/dbconfig/datanode_config.go +++ b/pkg/dbconfig/datanode_config.go @@ -158,7 +158,7 @@ func (c *DatanodeConfig) ConfigureByCluster(cluster *v1alpha1.GreptimeDBCluster) if cluster.Spec.StorageProvider != nil { if cluster.Spec.StorageProvider.Local != nil { c.Storage.Type = "File" - c.Storage.DataHome = cluster.Spec.StorageProvider.Local.Directory + c.Storage.DataHome = cluster.Spec.StorageProvider.Local.DataHome } else if cluster.Spec.StorageProvider.S3 != nil { if cluster.Spec.StorageProvider.S3.SecretName != "" { accessKeyID, secretAccessKey, err := c.getOCSCredentials(cluster.Namespace, cluster.Spec.StorageProvider.S3.SecretName) @@ -174,6 +174,8 @@ func (c *DatanodeConfig) ConfigureByCluster(cluster *v1alpha1.GreptimeDBCluster) c.Storage.Root = cluster.Spec.StorageProvider.S3.Root c.Storage.Endpoint = cluster.Spec.StorageProvider.S3.Endpoint c.Storage.Region = cluster.Spec.StorageProvider.S3.Region + c.Storage.DataHome = cluster.Spec.StorageProvider.S3.DataHome + } else if cluster.Spec.StorageProvider.OSS != nil { if cluster.Spec.StorageProvider.OSS.SecretName != "" { accessKeyID, secretAccessKey, err := c.getOCSCredentials(cluster.Namespace, cluster.Spec.StorageProvider.OSS.SecretName) @@ -189,6 +191,7 @@ func (c *DatanodeConfig) ConfigureByCluster(cluster *v1alpha1.GreptimeDBCluster) c.Storage.Root = cluster.Spec.StorageProvider.OSS.Root c.Storage.Endpoint = cluster.Spec.StorageProvider.OSS.Endpoint c.Storage.Region = cluster.Spec.StorageProvider.OSS.Region + c.Storage.DataHome = cluster.Spec.StorageProvider.OSS.DataHome } }