Releases: EnterpriseDB/kubectl-cnp
v1.18.3
Release date: March 20, 2023
Enhancements:
- Extend the
debug
cluster's log level to theinitdb
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 thecnp
plugin forkubectl
(#1668) allowing the user to start apsql
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 thecnp
plugin (#1666) - Ensure
nodeAffinity
is applied even ifAdditionalPodAffinity
andAdditionalPodAntiAffinity
are not set (#1663)
v1.18.2
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 thecnp
plugin forkubectl
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 thestreaming_replica
user (#1408) - Make
waitForWalArchiveWorking
resilient to connection errors (#1399) - Ensure that the PVC roles are always consistent (#1380)
- Permit
walStorage
resize when usingpvcTemplate
(#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
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 thek8s.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
andts
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
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 thecnp
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 executingpgbench
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 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.17.5
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 theinitdb
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 thecnp
plugin forkubectl
(#1668) allowing the user to start apsql
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 thecnp
plugin (#1666)
Release 1.17.4
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 thecnp
plugin forkubectl
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 usingpvcTemplate
(#1315) - Avoid
PodMonitor
reconcile if Prometheus is not installed (#1238) - Avoid looking for
PodMonitor
when not needed (#1213)
v1.17.3
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
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)
- 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 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.17.1
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
andDURATION
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
docs: adds documentation for Windows install (#3) Co-authored-by: Leonardo Cecchi <[email protected]> Co-authored-by: Armando Ruocco <[email protected]>