Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ const (
podTopologySpreadConstraintTopologyKeyFlg = "pod-topology-spread-constraint-topology-key"
podTopologySpreadConstraintMaxSkewFlg = "pod-topology-spread-constraint-max-skew"
podTopologySpreadConstraintMinDomainsFlg = "pod-topology-spread-constraint-min-domains"
enableSpiloReadinessProbeFlg = "enable-spilo-readiness-probe"
)

var (
Expand Down Expand Up @@ -170,6 +171,7 @@ func main() {
enableWalGExporter bool
podAntiaffinityPreferredDuringScheduling bool
enablePodTopologySpreadConstraintWebhook bool
enableSpiloReadinessProbe bool

portRangeStart int32
portRangeSize int32
Expand Down Expand Up @@ -371,6 +373,9 @@ func main() {
podTopologySpreadConstraintMaxSkew = viper.GetInt32(podTopologySpreadConstraintMaxSkewFlg)
podTopologySpreadConstraintMinDomains = viper.GetInt32(podTopologySpreadConstraintMinDomainsFlg)

viper.SetDefault(enableSpiloReadinessProbeFlg, false)
enableSpiloReadinessProbe = viper.GetBool(enableSpiloReadinessProbeFlg)

ctrl.Log.Info("flag",
metricsAddrSvcMgrFlg, metricsAddrSvcMgr,
metricsAddrCtrlMgrFlg, metricsAddrCtrlMgr,
Expand Down Expand Up @@ -426,6 +431,7 @@ func main() {
podTopologySpreadConstraintTopologyKeyFlg, podTopologySpreadConstraintTopologyKey,
podTopologySpreadConstraintMaxSkewFlg, podTopologySpreadConstraintMaxSkew,
podTopologySpreadConstraintMinDomainsFlg, podTopologySpreadConstraintMinDomains,
enableSpiloReadinessProbeFlg, enableSpiloReadinessProbe,
)

svcClusterConf := ctrl.GetConfigOrDie()
Expand Down Expand Up @@ -499,6 +505,7 @@ func main() {
PatroniFailsafeMode: enablePatroniFailsafeMode,
PodAntiaffinityPreferredDuringScheduling: podAntiaffinityPreferredDuringScheduling,
PodAntiaffinityTopologyKey: podAntiaffinityTopologyKey,
EnableReadinessProbe: enableSpiloReadinessProbe,
}
opMgr, err := operatormanager.New(svcClusterConf, "external/svc-postgres-operator.yaml", scheme, ctrl.Log.WithName("OperatorManager"), opMgrOpts)
if err != nil {
Expand Down
6 changes: 6 additions & 0 deletions pkg/operatormanager/operatormanager.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ type Options struct {
PatroniFailsafeMode bool
PodAntiaffinityPreferredDuringScheduling bool
PodAntiaffinityTopologyKey string
EnableReadinessProbe bool
}

// OperatorManager manages the operator
Expand Down Expand Up @@ -456,6 +457,11 @@ func (m *OperatorManager) editConfigMap(cm *corev1.ConfigMap, namespace string,
cm.Data["postgres_superuser_teams"] = ""
cm.Data["teams_api_url"] = ""

if options.EnableReadinessProbe {
cm.Data["enable_readiness_probe"] = strconv.FormatBool(true)
cm.Data["pod_management_policy"] = "parallel"
}

}

// ensureCleanMetadata ensures obj has clean metadata
Expand Down
Loading