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
3 changes: 2 additions & 1 deletion api/v1/postgres_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -658,7 +658,8 @@ func setSharedBufferSize(parameters map[string]string, shmSize string) {

// enableAuditLogs configures this postgres instances audit logging
func enableAuditLogs(parameters map[string]string) {
parameters["shared_preload_libraries"] = "pgaudit"
// default values: bg_mon,pg_stat_statements,pgextwlist,pg_auth_mon,set_user,timescaledb,pg_cron,pg_stat_kcache
parameters["shared_preload_libraries"] = "bg_mon,pg_stat_statements,pgextwlist,pg_auth_mon,set_user,timescaledb,pg_cron,pg_stat_kcache,pgaudit"
parameters["pgaudit.log_catalog"] = "off"
parameters["pgaudit.log"] = "ddl"
parameters["pgaudit.log_relation"] = "on"
Expand Down
50 changes: 28 additions & 22 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,22 +35,23 @@ import (

const (
// envPrefix = "pg"
metricsAddrSvcMgrFlg = "metrics-addr-svc-mgr"
metricsAddrCtrlMgrFlg = "metrics-addr-ctrl-mgr"
enableLeaderElectionFlg = "enable-leader-election"
partitionIDFlg = "partition-id"
tenantFlg = "tenant"
ctrlPlaneKubeConfifgFlg = "controlplane-kubeconfig"
loadBalancerIPFlg = "load-balancer-ip"
portRangeStartFlg = "port-range-start"
portRangeSizeFlg = "port-range-size"
customPSPNameFlg = "custom-psp-name"
storageClassFlg = "storage-class"
postgresImageFlg = "postgres-image"
etcdHostFlg = "etcd-host"
crdValidationFlg = "enable-crd-validation"
operatorImageFlg = "operator-image"
pgParamBlockListFlg = "postgres-param-blocklist"
metricsAddrSvcMgrFlg = "metrics-addr-svc-mgr"
metricsAddrCtrlMgrFlg = "metrics-addr-ctrl-mgr"
enableLeaderElectionFlg = "enable-leader-election"
partitionIDFlg = "partition-id"
tenantFlg = "tenant"
ctrlPlaneKubeConfifgFlg = "controlplane-kubeconfig"
loadBalancerIPFlg = "load-balancer-ip"
portRangeStartFlg = "port-range-start"
portRangeSizeFlg = "port-range-size"
customPSPNameFlg = "custom-psp-name"
storageClassFlg = "storage-class"
postgresImageFlg = "postgres-image"
etcdHostFlg = "etcd-host"
crdValidationFlg = "enable-crd-validation"
operatorImageFlg = "operator-image"
pgParamBlockListFlg = "postgres-param-blocklist"
majorVersionUpgradeModeFlg = "major-version-upgrade-mode"
)

var (
Expand All @@ -69,7 +70,7 @@ func init() {
}

func main() {
var metricsAddrCtrlMgr, metricsAddrSvcMgr, partitionID, tenant, ctrlClusterKubeconfig, pspName, lbIP, storageClass, postgresImage, etcdHost, operatorImage string
var metricsAddrCtrlMgr, metricsAddrSvcMgr, partitionID, tenant, ctrlClusterKubeconfig, pspName, lbIP, storageClass, postgresImage, etcdHost, operatorImage, majorVersionUpgradeMode string
var enableLeaderElection, enableCRDValidation bool
var portRangeStart, portRangeSize int
var pgParamBlockList map[string]bool
Expand Down Expand Up @@ -133,6 +134,9 @@ func main() {
pgParamBlockList[blockedParam] = true
}

viper.SetDefault(majorVersionUpgradeModeFlg, "manual")
majorVersionUpgradeMode = viper.GetString(majorVersionUpgradeModeFlg)

ctrl.SetLogger(zap.New(zap.UseDevMode(true)))

ctrl.Log.Info("flag",
Expand All @@ -152,6 +156,7 @@ func main() {
etcdHostFlg, etcdHost,
crdValidationFlg, enableCRDValidation,
pgParamBlockListFlg, pgParamBlockList,
majorVersionUpgradeModeFlg, majorVersionUpgradeMode,
)

svcClusterConf := ctrl.GetConfigOrDie()
Expand Down Expand Up @@ -185,11 +190,12 @@ func main() {
}

var opMgrOpts operatormanager.Options = operatormanager.Options{
PspName: pspName,
OperatorImage: operatorImage,
DockerImage: postgresImage,
EtcdHost: etcdHost,
CRDValidation: enableCRDValidation,
PspName: pspName,
OperatorImage: operatorImage,
DockerImage: postgresImage,
EtcdHost: etcdHost,
CRDValidation: enableCRDValidation,
MajorVersionUpgradeMode: majorVersionUpgradeMode,
}
opMgr, err := operatormanager.New(svcClusterConf, "external/svc-postgres-operator.yaml", scheme, ctrl.Log.WithName("OperatorManager"), opMgrOpts)
if err != nil {
Expand Down
12 changes: 7 additions & 5 deletions pkg/operatormanager/operatormanager.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,11 +60,12 @@ var operatorPodMatchingLabels = client.MatchingLabels{operatorPodLabelName: oper

// Options
type Options struct {
PspName string
OperatorImage string
DockerImage string
EtcdHost string
CRDValidation bool
PspName string
OperatorImage string
DockerImage string
EtcdHost string
CRDValidation bool
MajorVersionUpgradeMode string
}

// OperatorManager manages the operator
Expand Down Expand Up @@ -415,6 +416,7 @@ func (m *OperatorManager) editConfigMap(cm *corev1.ConfigMap, namespace string,
}

cm.Data["enable_crd_validation"] = strconv.FormatBool(options.CRDValidation)
cm.Data["major_version_upgrade_mode"] = options.MajorVersionUpgradeMode
}

// ensureCleanMetadata ensures obj has clean metadata
Expand Down
9 changes: 9 additions & 0 deletions svc-cluster-values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
image:
tag: "latest"
pullPolicy: "Never" # we test unreleased images here, so download would fail anyway
postgreslet:
storageClass: "" # kind cluster does not have our default storage class installed
enableCrdValidation: false # required for the custom operator crd
operatorImage: "ermajn/postgres-operator:v1.7.0-1-g711648b-dirty"
postgresImage: "cybertecpostgresql/spilo:2.1-p1_de-sync-standby-cluster_0.3.1"
addRandomLabel: true # changes the manifest with each update, in turn forcing a rolling update even when using the 'latest' image