Compare commits

...

6 Commits

Author SHA1 Message Date
Faustin Lammler d8fbf4c15e
Import for static and include for conditionals
See: https://spacelift.io/blog/how-to-improve-ansible-performance
2025-09-23 12:08:53 +02:00
Faustin Lammler 72da21896c
Adapt testing to #55
#55 was missing molecule testing and verify step needs to be adapted.
2025-09-23 12:08:49 +02:00
faust a7d5f5fe76
Merge pull request #55 from elsoa-invitech/override-os-vars
Allow override OS vars
2025-09-23 09:23:31 +02:00
faust 7ac21a5cab
Merge pull request #56 from SamuAlfageme/readme_broken_links
Fix broken links on README
2025-09-23 09:22:48 +02:00
Samuel Alfageme Sainz 36d3d4d678
Fix broken links on README 2025-09-22 23:56:15 +02:00
Első András 25b9b611c2 Allow override OS vars 2025-09-18 16:44:16 +02:00
9 changed files with 108 additions and 63 deletions

View File

@ -217,7 +217,7 @@ mariadb_databases: []
# replicate: true|false
```
See: <https://docs.ansible.com/ansible/latest/modules/mysql_db_module.html>
See: <https://docs.ansible.com/ansible/latest/collections/community/mysql/mysql_db_module.html>
### User management
@ -230,7 +230,7 @@ mariadb_users: []
# state: present|absent
```
See: <https://docs.ansible.com/ansible/latest/modules/mysql_user_module.html>
See: <https://docs.ansible.com/ansible/latest/collections/community/mysql/mysql_user_module.html>
### Replication (optional)
@ -238,7 +238,7 @@ Replication is only enabled if `mariadb_replication_role` has a value (`primary`
`replica`).
The replication setup on the replica use the GTID autopositioning, see
<https://mariadb.com/kb/en/library/change-master-to/#master_use_gtid>
<https://mariadb.com/docs/server/reference/sql-statements/administrative-sql-statements/replication-statements/change-master-to#master_use_gtid>
#### Common vars

View File

@ -21,15 +21,9 @@ mariadb_can_restart: true
mariadb_overwrite_global_config_file: true
# MariaDB configuration file
mariadb_user: "default value depends on OS"
mariadb_config_file: "default value depends on OS"
# Basic settings
mariadb_data_dir: "default value depends on OS"
mariadb_port: 3306
mariadb_bind_address: 127.0.0.1
mariadb_pid_file: "default value depends on OS"
mariadb_unix_socket: "default value depends on OS"
mariadb_log_error_file: "default value depends on OS"
mariadb_basic_settings_raw: |
user = {{ mariadb_user }}
pid-file = {{ mariadb_pid_file }}

View File

@ -0,0 +1 @@
../../tasks/variables.yml

View File

@ -4,15 +4,8 @@
gather_facts: true
tasks:
- name: Load OS-specific vars
ansible.builtin.include_vars: "{{ lookup('first_found', params) }}"
vars:
params:
files:
- "{{ ansible_distribution }}.yml"
- "{{ ansible_os_family }}.yml"
paths:
- "vars"
- name: Include OS vars
ansible.builtin.import_tasks: variables.yml
- name: Verify pkg status
ansible.builtin.package:

View File

@ -1,51 +1,45 @@
---
- name: Load OS-specific vars
ansible.builtin.include_vars: "{{ lookup('first_found', params) }}"
vars:
params:
files:
- "{{ ansible_distribution }}.yml"
- "{{ ansible_os_family }}.yml"
paths:
- "vars"
# Variable configuration.
- name: Include OS vars
ansible.builtin.import_tasks: variables.yml
- name: Include task setup_debian.yml
ansible.builtin.import_tasks: setup_debian.yml
ansible.builtin.include_tasks: setup_debian.yml
when: ansible_os_family == "Debian"
- name: Include task setup_redhat.yml
ansible.builtin.import_tasks: setup_redhat.yml
ansible.builtin.include_tasks: setup_redhat.yml
when: ansible_os_family == "RedHat"
- name: Include task setup_alpine.yml
ansible.builtin.import_tasks: setup_alpine.yml
ansible.builtin.include_tasks: setup_alpine.yml
when: ansible_os_family == "Alpine"
- name: Include task configure.yml
ansible.builtin.import_tasks: configure.yml
- name: Include task databases.yml
ansible.builtin.import_tasks: databases.yml
ansible.builtin.include_tasks: databases.yml
when:
- mariadb_databases is defined
- mariadb_replication_role != "replica"
- name: Include task users.yml
ansible.builtin.import_tasks: users.yml
ansible.builtin.include_tasks: users.yml
when:
- mariadb_users is defined
- mariadb_replication_role != "replica"
- name: Include task replication_primary.yml
ansible.builtin.import_tasks: replication_primary.yml
ansible.builtin.include_tasks: replication_primary.yml
when: mariadb_replication_role == "primary"
- name: Include task replication_replica.yml
ansible.builtin.import_tasks: replication_replica.yml
ansible.builtin.include_tasks: replication_replica.yml
when:
- not ansible_check_mode
- mariadb_replication_role == "replica"
- name: Include task backup.yml
ansible.builtin.import_tasks: backup.yml
ansible.builtin.include_tasks: backup.yml
when: mariadb_backup_db

