This is an automated email from the ASF dual-hosted git repository.

miaoliyao pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/shardingsphere-on-cloud.git


The following commit(s) were added to refs/heads/main by this push:
     new c8b625c  feat: add cnpg builder cluster parameters
     new a6fe2c9  Merge pull request #430 from yikuaibro/cnpg
c8b625c is described below

commit c8b625c8db09bb249baf06bf3c509d973154ba79
Author: li <[email protected]>
AuthorDate: Fri Jul 7 12:21:31 2023 +0800

    feat: add cnpg builder cluster parameters
---
 .../pkg/kubernetes/cloudnative-pg/builder.go       | 33 ++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/shardingsphere-operator/pkg/kubernetes/cloudnative-pg/builder.go 
b/shardingsphere-operator/pkg/kubernetes/cloudnative-pg/builder.go
index 1a34744..14c1ec8 100644
--- a/shardingsphere-operator/pkg/kubernetes/cloudnative-pg/builder.go
+++ b/shardingsphere-operator/pkg/kubernetes/cloudnative-pg/builder.go
@@ -33,6 +33,18 @@ func NewCluster(sn *v1alpha1.StorageNode, sp 
*v1alpha1.StorageProvider) *cnpgv1.
        builder.SetName(sn.Name)
        builder.SetNamespace(sn.Namespace)
 
+       if len(sp.Spec.Parameters["imageName"]) > 0 {
+               builder.SetImageName(sp.Spec.Parameters["imageName"])
+       }
+
+       if len(sp.Spec.Parameters["backup.retentionPolicy"]) > 0 {
+               
builder.SetBackupRetentionPolicy(sp.Spec.Parameters["backup.retentionPolicy"])
+       }
+
+       if len(sp.Spec.Parameters["backup.target"]) > 0 {
+               
builder.SetBackupTarget(cnpgv1.BackupTarget(sp.Spec.Parameters["backup.target"]))
+       }
+
        if len(sp.Spec.Parameters["instances"]) > 0 {
                ins, _ := strconv.Atoi(sp.Spec.Parameters["instances"])
                builder.SetInstances(ins)
@@ -56,7 +68,10 @@ type ClusterBuilder interface {
        SetName(name string) ClusterBuilder
        SetNamespace(namespace string) ClusterBuilder
        SetInstances(n int) ClusterBuilder
+       SetImageName(name string) ClusterBuilder
        SetStorageSize(s string) ClusterBuilder
+       SetBackupRetentionPolicy(r string) ClusterBuilder
+       SetBackupTarget(t cnpgv1.BackupTarget) ClusterBuilder
        Build() *cnpgv1.Cluster
 }
 
@@ -82,12 +97,30 @@ func (b *clusterBuilder) SetInstances(n int) ClusterBuilder 
{
        return b
 }
 
+// SetImageName sets the name of the container image
+func (b *clusterBuilder) SetImageName(name string) ClusterBuilder {
+       b.cluster.Spec.ImageName = name
+       return b
+}
+
 // SetStorageSize sets the storage size of the cluster
 func (b *clusterBuilder) SetStorageSize(s string) ClusterBuilder {
        b.cluster.Spec.StorageConfiguration.Size = s
        return b
 }
 
+// SetBackupRetentionPolicy sets the backup retention policy of the cluster
+func (b *clusterBuilder) SetBackupRetentionPolicy(r string) ClusterBuilder {
+       b.cluster.Spec.Backup.RetentionPolicy = r
+       return b
+}
+
+// SetBackupTarget sets the backup target of the cluster
+func (b *clusterBuilder) SetBackupTarget(t cnpgv1.BackupTarget) ClusterBuilder 
{
+       b.cluster.Spec.Backup.Target = t
+       return b
+}
+
 // Build builds the cluster
 func (b *clusterBuilder) Build() *cnpgv1.Cluster {
        return b.cluster

Reply via email to