in shardingsphere-operator/pkg/kubernetes/cloudnative-pg/builder.go [33:145]
func NewCluster(sn *v1alpha1.StorageNode, sp *v1alpha1.StorageProvider) *cnpgv1.Cluster {
builder := NewClusterBuilder(sn.GetObjectMeta(), sn.GetObjectKind().GroupVersionKind())
builder.SetName(sn.Name)
builder.SetNamespace(sn.Namespace)
if len(sp.Spec.Parameters["description"]) > 0 {
builder.SetDescription(sp.Spec.Parameters["description"])
}
if len(sp.Spec.Parameters["imageName"]) > 0 {
builder.SetImageName(sp.Spec.Parameters["imageName"])
}
if len(sp.Spec.Parameters["imagePullPolicy"]) > 0 {
builder.SetImagePullPolicy(sp.Spec.Parameters["imagePullPolicy"])
}
if len(sp.Spec.Parameters["postgresUID"]) > 0 {
pUID, _ := strconv.ParseInt(sp.Spec.Parameters["postgresUID"], 10, 64)
builder.SetPostgresUID(pUID)
}
if len(sp.Spec.Parameters["postgresGID"]) > 0 {
pGID, _ := strconv.ParseInt(sp.Spec.Parameters["postgresGID"], 10, 64)
builder.SetPostgresGID(pGID)
}
if len(sp.Spec.Parameters["minSyncReplicas"]) > 0 {
minSyncReplicas, _ := strconv.Atoi(sp.Spec.Parameters["minSyncReplicas"])
builder.SetMinSyncReplicas(minSyncReplicas)
}
if len(sp.Spec.Parameters["maxSyncReplicas"]) > 0 {
maxSyncReplicas, _ := strconv.Atoi(sp.Spec.Parameters["maxSyncReplicas"])
builder.SetMaxSyncReplicas(maxSyncReplicas)
}
if len(sp.Spec.Parameters["replicaCluster.enabled"]) > 0 {
enabledrc, _ := strconv.ParseBool(sp.Spec.Parameters["replicaCluster.enabled"])
builder.SetReplicaClusterEnabled(enabledrc)
}
if len(sp.Spec.Parameters["replicaCluster.source"]) > 0 {
builder.SetReplicaClusterSource(sp.Spec.Parameters["replicaCluster.source"])
}
if len(sp.Spec.Parameters["enableSuperuserAccess"]) > 0 {
enablesa, _ := strconv.ParseBool(sp.Spec.Parameters["enableSuperuserAccess"])
builder.SetEnableSuperuserAccess(&enablesa)
}
if len(sp.Spec.Parameters["superuserSecret"]) > 0 {
builder.SetSuperuserSecret(sp.Spec.Parameters["superuserSecret"])
}
builder.SetCertificates(
sp.Spec.Parameters["certificates.serverCASecret"],
sp.Spec.Parameters["certificates.serverTLSSecret"],
sp.Spec.Parameters["certificates.replicationTLSSecret"],
sp.Spec.Parameters["certificates.clientCASecret"],
[]string{sp.Spec.Parameters["certificates.ServerAltDNSNames"]})
if len(sp.Spec.Parameters["maxStartDelay"]) > 0 {
maxStartDelay, _ := strconv.ParseInt(sp.Spec.Parameters["maxStartDelay"], 10, 32)
builder.SetMaxStartDelay(int32(maxStartDelay))
}
if len(sp.Spec.Parameters["maxStopDelay"]) > 0 {
maxStopDelay, _ := strconv.ParseInt(sp.Spec.Parameters["maxStopDelay"], 10, 32)
builder.SetMaxStopDelay(int32(maxStopDelay))
}
if len(sp.Spec.Parameters["maxSwitchoverDelay"]) > 0 {
maxSwitchoverDelay, _ := strconv.ParseInt(sp.Spec.Parameters["maxSwitchoverDelay"], 10, 32)
builder.SetMaxSwitchoverDelay(int32(maxSwitchoverDelay))
}
if len(sp.Spec.Parameters["failoverDelay"]) > 0 {
failoverDelay, _ := strconv.ParseInt(sp.Spec.Parameters["failoverDelay"], 10, 32)
builder.SetFailoverDelay(int32(failoverDelay))
}
if len(sp.Spec.Parameters["primaryUpdateStrategy"]) > 0 {
builder.SetPrimaryUpdateStrategy(sp.Spec.Parameters["primaryUpdateStrategy"])
}
if len(sp.Spec.Parameters["primaryUpdateMethod"]) > 0 {
builder.SetPrimaryUpdateMethod(sp.Spec.Parameters["primaryUpdateMethod"])
}
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(sp.Spec.Parameters["backup.target"])
}
if len(sp.Spec.Parameters["instances"]) > 0 {
ins, _ := strconv.Atoi(sp.Spec.Parameters["instances"])
builder.SetInstances(ins)
}
if len(sp.Spec.Parameters["storage.size"]) > 0 {
builder.SetStorageSize(sp.Spec.Parameters["storage.size"])
}
if len(sp.Spec.Parameters["logLevel"]) > 0 {
builder.SetLogLevel(sp.Spec.Parameters["logLevel"])
}
return builder.Build()
}