Skip to content

Releases: EnterpriseDB/kubectl-cnp

v1.18.3

20 Mar 11:56
988bdd3
Compare
Choose a tag to compare

Release date: March 20, 2023

Enhancements:

  • Extend the debug cluster's log level to the initdb job (#1503)
  • Support IPv6 and custom pg_hba for the PgBouncer pooler (#1395)
  • Enhance observability of backups with two new metrics and additional information in the status (#1428)
  • Document API calls from the instance manager (#1641)
  • Clarify deployment name via Helm (#1505)
  • Add the psql command to the cnp plugin for kubectl (#1668) allowing the user to start a psql session with a pod (the primary by default)

Technical enhancements:

  • Adopt Renovate for dependency tracking/updating (#1367, #1473)
  • Inject binaries for all supported architectures in the operator image (#1513)
  • Use the backup name to match resources in the backup object store (#1650) Leverages the --name option introduced with Barman 3.3 to make the association betwen backups and the object store more robust.

Fixes:

  • Prevent panic with error handling in the probes (#1716)
  • Ensure that the HTTP package and controller runtime logs are in JSON format (#1442)
  • Adds WAL storage to a cluster in a single instance Cluster (#1570)
  • Various improvements to make backup code more robust (#1536, #1564, #1588, #1466, #1647)
  • Properly show WAL archiving information with status command of the cnp plugin (#1666)
  • Ensure nodeAffinity is applied even if AdditionalPodAffinity and AdditionalPodAntiAffinity are not set (#1663)

v1.18.2

14 Feb 16:53
988bdd3
Compare
Choose a tag to compare

Release date: Feb 14, 2023

Enhancements:

  • Introduce support for Kubernetes' projected volumes (#1269)
  • Introduce support custom environment variables for finer control of the PostgreSQL server process (#1275)
  • Introduce the backup command in the cnp plugin for kubectl to issue a new base backup of the cluster (#1348)
  • Improve support for the separate WAL volume feature by enabling users to move WAL files to a dedicated volume on an existing Postgres cluster (#1066)
  • Enhance WAL observability with additional metrics for the Prometheus exporter, including values equivalent to the min_wal_size, max_wal_size, keep_wal_size, wal_keep_segments, as well as the maximum number of WALs that can be stored in the dedicated volume (#1382)
  • Add a database comment on the streaming_replica user (#1349)
  • Document the firewall issues with webhooks on GKE (#1364)
  • Add note about postgresql.conf in recovery (#1211)
  • Add instructions on installing plugin using packages (#1357)
  • Specify Postgres versions supported by each minor release (#1355)
  • Clarify the meaning of PVC group in EDB Postgres for Kubernetes (#1344)
  • Add an example of the DigitalOcean S3-compatible Spaces (#1289)

Technical enhancements:

  • Added daily end-to-end smoke test for release branches (#1235)

Fixes:

  • Skip executing a CHECKPOINT as the streaming_replica user (#1408)
  • Make waitForWalArchiveWorking resilient to connection errors (#1399)
  • Ensure that the PVC roles are always consistent (#1380)
  • Permit walStorage resize when using pvcTemplate (#1315)
  • Ensure ExecCommand obeys timeout (#1242)
  • Avoid PodMonitor reconcile if Prometheus is not installed (#1238)
  • Avoid looking for PodMonitor when not needed (#1213)

v1.18.1

21 Dec 15:58
988bdd3
Compare
Choose a tag to compare

Release date: Dec 21, 2022

Important announcements:

  • Alert on the impending deprecation of postgresql as a label to identify the CNP cluster. In the remote case you have used this label, please start using the k8s.enterprisedb.io/cluster label instead (#1130)
  • Recognizing Armando Ruocco (@armru) as a new EDB Postgres for Kubernetes maintainer for his consistent and impactful contributions (#1167)
  • Remove ARMv7 support (#1092)
  • FINAL patch release for 1.16: 1.16.5. Release 1.16 reaches end of life.

Enhancements:

  • Customize labels and annotations for the service account: add a service account template that can be used, for example, to make authentication easier via identity management on GKE or EKS via IRSA (#1105)
  • Add nodeAffinity support (#1182) - allows for richer scheduling options
  • Improve compatibility with Istio: add support for Istio’s quit endpoint so that jobs with Istio sidecars do not run indefinitely (#967)
  • Allow fields remapping in JSON logs: helpful for use cases where the level and ts fields might interfere with the existing logging (#843)
  • Add fio command to the kubectl-cnp plugin (#1097)
  • Add rpm/deb package for kubectl-cnp plugin (#1008)
  • Update default PostgreSQL version for new cluster definitions to 15.1 (#908)
  • Documentation
    • Remove references to CNP sandbox (#1120) - the CNP sandbox has been deprecated, in favor of instructions on monitoring in the Quickstart documentation
    • Link to the "Release updates" discussion (#1148) - the release updates discussion will become the default channel for release announcements and discussions
    • Document emeritus status for maintainers in GOVERNANCE.md (#1033) - explains how maintainers should proceed if they are not ready to continue contributing
    • Improve instructions on creating pull requests (#1132)
    • Troubleshooting emergency backup instructions (#1184)

Fixes:

  • Ensure PGDATA permissions on bootstrap are properly set to 750 (#1164)
  • Ensure the PVC containing WALs is deleted when scaling down the cluster (#1135)
  • Fix missing ApiVersion and Kind in the pgbench manifest when using --dry-run (#1088)
  • Ensure that we create secrets and services only when not found (#1145)
  • Respect configured pg-wal when restoring (#1216)
  • Filter out replicas from nodeToClusters map (#1194)

Technical enhancements:

  • Use ciclops for test summary (#1064): rely on the ciclops GitHub action to provide summaries of the E2E suite, inheriting improvements from that project
  • Add backport pull request workflow (#965) - automatically backport patches to release branches if they are so annotated
  • Make the operator log level configurable in e2e test suite (#1094)
  • Enable test execution based on labels (#951)
  • Update Go version from 1.18 to 1.19 (#1166)

v1.18.0

10 Nov 19:46
988bdd3
Compare
Choose a tag to compare

Release date: Nov 10, 2022

Features:

  • Cluster-managed physical replication slots for High Availability: automatically manages physical replication slots for each hot standby replica in the High Availability cluster, both in the primary and the standby (#740)
  • Postgres cluster hibernation: introduces cluster hibernation via the plugin, with a new subcommand kubectl cnp hibernate on/off/status <cluster-name>. Hibernation destroys all the resources generated by the cluster, except the PVCs that belong to the PostgreSQL primary instance (#782)

Security:

  • Add SeccomProfile to Pods and Containers (#888)

Enhancements:

  • Allow omitting the storage size in the cluster spec if there is a size request in the pvcTemplate (#914)
  • status command for the cnp plugin:
    • Add replication slots information (#873)
    • Clarify display for fenced clusters (#886)
    • Improve display for replica clusters (#871)
  • Documentation:
    • Improve monitoring page, providing instructions on how to evaluate the observability capabilities of EDB Postgres for Kubernetes on a local system using Prometheus and Grafana (#968)
    • Add page on design reasons for custom controller (#918)
    • Updates to the End-to-End Test Suite page (#945)
  • New subcommands in the cnp plugin:
    • pgbench generates a job definition executing pgbench against a cluster (#958)
    • install generates an installation manifest for the operator (#944)
  • Set PostgreSQL 15.0 as the new default version (#821)

Fixes:

  • Import a database with plpgsql functions (#974)
  • Properly find the closest backup when doing Point-in-time recovery (#949)
  • Clarify that the ScheduledBackup format does not follow Kubernetes CronJob format (#883)
  • Bases the failover logic on the Postgres information from the instance manager, rather than Kubernetes pod readiness, which could be stale (#890)
  • Ensure we have a WAL to archive for every newly created cluster. The lack could prevent backups from working (#897)
  • Correct YAML key names for barmanObjectStore in documentation (#877)
  • Fix krew release (#866)

v1.17.5

20 Mar 11:54
988bdd3
Compare
Choose a tag to compare

Release date: March 20, 2023

!!! Warning Version 1.17 has reached End-of-Life (EOL). Version 1.17.5 is the last that will be released for the 1.17 minor version.

Enhancements:

  • Extend the debug cluster's log level to the initdb job (#1503)
  • Support IPv6 and custom pg_hba for the PgBouncer pooler (#1395)
  • Document API calls from the instance manager (#1641)
  • Clarify deployment name via Helm (#1505)
  • Add the psql command to the cnp plugin for kubectl (#1668) allowing the user to start a psql session with a pod (the primary by default)

Technical enhancements:

  • Adopt Renovate for dependency tracking/updating (#1367, #1473)

Fixes:

  • Prevent panic with error handling in the probes (#1716)
  • Properly show WAL archiving information with status command of the cnp plugin (#1666)

Release 1.17.4

14 Feb 16:51
988bdd3
Compare
Choose a tag to compare

Release date: Feb 14, 2023

!!! Warning Version 1.17 will reach its End-of-Life (EOL) on March 9, 2023. If you haven't done it yet, please start planning an upgrade as soon as possible.

Features:

  • Support for Kubernetes' projected volumes (#1269)
  • Support custom environment variables for finer control of the PostgreSQL server process (#1275)

Enhancements:

  • Introduce the backup command in the cnp plugin for kubectl to issue a new base backup of the cluster (#1348)
  • Add a database comment on the streaming_replica user (#1349)
  • Document the firewall issues with webhooks on GKE (#1364)
  • Add note about postgresql.conf in recovery (#1211)
  • Add instructions on installing plugin using packages (#1357)
  • Specify Postgres versions supported by each minor release (#1355)
  • Clarify the meaning of PVC group in EDB Postgres for Kubernetes (#1344)
  • Add an example of the DigitalOcean S3-compatible Spaces (#1289)

Technical enhancements:

  • Added daily end-to-end smoke test for release branches (#1235)

Fixes:

  • Ensure that the PVC roles are always consistent (#1380)
  • Permit walStorage resize when using pvcTemplate (#1315)
  • Avoid PodMonitor reconcile if Prometheus is not installed (#1238)
  • Avoid looking for PodMonitor when not needed (#1213)

v1.17.3

21 Dec 15:50
988bdd3
Compare
Choose a tag to compare

Release date: Dec 21, 2022

Important announcements:

  • Recognizing Armando Ruocco (@armru) as a new EDB Postgres for Kubernetes maintainer for his consistent and impactful contributions (#1167)
  • Remove ARMv7 support (#1092)
  • FINAL patch release for 1.16: 1.16.5. Release 1.16 reaches end of life.

Enhancements:

  • Improve compatibility with Istio: add support for Istio’s quit endpoint so that jobs with Istio sidecars do not run indefinitely (#967)
  • Add rpm/deb package for kubectl-cnp plugin (#1008)
  • Update default PostgreSQL version for new cluster definitions to 15.1 (#908)
  • Documentation
    • Remove references to CNP sandbox (#1120) - the CNP sandbox has been deprecated, in favor of instructions on monitoring in the Quickstart documentation
    • Link to the "Release updates" discussion (#1148) - the release updates discussion will become the default channel for release announcements and discussions
    • Document emeritus status for maintainers in GOVERNANCE.md (#1033) - explains how maintainers should proceed if they are not ready to continue contributing
    • Improve instructions on creating pull requests (#1132)
    • Troubleshooting emergency backup instructions (#1184)

Fixes:

  • Ensure PGDATA permissions on bootstrap are properly set to 750 (#1164)
  • Ensure the PVC containing WALs is deleted when scaling down the cluster (#1135)
  • Ensure that we create secrets and services only when not found (#1145)
  • Respect configured pg-wal when restoring (#1216)
  • Filter out replicas from nodeToClusters map (#1194)

Technical enhancements:

  • Use ciclops for test summary (#1064): rely on the ciclops GitHub action to provide summaries of the E2E suite, inheriting improvements from that project
  • Add backport pull request workflow (#965) - automatically backport patches to release branches if they are so annotated
  • Make the operator log level configurable in e2e test suite (#1094)
  • Enable test execution based on labels (#951)
  • Update Go version from 1.18 to 1.19 (#1166)

v1.17.2

10 Nov 19:45
988bdd3
Compare
Choose a tag to compare

Release date: Nov 10, 2022

Security:

  • Add SeccomProfile to Pods and Containers (#888)

Enhancements:

  • status command for the cnp plugin:
    • Clarify display for fenced clusters (#886)
    • Improve display for replica clusters (#871)
  • Documentation:
    • Improve monitoring page, providing instructions on how to evaluate the observability capabilities of EDB Postgres for Kubernetes on a local system using Prometheus and Grafana (#968)
    • Add page on design reasons for custom controller (#918)
  • Set PostgreSQL 15.0 as the new default version (#821)

Fixes:

  • Import a database with plpgsql functions (#974)
  • Properly find the closest backup when doing Point-in-time recovery (#949)
  • Clarify that the ScheduledBackup format does not follow Kubernetes CronJob format (#883)
  • Bases the failover logic on the Postgres information from the instance manager, rather than Kubernetes pod readiness, which could be stale (#890)
  • Ensure we have a WAL to archive for every newly created cluster. The lack could prevent backups from working (#897)
  • Correct YAML key names for barmanObjectStore in documentation (#877)
  • Fix krew release (#866)

v1.17.1

07 Oct 14:59
988bdd3
Compare
Choose a tag to compare

Release date: Oct 6, 2022

Enhancements:

  • Introduce leaseDuration and renewDeadline parameters in the controller manager to enhance configuration of the leader election in operator deployments (#759)
  • Improve the mechanism that checks that the backup object store is empty before archiving a WAL file for the first time: a new file called .check-empty-wal-archive is placed in the PGDATA immediately after the cluster is bootstrapped and it is then removed after the first WAL file is successfully archived

Security:

  • Explicitly set permissions of the instance manager binary that is copied in the distroless/static:nonroot container image, by using the nonroot:nonroot user (#754)

Fixes:

  • Drop any active connection on a standby after it is promoted to primary (#737)
  • Honor MAPPEDMETRIC and DURATION metric types conversion in the native Prometheus exporter (#765)
  • Ensure that timestamps that are specified with microsecond precision using the PostgreSQL format are correctly parsed (#741)

v1.17.0

06 Sep 17:19
988bdd3
Compare
Choose a tag to compare
docs: adds documentation for Windows install (#3)

Co-authored-by: Leonardo Cecchi <[email protected]>
Co-authored-by: Armando Ruocco <[email protected]>