Skip to content

Commit 364ed9a

Browse files
authored
Make enable_pod_antiaffinity configurable (#370)
1 parent c285b54 commit 364ed9a

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

main.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ const (
5656
postgresletNamespaceFlg = "postgreslet-namespace"
5757
sidecarsCMNameFlg = "sidecars-configmap-name"
5858
enableNetPolFlg = "enable-netpol"
59+
enablePodAntiaffinityFlg = "enable-pod-antiaffinity"
5960
)
6061

6162
var (
@@ -75,7 +76,7 @@ func init() {
7576

7677
func main() {
7778
var metricsAddrCtrlMgr, metricsAddrSvcMgr, partitionID, tenant, ctrlClusterKubeconfig, pspName, lbIP, storageClass, postgresImage, etcdHost, operatorImage, majorVersionUpgradeMode, postgresletNamespace, sidecarsCMName string
78-
var enableLeaderElection, enableCRDValidation, enableNetPol bool
79+
var enableLeaderElection, enableCRDValidation, enableNetPol, enablePodAntiaffinity bool
7980
var portRangeStart, portRangeSize int
8081
var pgParamBlockList map[string]bool
8182
var standbyClusterSourceRanges []string
@@ -155,6 +156,9 @@ func main() {
155156
viper.SetDefault(enableNetPolFlg, false)
156157
enableNetPol = viper.GetBool(enableNetPolFlg)
157158

159+
viper.SetDefault(enablePodAntiaffinityFlg, false)
160+
enablePodAntiaffinity = viper.GetBool(enablePodAntiaffinityFlg)
161+
158162
ctrl.SetLogger(zap.New(zap.UseDevMode(true)))
159163

160164
ctrl.Log.Info("flag",
@@ -179,6 +183,7 @@ func main() {
179183
postgresletNamespaceFlg, postgresletNamespace,
180184
sidecarsCMNameFlg, sidecarsCMName,
181185
enableNetPolFlg, enableNetPol,
186+
enablePodAntiaffinityFlg, enablePodAntiaffinity,
182187
)
183188

184189
svcClusterConf := ctrl.GetConfigOrDie()
@@ -220,6 +225,7 @@ func main() {
220225
MajorVersionUpgradeMode: majorVersionUpgradeMode,
221226
PostgresletNamespace: postgresletNamespace,
222227
SidecarsConfigMapName: sidecarsCMName,
228+
PodAntiaffinity: enablePodAntiaffinity,
223229
}
224230
opMgr, err := operatormanager.New(svcClusterConf, "external/svc-postgres-operator.yaml", scheme, ctrl.Log.WithName("OperatorManager"), opMgrOpts)
225231
if err != nil {

pkg/operatormanager/operatormanager.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ type Options struct {
6262
MajorVersionUpgradeMode string
6363
PostgresletNamespace string
6464
SidecarsConfigMapName string
65+
PodAntiaffinity bool
6566
}
6667

6768
// OperatorManager manages the operator
@@ -412,6 +413,8 @@ func (m *OperatorManager) editConfigMap(cm *corev1.ConfigMap, namespace string,
412413
// we specifically refer to those two users in the cloud-api, so we hardcode them here as well to be on the safe side.
413414
cm.Data["super_username"] = "postgres"
414415
cm.Data["replication_username"] = "standby"
416+
417+
cm.Data["enable_pod_antiaffinity"] = strconv.FormatBool(options.PodAntiaffinity)
415418
}
416419

417420
// ensureCleanMetadata ensures obj has clean metadata

0 commit comments

Comments
 (0)