Compare commits
4 Commits
fa960ef6a8
...
f7235d38b9
Author | SHA1 | Date |
---|---|---|
Emilien Mantel | f7235d38b9 | |
Emilien Mantel | 6a9d12c5eb | |
Emilien Mantel | fe7d09b9cd | |
Emilien Mantel | 69f86f60ba |
17
README.md
17
README.md
|
@ -5,12 +5,12 @@ MariaDB (MySQL) Ansible role for Debian
|
||||||
|
|
||||||
Install and configure MariaDB (Galera Cluster). Manage replication (master/slave). Create users and databases.
|
Install and configure MariaDB (Galera Cluster). Manage replication (master/slave). Create users and databases.
|
||||||
|
|
||||||
| OS | Origin | MariaDB versions |
|
| OS | Origin | MariaDB versions |
|
||||||
| --------------- | --------- | ------------------------- |
|
| --------------- | --------- | ----------------- |
|
||||||
| Debian Buster | Debian | 10.3 |
|
| Debian Buster | Debian | 10.3 |
|
||||||
| Debian Buster | Upstream | 10.3 to 10.6 |
|
| Debian Buster | Upstream | Up from 10.3 |
|
||||||
| Debian Bullseye | Debian | 10.5 |
|
| Debian Bullseye | Debian | 10.5 |
|
||||||
| Debian Bullseye | Upstream | 10.5 to 10.6 |
|
| Debian Bullseye | Upstream | Up from 10.5 |
|
||||||
|
|
||||||
|
|
||||||
Notes
|
Notes
|
||||||
|
@ -61,12 +61,11 @@ Check "priv" syntax in [mysql\_user module documentation](http://docs.ansible.co
|
||||||
|
|
||||||
### Packaging
|
### Packaging
|
||||||
|
|
||||||
- `mariadb_version`: depends Debian version
|
- `mariadb_upstream_version`: depends Debian version
|
||||||
- `mariadb_repository`: MariaDB upstream APT repository (see: [MariaDB repositories tool](https://downloads.mariadb.org/mariadb/repositories))
|
|
||||||
|
|
||||||
### Other
|
### Other
|
||||||
|
|
||||||
- `mariadb_debug_role`: boolean, set true to disable no_log hidding
|
- `mariadb_debug_role`: boolean, set true to disable `no_log` hidding
|
||||||
|
|
||||||
Dependencies
|
Dependencies
|
||||||
------------
|
------------
|
||||||
|
|
|
@ -79,10 +79,6 @@ Vagrant.configure("2") do |config|
|
||||||
d.has_ssh = true
|
d.has_ssh = true
|
||||||
end
|
end
|
||||||
|
|
||||||
if opts[:os_name].include? "bullseye"
|
|
||||||
m.vm.provision "shell", inline: "[ -f '/root/first_provision' ] || (apt-get update -qq && apt-get -y dist-upgrade && touch /root/first_provision)"
|
|
||||||
end
|
|
||||||
|
|
||||||
m.vm.provision "ansible" do |ansible|
|
m.vm.provision "ansible" do |ansible|
|
||||||
ansible.playbook = "tests/test.yml"
|
ansible.playbook = "tests/test.yml"
|
||||||
ansible.verbose = 'vv'
|
ansible.verbose = 'vv'
|
||||||
|
@ -106,10 +102,6 @@ Vagrant.configure("2") do |config|
|
||||||
v.memory = 512
|
v.memory = 512
|
||||||
end
|
end
|
||||||
|
|
||||||
if opts[:os_name].include? "bullseye"
|
|
||||||
m.vm.provision "shell", inline: "[ -f '/root/first_provision' ] || (apt-get update -qq && apt-get -y dist-upgrade && touch /root/first_provision)"
|
|
||||||
end
|
|
||||||
|
|
||||||
m.vm.provision "ansible" do |ansible|
|
m.vm.provision "ansible" do |ansible|
|
||||||
ansible.playbook = "tests/test.yml"
|
ansible.playbook = "tests/test.yml"
|
||||||
ansible.verbose = 'vv'
|
ansible.verbose = 'vv'
|
||||||
|
|
|
@ -6,7 +6,6 @@
|
||||||
mariadb_origin: 'default'
|
mariadb_origin: 'default'
|
||||||
mariadb_use_galera: false
|
mariadb_use_galera: false
|
||||||
mariadb_notify_restart: true
|
mariadb_notify_restart: true
|
||||||
mariadb_upstream_apt_src: false
|
|
||||||
|
|
||||||
# -------------------------------------
|
# -------------------------------------
|
||||||
# Configuration
|
# Configuration
|
||||||
|
@ -115,14 +114,10 @@ mariadb_databases: []
|
||||||
mariadb_users: []
|
mariadb_users: []
|
||||||
|
|
||||||
# -------------------------------------
|
# -------------------------------------
|
||||||
# MariaDB
|
# MariaDB Upstream
|
||||||
# -------------------------------------
|
# -------------------------------------
|
||||||
mariadb_version: '10.6'
|
mariadb_upstream_setup_script: 'https://r.mariadb.com/downloads/mariadb_repo_setup'
|
||||||
mariadb_mirror_domain: "ftp.igh.cnrs.fr"
|
mariadb_upstream_version: '10.6'
|
||||||
# See: https://downloads.mariadb.org/mariadb/repositories
|
|
||||||
mariadb_repository: "http://{{ mariadb_mirror_domain }}/pub/mariadb/repo/{{ mariadb_version }}/debian"
|
|
||||||
mariadb_key_server: "keyserver.ubuntu.com"
|
|
||||||
mariadb_key_ids: ['0xcbcb082a1bb943db', '0xf1656f24c74cd1d8']
|
|
||||||
|
|
||||||
# -------------------------------------
|
# -------------------------------------
|
||||||
# Galera
|
# Galera
|
||||||
|
|
|
@ -4,25 +4,36 @@
|
||||||
ansible.builtin.apt:
|
ansible.builtin.apt:
|
||||||
name: gpg
|
name: gpg
|
||||||
|
|
||||||
- name: APT_KEY | Install MariaDB key
|
- name: COMMAND | Check indempotent
|
||||||
ansible.builtin.apt_key:
|
ansible.builtin.command: 'grep -q "{{ mariadb_upstream_version }}" /etc/apt/sources.list.d/mariadb.list'
|
||||||
keyserver: "{{ mariadb_key_server }}"
|
register: check_idempotent
|
||||||
id: "{{ item }}"
|
failed_when: false
|
||||||
loop: "{{ mariadb_key_ids }}"
|
changed_when: false
|
||||||
|
|
||||||
- name: TEMPLATE | Deploy APT pinning (prevent upgrades from Debian)
|
- block:
|
||||||
ansible.builtin.template:
|
|
||||||
src: etc/apt/preferences.d/95-mariadb.j2
|
|
||||||
dest: /etc/apt/preferences.d/95-mariadb
|
|
||||||
mode: 0644
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
|
|
||||||
- name: APT_REPOSITORY | Add MariaDB repository
|
- name: GET_URL | Download MariaDB setup script
|
||||||
ansible.builtin.apt_repository:
|
ansible.builtin.get_url:
|
||||||
repo: 'deb {{ mariadb_repository }} {{ ansible_distribution_release }} main'
|
url: '{{ mariadb_upstream_setup_script }}'
|
||||||
|
dest: '/tmp/mariadb_repo_setup'
|
||||||
|
mode: 0755
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
|
||||||
- name: APT_REPOSITORY | Add MariaDB (src) repository
|
- name: COMMAND | Launch MariaDB upstream setup script
|
||||||
ansible.builtin.apt_repository:
|
ansible.builtin.command: '/tmp/mariadb_repo_setup --mariadb-server-version={{ mariadb_upstream_version }}'
|
||||||
repo: 'deb-src {{ mariadb_repository }} {{ ansible_distribution_release }} main'
|
changed_when: true
|
||||||
when: mariadb_upstream_apt_src
|
|
||||||
|
- name: FILE | Remove setup script
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: '/tmp/mariadb_repo_setup'
|
||||||
|
state: absent
|
||||||
|
|
||||||
|
when: check_idempotent.rc > 0
|
||||||
|
|
||||||
|
- name: SHELL | Remove useless old files
|
||||||
|
ansible.builtin.shell: 'rm -f /etc/apt/sources.list.d/mariadb.list.old_*'
|
||||||
|
args:
|
||||||
|
removes: /etc/apt/sources.list.d/mariadb.list.old_1
|
||||||
|
tags:
|
||||||
|
- skip_ansible_lint
|
||||||
|
|
Loading…
Reference in New Issue