New PostgreSQL and MySQL charms are now “stable”
Dear community, this is to inform you that new Canonical MySQL and PostgreSQL charms are published in stable charmhub channels for both bare-metal/virtual-machines and Kubernetes flavors.
The features you can start using today:
- Deploying on VM and K8s (tested with LXD, MicroK8s, MAAS)
- juju constraints are supported to limit CPU/RAM/Storage size
- Scaling up/down in one simple juju command
- HA using Innodb Group replication (MySQL) and Patroni-based HA (PostgreSQL)
- Full backups and restores are supported when using any S3-compatible storage
- COS integration (MySQL only for now): metrics, dashboard, logs
- TLS support (using “tls-certificates” operator)
- DB access outside of Juju using “data-integrator”
- Data import using standard tools (e.g. mysql client) or “PostgreSQL Data Injector”
- Helper “MySQL test app” to test your installations
- Documentation:
Charm | Version | Charm channel | Documentation | License |
---|---|---|---|---|
MySQL | 8.0.32 | 8.0/stable (r61) | Tutorial, Readme, Contributing | Apache 2.0 |
MySQL K8s | 8.0.32 | 8.0/stable (r146) | Tutorial, Readme, Contributing | Apache 2.0 |
PostgreSQL | 14.7 | 14/stable (r288) | Tutorial, Readme, Contributing | Apache 2.0 |
PostgreSQL K8s | 14.7 | 14/stable (r73) | Tutorial, Readme, Contributing | Apache 2.0 |
What is inside the charms:
- MySQL VM/K8s charms ship the latest MySQL “8.0.32-0ubuntu0.22.04.2”
- PostgreSQL VM/K8s charms ship the latest PostgreSQL “14.7-0ubuntu0.22.04.1”
- VM charms based on our SNAP (Ubuntu LTS “22.04” - core22-based)
- K8s charms based on our ROCK OCI (Ubuntu LTS “22.04” - ubuntu:22.04-based)
- Principal charms supports the latest LTS series “22.04” only.
- Subordinate charms support LTS “22.04” and “20.04” only.
Technical notes:
Compatibility with legacy charms:
- New MySQL charm is a juju-interface compatible replacement for legacy charms such as “MariaDB”, “OSM MariaDB”, “Percona Cluster” and “Mysql Innodb Cluster” (using legacy interface “mysql”, via endpoints “mysql” and “mysql-root”). Other legacy interfaces such as “mysql-router” interface (“db-router” endpoint) and “mysql-shared” interface (“shared-db” endpoint) are also supported. However, it is highly recommended to migrate to the modern interface ‘mysql_client’. It can be easily done using the charms library ‘data_interfaces’ from ‘data-platform-libs’.
- New PostgreSQL charm is also a juju-interface compatible replacement for legacy PostgreSQL charms (using legacy interface “pgsql”, via endpoints “db” and “db-admin”). However, it is highly recommended to migrate to the modern interface “postgresql_client” (endpoint “database”).
Please contact us, see details below, if you are considering migrating from other “legacy” charms not mentioned above. Additionally:
- Tracks description:
- MySQL(-K8s) charms/SNAPs use the track “8.0”.
- PostgreSQL(-K8s) charms/SNAPs use the track “14”.
- No “latest” track in use (no surprises in tracking “latest/stable”)!
- PostgreSQL(-K8s) charms provide legacy charm through “latest/stable”.
- Charm lifecycle flowchart diagrams: MySQL, PostgreSQL.
- Modern interfaces are well described in “Interfaces catalogue” and implemented by ‘data-platform-libs’.
- Known limitation: PostgreSQL extensions are not yet supported.
How to reach us:
If you would like to chat with us about your use-cases or ideas, you can reach us at Canonical Mattermost public channel or Discourse.
Consider opening a GitHub issue if you want to open a bug report.