mysql router #2

Supports: eoan
Add to new model

Description

MySQL Router proxying communication between application clients and MySQL InnoDB Clusters.


Overview

This charm provides a MySQL 8 Router. The charm proxies database requests from
the principle application charm to a MySQL 8 InnoDB Cluster. MySQL Router
handles cluster communication and understands the cluster schema.

Ubuntu 19.10 or above is required.

Usage

The charm is intended to be deployed as a subordinate charm on the
application server and related to the mysql-innodb-cluster charm.

Cluster deployment

juju deploy mysql-router

The charm is related to a principle application charm via the
shared-db relation:

juju add-relation keystone:shared-db mysql-router:shared-db

The charm is then related to the MySQL 8 InnoDB cluster charm via the
db-router relation:

juju add-relation msyql-router:db-router mysql-innodb-cluster:db-router

Scale out Usage

Scale out is accomplished by adding units to the principle charm:

juju add-unit keystone

Known Limitations and Issues

Warning: This charm is in preview state.

The charm is under active development and is not yet production ready. Its
current intended use is for validation of MySQL 8 InnoDB cluster for use with
OpenStack.

Contact Information

OpenStack Charmers openstack-charmers@lists.ubuntu.com

Upstream MySQL

Bugs

Please report bugs on Launchpad.

For general questions please refer to the OpenStack Charm Guide.


Configuration

base-port
(int) Base port number for RW interface. RO, xRW and xRO will increment from base_port.
3306
source
(string) Repository from which to install. May be one of the following: distro (default), ppa:somecustom/ppa, a deb url sources entry, or a supported Ubuntu Cloud Archive e.g. . cloud:<series>-<openstack-release> cloud:<series>-<openstack-release>/updates cloud:<series>-<openstack-release>/staging cloud:<series>-<openstack-release>/proposed . See https://wiki.ubuntu.com/OpenStack/CloudArchive for info on which cloud archives are available and supported.
distro
ssl_ca
(string) TLS CA to use to communicate with other components in a deployment. . __NOTE__: This configuration option will take precedence over any certificates received over the ``certificates`` relation.
ssl_cert
(string) TLS certificate to install and use for any listening services. . __NOTE__: This configuration option will take precedence over any certificates received over the ``certificates`` relation.
ssl_key
(string) TLS key to use with certificate specified as ``ssl_cert``. . __NOTE__: This configuration option will take precedence over any certificates received over the ``certificates`` relation.
system-user
(string) System user to run mysqlrouter
ubuntu
use-syslog
(boolean) Setting this to True will allow supporting services to log to syslog.