github zalando/postgres-operator v2.0.0
Postgres Operator v2

6 hours ago

This is a new major release. Please, read the instructions how to migrate to v2.0. Thanks to everyone who contributed with PRs, feedback, raising issues or providing ideas.

New features

  • Support for Postgres 18 (#3035)
  • Support for NodePort service type (#2968, #994)
  • TopologySpreadConstraint support (#2530)
  • ARM-compatible pooler image is now part of the repo (#3077)
  • Configurable LivenessProbe (#3089, #1972)
  • Added support for IRSA for running the operator on EKS (#3128, #3135)
  • Maintenance windows can be globally configured and also disabled (#3038, #3040, #3074)
  • Support for EnvFrom section in cluster manifest (#3118)
  • New annotation to ignore globally configured resource thresholds (#3030)
  • New primary slot name option in standby section (#3033)
  • New wasm build target (#3068)
  • [logical-backup] Configurable job history limits and TTL for logical backups (#3091, #3111)

Enhancements

  • CRDs manifests are now generated from Go structs (#3004, #3007, #3031, #3102, #3117)
  • Modernized code generation and updated Makefile (#3003, #3130)
  • Options standby_host can be combined with s3_wal_path to help with cross infra migrations (#3033)
  • Preserve sync quorum in primary PDB without master selector (#3119)
  • Pooler users are sourced from a new secret (#3077, #3093)
  • Avoid rotating pods for PGVERSION change outside of maintenance window (#3065)
  • Extend validation pattern of allowedSourceRanges to allow for IPv6 ranges (#2985, #3082)
  • Use UpdateStatus instead of patch to make the status sub resource easier to extend in the future (#3005)
  • Remove hardcoded Postgres version map from go code for more flexible use with newer releases (#3043)
  • Switch to client-go informers for pod and node events (#3080)
  • Add unit tests for validate() and NewFromMap() functions (#3068)
  • Pass pod security context, cluster_labels and annotations also passed to logical backup CronJob and Jobs (#2117 ,#3085)
  • Update to Go 1.26.4 and bump dependencies, lib/pq, aws-sdk-go-v2 etc. (#3108)
  • Use docker buildx commands in Makefiles (#3137)
  • Update versions of GitHub action runners (#3108, #3134)
  • [UI] honor AWS_ENDPOINT in read_basebackups S3 list/get (#3079)
  • [helm] Extra CLI args such as kubeqps or kubeburst can passed via values of helm chart (#2892)
  • [helm] Removed cpu limit config (#2893)
  • [helm] Publish helm charts to ghcr.io (#2853)

Bugfixes

  • Fix rolling update deadlock when single pods are stuck in non-running state (#3051)
  • Use maxUnavailable for the critical-op PDB to stop idle alert noise (#3141)
  • Avoid switchover scheduling when default maintenance windows is nil (#3058)
  • Fix deletion timestamp setting when finalizers are used (#3015)
  • Do not update secrets of standby clusters (#3044, #3088)
  • Set infrastructure roles also if one fails (#3045)
  • Detect platform in Dockerfile to avoid build issues on ARM (#3108)
  • Removed e2e test image fallback and make sure to always test against the PR build (#3037)
  • [logical-backup] Wait for PG connectivity before running backup (#3069)
  • [UI] Fix JSON value of OPERATOR_UI_CONFIG (#3070)

Breaking changes

  • Dropped support for Postgres 13 and helm chart 1.10.1 (#3035, #3134)
  • kubernetes_use_configmaps is now true by default because endpoints will disappear (#3102, #3116)
  • Password encryptions defaults to scram-sha-256 (forces a rolling update) (#2962)
  • Do not set aws-load-balancer-connection-idle-timeout by default (#3054)
  • Dropped GP2->GP3 volume migration (options enable_ebs_gp3_migration and enable_ebs_gp3_migration_max_size) (#3142)
  • Dropped deprecated manifest fields useLoadBalancer, replicaLoadBalancer and pod_priority_class_name and init_containers (#3106)
  • Dropped kubectl-pg plugin (#3107)
  • Removed all references to registry.opensource.zalan.do (#3092)

Postgres Operator: ghcr.io/zalando/postgres-operator:v2.0.0
Pooler: UI: ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.0
UI: ghcr.io/zalando/postgres-operator-ui:v2.0.0
Logical Backup: ghcr.io/zalando/postgres-operator/logical-backup:v2.0.0

Default Spilo image: ghcr.io/zalando/spilo-17:4.1-p2

Thanks to our contributors: @FxKu, @mikkeloscar, @idanovinda, @hughcapet, @tcondeixa, @jopadi,
@raphaeltorquat0, @lucasl0st, @laiminhtrung1997, @thoro, @annielzy, @unkhz @jorsol, @pierreozoux,
@kadaffy, @k0da, @chobostar, @a1994sc, @aslafy-z, @zak905, @addreas, @SAY-5, @alimelgohary,
@dandeandean, @exciler, @bramhanandlingala, @yajo, @davidspek, @sdudoladov, @nctram

Don't miss a new postgres-operator release

NewReleases is sending notifications on new releases.