Legacy charms
This page contains explanations regarding the legacy version of this charm. This includes clarification about Charmhub tracks, supported endpoints and interfaces, config options, and other important information.
Summary
- Charm types: “legacy” vs. “modern”
- Default track
latest/
vs. track1/
- How to migrate to the modern charm
- How to deploy the legacy charm
- Features supported by the modern charm
- Contact us
Charm types: “legacy” vs. “modern”
There are two types of charms stored under the same charm name mysql-router
:
- Reactive charm in the channel
latest/stable
,8.0/stable
,8.0.19/stable
(calledlegacy
) - Ops-based charm in the channel
dpe/candidate
,8.4/edge
(calledmodern
)
Both legacy and modern charms are subordinated.
The legacy charm provided SQL endpoints shared-db
(for the interface mysql-shared
). The modern charm provides those old endpoint and a new endpoint database
(for the interface mysql_client
). Read more details about the available endpoints and interfaces here.
Note: Please choose one endpoint to use. No need to relate all of them simultaneously!
Default track latest/
vs. track 8.4/
The default track will be switched from the latest
to 8.4
soon. This is to ensure all new deployments use a modern codebase. We strongly advise against using the latest track, since a future charm upgrade may result in a MySQL Router version incompatible with an integrated application. Track 8.4/
guarantees a major router version 8.4 deployment only. The track latest/
will be closed after all applications migrated from reactive to the ops-based charm.
How to migrate to the modern charm
The modern charm provides temporary support for the legacy interfaces:
Quick try: relate the current application with new charm using endpoint shared-db
(set the channel to dpe/candidate
). No extra changes necessary:
mysql-router:
charm: mysql-router
channel: dpe/candidate
Proper migration: migrate the application to the new interface mysql_client
. The application will connect MySQl Router using the data_interfaces library from data-platform-libs via the endpoint database
.
Warning: In-place upgrades are NOT possible! The reactive charm cannot be upgraded to the operator-framework-based one. The second/modern charm application must be launched nearby and relations should be switched from the legacy application to the modern one.
How to deploy the legacy charm
Deploy the charm using the channel latest/stable
:
mysql-router:
charm: mysql-router
channel: 8.0/stable
Note: remove Charm store prefix cs:
from the bundle. Otherwise the modern charm will be chosen by Juju (due to the default track will be pointing to 8.4/stable
and not latest/stable
). The common error message is: cannot deploy application "mysql-router": unknown option "..."
.
Features supported by the modern charm
This section goes over the key differences in feature support and functionality between the legacy and modern charm.Config options
The legacy charm config options were not moved to the modern charm, since the modern charm applies the best possible configuration automatically. Feel free to contact us about the MySQl Router config options.
Extensions
Both legacy and modern charms provide no plugins/extensions support.
MySQL versions
At the moment, the modern MySQL Router charm supports relation to the modern Charmed MySQL 8.0 (based on Jammy/22.04 series) only. Please contact us if you need different versions/series.
Architectures
Currently, the modern charm supports architecture amd64
and arm64
only.
Report issues
The “legacy charm” (from latest/stable
) is stored on Launchpad. Report legacy charm issues here.
The “modern charm” (from dpe/candidate
) is stored on GitHub. Report modern charm issues here.
Do you have questions? Reach out to us!