Compare commits
4 Commits
fa960ef6a8
...
f7235d38b9
Author | SHA1 | Date |
---|---|---|
Emilien Mantel | f7235d38b9 | |
Emilien Mantel | 6a9d12c5eb | |
Emilien Mantel | fe7d09b9cd | |
Emilien Mantel | 69f86f60ba |
11
README.md
11
README.md
|
@ -6,11 +6,11 @@ MariaDB (MySQL) Ansible role for Debian
|
|||
Install and configure MariaDB (Galera Cluster). Manage replication (master/slave). Create users and databases.
|
||||
|
||||
| OS | Origin | MariaDB versions |
|
||||
| --------------- | --------- | ------------------------- |
|
||||
| --------------- | --------- | ----------------- |
|
||||
| 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 | Upstream | 10.5 to 10.6 |
|
||||
| Debian Bullseye | Upstream | Up from 10.5 |
|
||||
|
||||
|
||||
Notes
|
||||
|
@ -61,12 +61,11 @@ Check "priv" syntax in [mysql\_user module documentation](http://docs.ansible.co
|
|||
|
||||
### Packaging
|
||||
|
||||
- `mariadb_version`: depends Debian version
|
||||
- `mariadb_repository`: MariaDB upstream APT repository (see: [MariaDB repositories tool](https://downloads.mariadb.org/mariadb/repositories))
|
||||
- `mariadb_upstream_version`: depends Debian version
|
||||
|
||||
### Other
|
||||
|
||||
- `mariadb_debug_role`: boolean, set true to disable no_log hidding
|
||||
- `mariadb_debug_role`: boolean, set true to disable `no_log` hidding
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
|
|
|
@ -79,10 +79,6 @@ Vagrant.configure("2") do |config|
|
|||
d.has_ssh = true
|
||||
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|
|
||||
ansible.playbook = "tests/test.yml"
|
||||
ansible.verbose = 'vv'
|
||||
|
@ -106,10 +102,6 @@ Vagrant.configure("2") do |config|
|
|||
v.memory = 512
|
||||
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|
|
||||
ansible.playbook = "tests/test.yml"
|
||||
ansible.verbose = 'vv'
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
mariadb_origin: 'default'
|
||||
mariadb_use_galera: false
|
||||
mariadb_notify_restart: true
|
||||
mariadb_upstream_apt_src: false
|
||||
|
||||
# -------------------------------------
|
||||
# Configuration
|
||||
|
@ -115,14 +114,10 @@ mariadb_databases: []
|
|||
mariadb_users: []
|
||||
|
||||
# -------------------------------------
|
||||
# MariaDB
|
||||
# MariaDB Upstream
|
||||
# -------------------------------------
|
||||
mariadb_version: '10.6'
|
||||
mariadb_mirror_domain: "ftp.igh.cnrs.fr"
|
||||
# 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']
|
||||
mariadb_upstream_setup_script: 'https://r.mariadb.com/downloads/mariadb_repo_setup'
|
||||
mariadb_upstream_version: '10.6'
|
||||
|
||||
# -------------------------------------
|
||||
# Galera
|
||||
|
|
|
@ -4,25 +4,36 @@
|
|||
ansible.builtin.apt:
|
||||
name: gpg
|
||||
|
||||
- name: APT_KEY | Install MariaDB key
|
||||
ansible.builtin.apt_key:
|
||||
keyserver: "{{ mariadb_key_server }}"
|
||||
id: "{{ item }}"
|
||||
loop: "{{ mariadb_key_ids }}"
|
||||
- name: COMMAND | Check indempotent
|
||||
ansible.builtin.command: 'grep -q "{{ mariadb_upstream_version }}" /etc/apt/sources.list.d/mariadb.list'
|
||||
register: check_idempotent
|
||||
failed_when: false
|
||||
changed_when: false
|
||||
|
||||
- name: TEMPLATE | Deploy APT pinning (prevent upgrades from Debian)
|
||||
ansible.builtin.template:
|
||||
src: etc/apt/preferences.d/95-mariadb.j2
|
||||
dest: /etc/apt/preferences.d/95-mariadb
|
||||
mode: 0644
|
||||
- block:
|
||||
|
||||
- name: GET_URL | Download MariaDB setup script
|
||||
ansible.builtin.get_url:
|
||||
url: '{{ mariadb_upstream_setup_script }}'
|
||||
dest: '/tmp/mariadb_repo_setup'
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: root
|
||||
|
||||
- name: APT_REPOSITORY | Add MariaDB repository
|
||||
ansible.builtin.apt_repository:
|
||||
repo: 'deb {{ mariadb_repository }} {{ ansible_distribution_release }} main'
|
||||
- name: COMMAND | Launch MariaDB upstream setup script
|
||||
ansible.builtin.command: '/tmp/mariadb_repo_setup --mariadb-server-version={{ mariadb_upstream_version }}'
|
||||
changed_when: true
|
||||
|
||||
- name: APT_REPOSITORY | Add MariaDB (src) repository
|
||||
ansible.builtin.apt_repository:
|
||||
repo: 'deb-src {{ mariadb_repository }} {{ ansible_distribution_release }} main'
|
||||
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