func NewCluster()

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()
}