Releases: EnterpriseDB/kubectl-cnp
Releases · EnterpriseDB/kubectl-cnp
v1.16.5
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
Release date: Nov 10, 2022
Security:
- Add
SeccomProfile
to Pods and Containers (#888)
Enhancements:
status
command for thecnp
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 KubernetesCronJob
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
Release date: Oct 6, 2022
Enhancements:
- Introduce
leaseDuration
andrenewDeadline
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 thePGDATA
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 thenonroot: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
docs: adds documentation for Windows install (#3) Co-authored-by: Leonardo Cecchi <[email protected]> Co-authored-by: Armando Ruocco <[email protected]>
v1.16.1
docs: adds documentation for Windows install (#3) Co-authored-by: Leonardo Cecchi <[email protected]> Co-authored-by: Armando Ruocco <[email protected]>
v1.16.0
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) andmonolith
(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 theinitdb
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 therecoveryTarget
section - Fix encryption parameters invoking
barman-cloud-wal-archive
andbarman-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
- Make sure that the plug-in complies with the
v1.15.5
Release date: Oct 6, 2022
Enhancements:
- Introduce
leaseDuration
andrenewDeadline
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 thePGDATA
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 thenonroot: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
andDURATION
metric types conversion in the native Prometheus exporter (#765)
v1.15.4
docs: adds documentation for Windows install (#3) Co-authored-by: Leonardo Cecchi <[email protected]> Co-authored-by: Armando Ruocco <[email protected]>
v1.15.3
docs: adds documentation for Windows install (#3) Co-authored-by: Leonardo Cecchi <[email protected]> Co-authored-by: Armando Ruocco <[email protected]>
v1.15.2
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 therecoveryTarget
section - Fix encryption parameters invoking
barman-cloud-wal-archive
andbarman-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
- Make sure that the plug-in complies with the