Skip to content

Releases: EnterpriseDB/kubectl-cnp

v1.16.5

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

Release date: Dec 21, 2022

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

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:

  • 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 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.16.4

10 Nov 19:44
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)

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.16.3

07 Oct 14:20
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)

v1.16.2

06 Sep 17:25
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]>

v1.16.1

16 Aug 12:20
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]>

v1.16.0

20 Jul 16:26
988bdd3
Compare
Choose a tag to compare

Release date: Jul 20, 2022 (minor release)

Features:

  • Offline data import and major upgrades for PostgreSQL: introduce the bootstrap.initdb.import section to provide a way to import objects via the network from an existing PostgreSQL instance (even outside Kubernetes) inside a brand new EDB Postgres for Kubernetes cluster using the PostgreSQL logical backup concept (pg_dump/pg_restore). The same method can be used to perform major PostgreSQL upgrades on a new cluster. The feature introduces two types of import: microservice (import one database only in the new cluster) and monolith (import the selected databases and roles from the existing instance).
  • Anti-affinity rules for synchronous replication based on labels: make sure that synchronous replicas are running on nodes with different characteristics than the node where the primary is running, for example, availability zone

Enhancements:

  • Improve fencing by removing the existing limitation that disables failover when one or more instances are fenced
  • Enhance the automated extension management framework by checking whether an extension exists in the catalog instead of running DROP EXTENSION IF EXISTS unnecessarily
  • Improve logging of the instance manager during switchover and failover
  • Enable redefining the name of the database of the application, its owner, and the related secret when recovering from an object store or cloning an instance via pg_basebackup (this was only possible in the initdb bootstrap so far)
  • Backup and recovery:
    • Require Barman >= 3.0.0 for future support of PostgreSQL 15
    • Enable Azure AD Workload Identity for Barman Cloud backups through the inheritFromAzureAD option
    • Introduce barmanObjectStore.s3Credentials.region to define the region in AWS (AWS_DEFAULT_REGION) for both backup and recovery object stores
  • Support for Kubernetes 1.24

Changes:

  • Set the default operand image to PostgreSQL 14.4
  • Use conditions from the Kubernetes API instead of relying on our own implementation for backup and WAL archiving

Fixes:

  • Fix the initialization order inside the WithActiveInstance function that starts the CSV log pipe for the PostgreSQL server, ensuring proper logging in the cluster initialization phase - this is especially useful in bootstrap operations like recovery from a backup are failing (before this patch, such logs were not sent to the standard output channel and were permanently lost)
  • Avoid an unnecessary switchover when a hot standby sensitive parameter is decreased, and the primary has already restarted
  • Properly quote role names in ALTER ROLE statements
  • Backup and recovery:
    • Fix the algorithm detecting the closest Barman backup for PITR, which was comparing the requested recovery timestamp with the backup start instead of the end
    • Fix Point in Time Recovery based on a transaction ID, a named restore point, or the “immediate” target by providing a new field called backupID in the recoveryTarget section
    • Fix encryption parameters invoking barman-cloud-wal-archive and barman-cloud-backup commands
    • Stop ignoring barmanObjectStore.serverName option when recovering from a backup object store using a server name that doesn’t match the current cluster name
  • cnp plug-in:
    • Make sure that the plug-in complies with the -n parameter when specified by the user
    • Fix the status command to sort results and remove variability in the output

v1.15.5

07 Oct 13:17
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:

  • Make the cluster's conditions compatible with metav1.Conditions struct (#720)
  • 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)

v1.15.4

06 Sep 16:53
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]>

v1.15.3

16 Aug 10:14
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]>

v1.15.2

20 Jul 16:21
988bdd3
Compare
Choose a tag to compare

Release date: Jul 20, 2022 (patch release)

Enhancements:

  • Improve logging of the instance manager during switchover and failover
  • Require Barman >= 3.0.0 for future support of PostgreSQL 15 in backup and recovery
  • Enhance the automated extension management framework by checking whether an extension exists in the catalog instead of running DROP EXTENSION IF EXISTS unnecessarily

Changes:

  • Set the default operand image to PostgreSQL 14.4

Fixes:

  • Fix the initialization order inside the WithActiveInstance function that starts the CSV log pipe for the PostgreSQL server, ensuring proper logging in the cluster initialization phase - this is especially useful in bootstrap operations like recovery from a backup are failing (before this patch, such logs were not sent to the standard output channel and were permanently lost)
  • Avoid an unnecessary switchover when a hot standby sensitive parameter is decreased, and the primary has already restarted
  • Properly quote role names in ALTER ROLE statements
  • Backup and recovery:
    • Fix the algorithm detecting the closest Barman backup for PITR, which was comparing the requested recovery timestamp with the backup start instead of the end
    • Fix Point in Time Recovery based on a transaction ID, a named restore point, or the “immediate” target by providing a new field called backupID in the recoveryTarget section
    • Fix encryption parameters invoking barman-cloud-wal-archive and barman-cloud-backup commands
    • Stop ignoring barmanObjectStore.serverName option when recovering from a backup object store using a server name that doesn’t match the current cluster name
  • cnpg plug-in:
    • Make sure that the plug-in complies with the -n parameter when specified by the user
    • Fix the status command to sort results and remove variability in the output