This role have to add the official MariaDB MaxScale repository as maxscale isn't in the Debian repositories. Moreover as maxscale need two mysql users to works, the role can also create these users if requested and ansible has access to a master server.
44 lines
1.1 KiB
Django/Jinja
44 lines
1.1 KiB
Django/Jinja
[maxscale]
|
||
threads=auto
|
||
|
||
{% for server in maxscale_mysql_servers %}
|
||
[{{ server['name'] }}]
|
||
type=server
|
||
address={{ server['address'] }}
|
||
port={{ server['port']|default(3306) }}
|
||
protocol=MariaDBBackend
|
||
|
||
{% endfor %}
|
||
[MariaDB-Monitor]
|
||
type=monitor
|
||
module=mariadbmon
|
||
servers={% for server in maxscale_mysql_servers %}{{ server['name'] }}{% if not loop.last %}, {% endif %}{% endfor %}
|
||
|
||
user={{ maxscale_monitor_user }}
|
||
{% if encrypted_maxscale_monitor_password is none %}
|
||
password={{ encrypt_maxscale_monitor_password_result['stdout'] }}
|
||
{% else %}
|
||
password={{ encrypted_maxscale_monitor_password }}
|
||
{% endif %}
|
||
monitor_interval=2000
|
||
|
||
{% for service in maxscale_services %}
|
||
[{{ service['name'] }}-Service]
|
||
type=service
|
||
router={{ service['router'] }}
|
||
cluster=MariaDB-Monitor
|
||
user={{ maxscale_mysql_user }}
|
||
{% if encrypted_maxscale_mysql_password is none %}
|
||
password={{ encrypt_maxscale_mysql_password_result['stdout'] }}
|
||
{% else %}
|
||
password={{ encrypted_maxscale_mysql_password }}
|
||
{% endif %}
|
||
|
||
[{{ service['name'] }}-Listener]
|
||
type=listener
|
||
service={{ service['name'] }}-Service
|
||
protocol=MariaDBClient
|
||
port={{ service['port'] }}
|
||
{% endfor %}
|
||
|