commit
35af25cbbd
|
|
@ -41,6 +41,7 @@ jobs:
|
|||
- fedora-38
|
||||
- almalinux-9
|
||||
- rockylinux-8
|
||||
- alpine-3.18
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install requirements
|
||||
|
|
|
|||
|
|
@ -47,6 +47,8 @@ jobs:
|
|||
- almalinux-9
|
||||
- rockylinux-8
|
||||
- rockylinux-9
|
||||
- alpine-3.17
|
||||
- alpine-3.18
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install requirements
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
[](https://github.com/fauust/ansible-role-mariadb/actions/workflows/test_cluster.yml)
|
||||
[](https://github.com/fauust/ansible-role-mariadb/actions/workflows/test_cluster_mdbf.yml)
|
||||
|
||||
Install and configure MariaDB Server on Linux (Debian or RHEL based).
|
||||
Install and configure MariaDB Server on Linux (Debian, RHEL or Alpine linux based).
|
||||
|
||||
Optionally, this role also permits one to:
|
||||
|
||||
|
|
@ -128,6 +128,8 @@ deployments and you are encouraged to use your own values.
|
|||
[`vars`](./vars).
|
||||
|
||||
```yaml
|
||||
mariadb_user: "default value depends on OS"
|
||||
mariadb_package: "default value depends on OS"
|
||||
mariadb_config_file: "default value depends on OS"
|
||||
mariadb_data_dir: "default value depends on OS"
|
||||
mariadb_port: 3306
|
||||
|
|
|
|||
|
|
@ -6,3 +6,6 @@
|
|||
when:
|
||||
- mariadb_can_restart
|
||||
- not ansible_check_mode
|
||||
|
||||
- name: Setup MariaDB
|
||||
ansible.builtin.command: /etc/init.d/mariadb setup
|
||||
|
|
|
|||
|
|
@ -11,21 +11,19 @@ galaxy_info:
|
|||
platforms:
|
||||
- name: Debian
|
||||
versions:
|
||||
- buster
|
||||
- bullseye
|
||||
- sid
|
||||
- all
|
||||
- name: Ubuntu
|
||||
versions:
|
||||
- bionic
|
||||
- focal
|
||||
- jammy
|
||||
- all
|
||||
- name: Fedora
|
||||
versions:
|
||||
- all
|
||||
- name: EL
|
||||
versions:
|
||||
- 8
|
||||
- 9
|
||||
- all
|
||||
- name: Alpine
|
||||
versions:
|
||||
- all
|
||||
galaxy_tags:
|
||||
- mariadb
|
||||
- mysql
|
||||
|
|
|
|||
|
|
@ -3,15 +3,19 @@
|
|||
hosts: all
|
||||
|
||||
tasks:
|
||||
- name: Get mariadb service status
|
||||
ansible.builtin.systemd:
|
||||
name: "mariadb"
|
||||
register: mariadb_service
|
||||
- name: Make sure that service is started
|
||||
ansible.builtin.service:
|
||||
name: mariadb
|
||||
state: started
|
||||
register: status
|
||||
failed_when: status.changed
|
||||
|
||||
- name: Check that mariadb service is active
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- mariadb_service.status.ActiveState == 'active'
|
||||
- name: Make sure that service is enabled
|
||||
ansible.builtin.service:
|
||||
name: mariadb
|
||||
state: enabled
|
||||
register: status
|
||||
failed_when: status.changed
|
||||
|
||||
- name: Verify replication
|
||||
hosts: replica
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
../../../vars/Alpine.yml
|
||||
|
|
@ -14,13 +14,17 @@
|
|||
paths:
|
||||
- "vars"
|
||||
|
||||
- name: Gather package facts
|
||||
ansible.builtin.package_facts:
|
||||
manager: auto
|
||||
- name: Verify pkg status
|
||||
ansible.builtin.package:
|
||||
name: "{{ mariadb_package }}"
|
||||
state: present
|
||||
check_mode: true
|
||||
register: pkg_status
|
||||
|
||||
- name: Verify Packages
|
||||
- name: Check that {{ mariadb_package }} already installed
|
||||
ansible.builtin.assert:
|
||||
that: "'mariadb-server' in ansible_facts.packages|lower"
|
||||
that: not pkg_status.changed
|
||||
fail_msg: "{{ mariadb_package }} is not installed"
|
||||
|
||||
- name: Register {{ mariadb_config_file }}
|
||||
ansible.builtin.stat:
|
||||
|
|
@ -58,15 +62,19 @@
|
|||
- logdir.stat.pw_name == "{{ mariadb_user }}"
|
||||
- logdir.stat.gr_name == "{{ mariadb_user }}"
|
||||
|
||||
- name: Get mariadb service status
|
||||
ansible.builtin.systemd:
|
||||
name: "mariadb"
|
||||
register: mariadb_service
|
||||
- name: Make sure that service is started
|
||||
ansible.builtin.service:
|
||||
name: mariadb
|
||||
state: started
|
||||
register: status
|
||||
failed_when: status.changed
|
||||
|
||||
- name: Check that mariadb service is active
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- mariadb_service.status.ActiveState == 'active'
|
||||
- name: Make sure that service is enabled
|
||||
ansible.builtin.service:
|
||||
name: mariadb
|
||||
state: enabled
|
||||
register: status
|
||||
failed_when: status.changed
|
||||
|
||||
- name: Check that 127.0.0.1:3306 is listening
|
||||
ansible.builtin.wait_for:
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
---
|
||||
collections:
|
||||
- name: community.general
|
||||
- name: community.mysql
|
||||
- name: containers.podman
|
||||
|
|
|
|||
|
|
@ -17,6 +17,10 @@
|
|||
ansible.builtin.import_tasks: setup_redhat.yml
|
||||
when: ansible_os_family == "RedHat"
|
||||
|
||||
- name: Include task setup_alpine.yml
|
||||
ansible.builtin.import_tasks: setup_alpine.yml
|
||||
when: ansible_os_family == "Alpine"
|
||||
|
||||
- name: Include task configure.yml
|
||||
ansible.builtin.import_tasks: configure.yml
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,34 @@
|
|||
---
|
||||
- name: Install packages (package)
|
||||
ansible.builtin.package:
|
||||
name:
|
||||
- "{{ mariadb_package }}"
|
||||
- mariadb-client
|
||||
- py3-pymysql
|
||||
state: present
|
||||
notify: Setup MariaDB
|
||||
|
||||
- name: Check if mariadb command exists
|
||||
ansible.builtin.stat:
|
||||
path: /usr/bin/mariadb
|
||||
register: mariadb_cmd
|
||||
|
||||
- name: Make sure that mariadb command exists
|
||||
ansible.builtin.file:
|
||||
src: /usr/bin/mysql
|
||||
dest: /usr/bin/mariadb
|
||||
owner: root
|
||||
group: root
|
||||
state: link
|
||||
when: mariadb_cmd.stat.exists is false
|
||||
|
||||
- name: Ensure /run/mysqld
|
||||
ansible.builtin.file:
|
||||
path: /run/mysqld
|
||||
state: directory
|
||||
owner: mysql
|
||||
group: mysql
|
||||
mode: 0755
|
||||
|
||||
- name: Immediately setup MariaDB (necessary for configuration)
|
||||
ansible.builtin.meta: flush_handlers
|
||||
|
|
@ -75,10 +75,10 @@
|
|||
group: root
|
||||
mode: "0644"
|
||||
|
||||
- name: Install packages
|
||||
- name: Install packages (apt)
|
||||
ansible.builtin.apt:
|
||||
package:
|
||||
- mariadb-server
|
||||
- "{{ mariadb_package }}"
|
||||
- python3-pymysql
|
||||
state: present
|
||||
update_cache: true
|
||||
|
|
|
|||
|
|
@ -20,10 +20,10 @@
|
|||
mode: "0644"
|
||||
when: mariadb_use_official_repo
|
||||
|
||||
- name: Install packages
|
||||
- name: Install packages (dnf)
|
||||
ansible.builtin.dnf:
|
||||
name:
|
||||
- mariadb-server
|
||||
- "{{ mariadb_package }}"
|
||||
- python3-PyMySQL
|
||||
state: present
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
mariadb_user: mysql
|
||||
mariadb_package: mariadb
|
||||
mariadb_config_file: "/etc/my.cnf"
|
||||
mariadb_data_dir: "/var/lib/mysql"
|
||||
mariadb_pid_file: "/run/mysqld/mariadb.pid"
|
||||
mariadb_unix_socket: "/run/mysqld/mysqld.sock"
|
||||
mariadb_log_dir: "/var/log/mariadb"
|
||||
mariadb_log_error_file: "{{ mariadb_log_dir }}/error.log"
|
||||
mariadb_cron_package_name: "cronie"
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
mariadb_user: mysql
|
||||
mariadb_package: mariadb-server
|
||||
mariadb_config_file: "/etc/mysql/mariadb.cnf"
|
||||
mariadb_data_dir: "/var/lib/mysql"
|
||||
mariadb_pid_file: "/run/mysqld/mysqld.pid"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
mariadb_user: mysql
|
||||
mariadb_package: mariadb-server
|
||||
mariadb_config_file: "/etc/my.cnf.d/mariadb-server.cnf"
|
||||
mariadb_data_dir: "/var/lib/mysql"
|
||||
mariadb_pid_file: "/run/mysqld.pid"
|
||||
|
|
|
|||
Loading…
Reference in New Issue