Charmed PostgreSQL K8s
- Canonical
- Databases
Channel | Revision | Published | Runs on |
---|---|---|---|
latest/stable | 20 | 20 Sep 2022 | |
14/stable | 445 | Yesterday | |
14/stable | 444 | Yesterday | |
14/candidate | 382 | 09 Sep 2024 | |
14/candidate | 381 | 09 Sep 2024 | |
14/beta | 449 | Yesterday | |
14/beta | 448 | Yesterday | |
14/edge | 451 | Yesterday | |
14/edge | 450 | Yesterday |
juju deploy postgresql-k8s --channel 14/edge
Deploy Kubernetes operators easily with Juju, the Universal Operator Lifecycle Manager. Need a Kubernetes cluster? Install MicroK8s to create a full CNCF-certified Kubernetes system in under 60 seconds.
Platform:
Reference > Release Notes > All revisions > Revision 381/382
Revision 381/382
September 11, 2024
Dear community,
Canonical’s newest Charmed PostgreSQL K8s operator has been published in the 14/stable channel.
Due to the newly added support for arm64
architecture, the PostgreSQL K8s charm now releases multiple revisions simultaneously:
- Revision 381 is built for
amd64
on Ubuntu 22.04 LTS (postgresql-image r162) - Revision 382 is built for
arm64
on Ubuntu 22.04 LTS (postgresql-image r162)
To make sure you deploy for the right architecture, we recommend setting an architecture constraint for your entire juju model.
Otherwise, it can be done at deploy time with the --constraints
flag:
juju deploy postgresql-k8s --trust --constraints arch=<arch>
where <arch>
can be amd64
or arm64
.
Highlights
- Upgraded PostgreSQL from v.14.11 → v.14.12 (PR #563)
- Check the official PostgreSQL release notes
- Added support for Point In Time Recovery (PR #554) (DPE-4839)
- Added COS tracing support with tempo-k8s (PR #497) (DPE-4617)
Features
- Added user warning when deploying charm with wrong architecture (PR #613) (DPE-4239)
- Improved backups behavior (PR #542) (DPE-4479)
- Add libpq’s connection string URI format to
uri
field in relation databag (PR #545) (DPE-2278) - Changed ‘master’ to ‘primary’ in Patroni leader role (PR #532) (DPE-1177)
- Added password to Patroni’s REST API (PR #661) (DPE-5275)
- Improve pgbackrest logging (PR #587)
Bugfixes and stability
- Restart pebble service if it’s down (PR #581) (DPE-4806)
- Switched test app interface (PR #595)
- Addeded missing
await
toinvalid_extra_user_roles
integration test + fix check loop (PR #602) - Fixed UTC time zone (PR #592)
- Fix PITR test on Juju 2.9 (PR #596) (DPE-4990)
- Fixed storage ownership (PR #580) (DPE-4227)
- Fixed get-password action description (PR #605) (DPE-5019)
- Quick fix for blocked CI (PR #533)
- CI stability fixes + slicing tests (PR #524) (DPE-4620)
- Added test for relations coherence (PR #505)
- Addressed test_charm and test_self_healing instabilities (PR #510) (DPE-4594)
- Split PITR backup test in AWS and GCP (PR #664) (DPE-5244)
- Import JujuVersion from ops.jujuversion instead of ops.model (PR #640)
- Don’t block on missing Postgresql version (PR #626) (DPE-3562)
- Run integration tests on arm64 (PR #478)
- Improved async replication stability (PR #526) (DPE-4736)
- Removed deprecated config option
profile-limit-memory
(PR #608) - Pause Patroni in the TLS test (PR #588) (DPE-4533)
- Enforce Juju versions (PR #544) (DPE-4811)
- Block charm if plugin disable fails due to dependent objects (PR #567) (DPE-4801)
- Temporarily disable log forwarding & fix for race in Patroni REST password setup (PR #663)
- Use manifest file to check for charm architecture (PR #665) (DPE-4239)
- Only write app data if leader (PR #676) (DPE-5325)
- Added log for
fix_leader_annotation
method (PR #679)
Known limitations
- The unit action
resume-upgrade
randomly raises a harmless error message:terminated
. - The charm sysbench may crash during a PostgreSQL charm refresh.
- Make sure that cluster-cluster replication is requested for the same charm/workload revisions. An automated check is planned.
- Contact us to schedule a cluster-cluster replication upgrade with you.
If you are jumping over several stable revisions, check previous release notes before upgrading.
Requirements and compatibility
This charm revision features the following changes in dependencies:
- (increased) The minimum Juju version required to reliably operate all features of the release is
v3.4.5
You can upgrade to this revision on Juju
v2.9.50+
, but it will not support newer features like cross-regional asynchronous replication, point-in-time recovery, and modern TLS certificate charm integrations. - (increased) PostgreSQL version 14.12
See the system requirements for more details about Juju versions and other software and hardware prerequisites.
Integration tests
Below are the charm integrations tested with this revision on different Juju environments and architectures:
- Juju
v2.9.50
onamd64
- Juju
v3.4.5
onamd64
andarm64
Juju v2.9.50
on amd64
Software | Version |
---|---|
tls-certificates-operator | rev 22 , legacy/stable |
Juju v3.4.5
on amd64
and arm64
Software | Version |
---|---|
self-signed-certificates | rev 155 , latest/stable |
All
Software | Version |
---|---|
microk8s | v.1.31 , strict/stable |
indico | rev 213 |
discourse-k8s | rev 124 |
data-integrator | rev 41 |
s3-integrator | rev 31 |
postgresql-test-app | rev 239 |
See the /lib/charms
directory on GitHub for more details about all supported libraries.
See the metadata.yaml
file on GitHub for a full list of supported interfaces.
Packaging
This charm is based on the Charmed PostgreSQL K8s rock image
(CharmHub postgresql-image
resource-revision is 162). It packages:
- postgresql
v.14.12
- pgbouncer
v.1.21
- patroni
v.3.1.2
- pgBackRest
v.2.48
- prometheus-postgres-exporter
v.0.12.1
Dependencies and automations
This section contains a list of updates to libs, dependencies, actions, and workflows.
- Updated canonical/charming-actions action to v2.6.3 (PR #673)
- Updated data-platform-workflows to v21.0.1 (PR #660)
- Updated dependency canonical/microk8s to v1.31 (PR #632)
- Updated dependency cryptography to v43.0.1(PR #681)
- Updated dependency juju/juju to v2.9.50 (PR #589)
- Updated dependency juju/juju to v3.4.5 (PR #599)
- Updated dependency tenacity to v9 (PR #600)
- Updated ghcr.io/canonical/charmed-postgresql:14.12-22.04_edge Docker digest to 7ef86a3 (PR #655)
- Updated rock to 14.12 (PR #563)
- Switch Jira issue sync from workflow to bot (PR #636)
- Use poetry package-mode=false (PR #594)
- Updated logging: bump lib and introduce pebble log forwarding (PR #486)
- Updated postgresql lib (PR #546)
- Bumped coverage (PR #623)
- Test service patch lib update (PR #624)