63
tasks/variables.yml Normal file
View File

@ -0,0 +1,63 @@
---
# Variable configuration.
- name: Load OS-specific vars
ansible.builtin.include_vars: "{{ lookup('first_found', params) }}"
vars:
params:
files:
- "{{ ansible_distribution }}.yml"
- "{{ ansible_os_family }}.yml"
paths:
- "vars"
- name: Define mariadb_user.
ansible.builtin.set_fact:
mariadb_user: "{{ __mariadb_user }}"
when: mariadb_user is not defined
- name: Define mariadb_server_package.
ansible.builtin.set_fact:
mariadb_server_package: "{{ __mariadb_server_package }}"
when: mariadb_server_package is not defined
- name: Define mariadb_server_package_mdbf.
ansible.builtin.set_fact:
mariadb_server_package_mdbf: "{{ __mariadb_server_package_mdbf }}"
when:
- ansible_os_family == "RedHat"
- mariadb_server_package_mdbf is not defined
- name: Define mariadb_config_file.
ansible.builtin.set_fact:
mariadb_config_file: "{{ __mariadb_config_file }}"
when: mariadb_config_file is not defined
- name: Define mariadb_data_dir.
ansible.builtin.set_fact:
mariadb_data_dir: "{{ __mariadb_data_dir }}"
when: mariadb_data_dir is not defined
- name: Define mariadb_pid_file.
ansible.builtin.set_fact:
mariadb_pid_file: "{{ __mariadb_pid_file }}"
when: mariadb_pid_file is not defined
- name: Define mariadb_unix_socket.
ansible.builtin.set_fact:
mariadb_unix_socket: "{{ __mariadb_unix_socket }}"
when: mariadb_unix_socket is not defined
- name: Define mariadb_log_dir.
ansible.builtin.set_fact:
mariadb_log_dir: "{{ __mariadb_log_dir }}"
when: mariadb_log_dir is not defined
- name: Define mariadb_log_error_file.
ansible.builtin.set_fact:
mariadb_log_error_file: "{{ __mariadb_log_error_file }}"
when: mariadb_log_error_file is not defined
- name: Define mariadb_cron_package_name.
ansible.builtin.set_fact:
mariadb_cron_package_name: "{{ __mariadb_cron_package_name }}"
when: mariadb_cron_package_name is not defined

View File

@ -1,10 +1,10 @@
---
mariadb_user: mysql
mariadb_server_package: mariadb
mariadb_config_file: "/etc/my.cnf.d/mariadb-server.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"
__mariadb_user: mysql
__mariadb_server_package: mariadb
__mariadb_config_file: "/etc/my.cnf.d/mariadb-server.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"

View File

@ -1,10 +1,10 @@
---
mariadb_user: mysql
mariadb_server_package: mariadb-server
mariadb_config_file: "/etc/mysql/mariadb.cnf"
mariadb_data_dir: "/var/lib/mysql"
mariadb_pid_file: "/run/mysqld/mysqld.pid"
mariadb_unix_socket: "/run/mysqld/mysqld.sock"
mariadb_log_dir: "/var/log/mysql"
mariadb_log_error_file: "{{ mariadb_log_dir }}/error.log"
mariadb_cron_package_name: "cron"
__mariadb_user: mysql
__mariadb_server_package: mariadb-server
__mariadb_config_file: "/etc/mysql/mariadb.cnf"
__mariadb_data_dir: "/var/lib/mysql"
__mariadb_pid_file: "/run/mysqld/mysqld.pid"
__mariadb_unix_socket: "/run/mysqld/mysqld.sock"
__mariadb_log_dir: "/var/log/mysql"
__mariadb_log_error_file: "{{ mariadb_log_dir }}/error.log"
__mariadb_cron_package_name: "cron"

View File

@ -1,11 +1,11 @@
---
mariadb_user: mysql
mariadb_server_package: mariadb-server
mariadb_server_package_mdbf: MariaDB-server
mariadb_config_file: "/etc/my.cnf.d/mariadb-server.cnf"
mariadb_data_dir: "/var/lib/mysql"
mariadb_pid_file: "/run/mariadb/mysqld.pid"
mariadb_unix_socket: "/var/lib/mysql/mysql.sock"
mariadb_log_dir: "/var/log/mariadb"
mariadb_log_error_file: "{{ mariadb_log_dir }}/error.log"
mariadb_cron_package_name: "cronie"
__mariadb_user: mysql
__mariadb_server_package: mariadb-server
__mariadb_server_package_mdbf: MariaDB-server
__mariadb_config_file: "/etc/my.cnf.d/mariadb-server.cnf"
__mariadb_data_dir: "/var/lib/mysql"
__mariadb_pid_file: "/run/mariadb/mysqld.pid"
__mariadb_unix_socket: "/var/lib/mysql/mysql.sock"
__mariadb_log_dir: "/var/log/mariadb"
__mariadb_log_error_file: "{{ mariadb_log_dir }}/error.log"
__mariadb_cron_package_name: "cronie"