Make the role compatible with Alpine linux
Should be compatible with: - 3.17 - 3.18
This commit is contained in:
parent
40297fcd41
commit
f7c3a8f2e5
|
|
@ -41,6 +41,7 @@ jobs:
|
||||||
- fedora-38
|
- fedora-38
|
||||||
- almalinux-9
|
- almalinux-9
|
||||||
- rockylinux-8
|
- rockylinux-8
|
||||||
|
- alpine-3.18
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: Install requirements
|
- name: Install requirements
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,8 @@ jobs:
|
||||||
- almalinux-9
|
- almalinux-9
|
||||||
- rockylinux-8
|
- rockylinux-8
|
||||||
- rockylinux-9
|
- rockylinux-9
|
||||||
|
- alpine-3.17
|
||||||
|
- alpine-3.18
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: Install requirements
|
- 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.yml)
|
||||||
[](https://github.com/fauust/ansible-role-mariadb/actions/workflows/test_cluster_mdbf.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:
|
Optionally, this role also permits one to:
|
||||||
|
|
||||||
|
|
@ -128,6 +128,8 @@ deployments and you are encouraged to use your own values.
|
||||||
[`vars`](./vars).
|
[`vars`](./vars).
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
|
mariadb_user: "default value depends on OS"
|
||||||
|
mariadb_package: "default value depends on OS"
|
||||||
mariadb_config_file: "default value depends on OS"
|
mariadb_config_file: "default value depends on OS"
|
||||||
mariadb_data_dir: "default value depends on OS"
|
mariadb_data_dir: "default value depends on OS"
|
||||||
mariadb_port: 3306
|
mariadb_port: 3306
|
||||||
|
|
|
||||||
|
|
@ -6,3 +6,6 @@
|
||||||
when:
|
when:
|
||||||
- mariadb_can_restart
|
- mariadb_can_restart
|
||||||
- not ansible_check_mode
|
- not ansible_check_mode
|
||||||
|
|
||||||
|
- name: Setup MariaDB
|
||||||
|
ansible.builtin.command: /etc/init.d/mariadb setup
|
||||||
|
|
|
||||||
|
|
@ -11,21 +11,19 @@ galaxy_info:
|
||||||
platforms:
|
platforms:
|
||||||
- name: Debian
|
- name: Debian
|
||||||
versions:
|
versions:
|
||||||
- buster
|
- all
|
||||||
- bullseye
|
|
||||||
- sid
|
|
||||||
- name: Ubuntu
|
- name: Ubuntu
|
||||||
versions:
|
versions:
|
||||||
- bionic
|
- all
|
||||||
- focal
|
|
||||||
- jammy
|
|
||||||
- name: Fedora
|
- name: Fedora
|
||||||
versions:
|
versions:
|
||||||
- all
|
- all
|
||||||
- name: EL
|
- name: EL
|
||||||
versions:
|
versions:
|
||||||
- 8
|
- all
|
||||||
- 9
|
- name: Alpine
|
||||||
|
versions:
|
||||||
|
- all
|
||||||
galaxy_tags:
|
galaxy_tags:
|
||||||
- mariadb
|
- mariadb
|
||||||
- mysql
|
- mysql
|
||||||
|
|
|
||||||
|
|
@ -3,15 +3,19 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: Get mariadb service status
|
- name: Make sure that service is started
|
||||||
ansible.builtin.systemd:
|
ansible.builtin.service:
|
||||||
name: "mariadb"
|
name: mariadb
|
||||||
register: mariadb_service
|
state: started
|
||||||
|
register: status
|
||||||
|
failed_when: status.changed
|
||||||
|
|
||||||
- name: Check that mariadb service is active
|
- name: Make sure that service is enabled
|
||||||
ansible.builtin.assert:
|
ansible.builtin.service:
|
||||||
that:
|
name: mariadb
|
||||||
- mariadb_service.status.ActiveState == 'active'
|
state: enabled
|
||||||
|
register: status
|
||||||
|
failed_when: status.changed
|
||||||
|
|
||||||
- name: Verify replication
|
- name: Verify replication
|
||||||
hosts: replica
|
hosts: replica
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
../../../vars/Alpine.yml
|
||||||
|
|
@ -14,13 +14,17 @@
|
||||||
paths:
|
paths:
|
||||||
- "vars"
|
- "vars"
|
||||||
|
|
||||||
- name: Gather package facts
|
- name: Verify pkg status
|
||||||
ansible.builtin.package_facts:
|
ansible.builtin.package:
|
||||||
manager: auto
|
name: "{{ mariadb_package }}"
|
||||||
|
state: present
|
||||||
|
check_mode: true
|
||||||
|
register: pkg_status
|
||||||
|
|
||||||
- name: Verify Packages
|
- name: Check that {{ mariadb_package }} already installed
|
||||||
ansible.builtin.assert:
|
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 }}
|
- name: Register {{ mariadb_config_file }}
|
||||||
ansible.builtin.stat:
|
ansible.builtin.stat:
|
||||||
|
|
@ -58,15 +62,19 @@
|
||||||
- logdir.stat.pw_name == "{{ mariadb_user }}"
|
- logdir.stat.pw_name == "{{ mariadb_user }}"
|
||||||
- logdir.stat.gr_name == "{{ mariadb_user }}"
|
- logdir.stat.gr_name == "{{ mariadb_user }}"
|
||||||
|
|
||||||
- name: Get mariadb service status
|
- name: Make sure that service is started
|
||||||
ansible.builtin.systemd:
|
ansible.builtin.service:
|
||||||
name: "mariadb"
|
name: mariadb
|
||||||
register: mariadb_service
|
state: started
|
||||||
|
register: status
|
||||||
|
failed_when: status.changed
|
||||||
|
|
||||||
- name: Check that mariadb service is active
|
- name: Make sure that service is enabled
|
||||||
ansible.builtin.assert:
|
ansible.builtin.service:
|
||||||
that:
|
name: mariadb
|
||||||
- mariadb_service.status.ActiveState == 'active'
|
state: enabled
|
||||||
|
register: status
|
||||||
|
failed_when: status.changed
|
||||||
|
|
||||||
- name: Check that 127.0.0.1:3306 is listening
|
- name: Check that 127.0.0.1:3306 is listening
|
||||||
ansible.builtin.wait_for:
|
ansible.builtin.wait_for:
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
---
|
---
|
||||||
collections:
|
collections:
|
||||||
|
- name: community.general
|
||||||
- name: community.mysql
|
- name: community.mysql
|
||||||
- name: containers.podman
|
- name: containers.podman
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,10 @@
|
||||||
ansible.builtin.import_tasks: setup_redhat.yml
|
ansible.builtin.import_tasks: setup_redhat.yml
|
||||||
when: ansible_os_family == "RedHat"
|
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
|
- name: Include task configure.yml
|
||||||
ansible.builtin.import_tasks: 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
|
group: root
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
|
|
||||||
- name: Install packages
|
- name: Install packages (apt)
|
||||||
ansible.builtin.apt:
|
ansible.builtin.apt:
|
||||||
package:
|
package:
|
||||||
- mariadb-server
|
- "{{ mariadb_package }}"
|
||||||
- python3-pymysql
|
- python3-pymysql
|
||||||
state: present
|
state: present
|
||||||
update_cache: true
|
update_cache: true
|
||||||
|
|
|
||||||
|
|
@ -20,10 +20,10 @@
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
when: mariadb_use_official_repo
|
when: mariadb_use_official_repo
|
||||||
|
|
||||||
- name: Install packages
|
- name: Install packages (dnf)
|
||||||
ansible.builtin.dnf:
|
ansible.builtin.dnf:
|
||||||
name:
|
name:
|
||||||
- mariadb-server
|
- "{{ mariadb_package }}"
|
||||||
- python3-PyMySQL
|
- python3-PyMySQL
|
||||||
state: present
|
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_user: mysql
|
||||||
|
mariadb_package: mariadb-server
|
||||||
mariadb_config_file: "/etc/mysql/mariadb.cnf"
|
mariadb_config_file: "/etc/mysql/mariadb.cnf"
|
||||||
mariadb_data_dir: "/var/lib/mysql"
|
mariadb_data_dir: "/var/lib/mysql"
|
||||||
mariadb_pid_file: "/run/mysqld/mysqld.pid"
|
mariadb_pid_file: "/run/mysqld/mysqld.pid"
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
mariadb_user: mysql
|
mariadb_user: mysql
|
||||||
|
mariadb_package: mariadb-server
|
||||||
mariadb_config_file: "/etc/my.cnf.d/mariadb-server.cnf"
|
mariadb_config_file: "/etc/my.cnf.d/mariadb-server.cnf"
|
||||||
mariadb_data_dir: "/var/lib/mysql"
|
mariadb_data_dir: "/var/lib/mysql"
|
||||||
mariadb_pid_file: "/run/mysqld.pid"
|
mariadb_pid_file: "/run/mysqld.pid"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue