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 # 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 ### User management
@ -230,7 +230,7 @@ mariadb_users: []
# state: present|absent # 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) ### Replication (optional)
@ -238,7 +238,7 @@ Replication is only enabled if `mariadb_replication_role` has a value (`primary`
`replica`). `replica`).
The replication setup on the replica use the GTID autopositioning, see 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 #### Common vars

View File

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

View File

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

View File

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

View File

@ -1,51 +1,45 @@
--- ---
- name: Load OS-specific vars # Variable configuration.
ansible.builtin.include_vars: "{{ lookup('first_found', params) }}" - name: Include OS vars
vars: ansible.builtin.import_tasks: variables.yml
params:
files:
- "{{ ansible_distribution }}.yml"
- "{{ ansible_os_family }}.yml"
paths:
- "vars"
- name: Include task setup_debian.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" when: ansible_os_family == "Debian"
- name: Include task setup_redhat.yml - 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" when: ansible_os_family == "RedHat"
- name: Include task setup_alpine.yml - 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" 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
- name: Include task databases.yml - name: Include task databases.yml
ansible.builtin.import_tasks: databases.yml ansible.builtin.include_tasks: databases.yml
when: when:
- mariadb_databases is defined - mariadb_databases is defined
- mariadb_replication_role != "replica" - mariadb_replication_role != "replica"
- name: Include task users.yml - name: Include task users.yml
ansible.builtin.import_tasks: users.yml ansible.builtin.include_tasks: users.yml
when: when:
- mariadb_users is defined - mariadb_users is defined
- mariadb_replication_role != "replica" - mariadb_replication_role != "replica"
- name: Include task replication_primary.yml - 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" when: mariadb_replication_role == "primary"
- name: Include task replication_replica.yml - name: Include task replication_replica.yml
ansible.builtin.import_tasks: replication_replica.yml ansible.builtin.include_tasks: replication_replica.yml
when: when:
- not ansible_check_mode - not ansible_check_mode
- mariadb_replication_role == "replica" - mariadb_replication_role == "replica"
- name: Include task backup.yml - name: Include task backup.yml
ansible.builtin.import_tasks: backup.yml ansible.builtin.include_tasks: backup.yml
when: mariadb_backup_db 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_user: mysql
mariadb_server_package: mariadb __mariadb_server_package: mariadb
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/mariadb.pid" __mariadb_pid_file: "/run/mysqld/mariadb.pid"
mariadb_unix_socket: "/run/mysqld/mysqld.sock" __mariadb_unix_socket: "/run/mysqld/mysqld.sock"
mariadb_log_dir: "/var/log/mariadb" __mariadb_log_dir: "/var/log/mariadb"
mariadb_log_error_file: "{{ mariadb_log_dir }}/error.log" __mariadb_log_error_file: "{{ mariadb_log_dir }}/error.log"
mariadb_cron_package_name: "cronie" __mariadb_cron_package_name: "cronie"

View File

@ -1,10 +1,10 @@
--- ---
mariadb_user: mysql __mariadb_user: mysql
mariadb_server_package: mariadb-server __mariadb_server_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"
mariadb_unix_socket: "/run/mysqld/mysqld.sock" __mariadb_unix_socket: "/run/mysqld/mysqld.sock"
mariadb_log_dir: "/var/log/mysql" __mariadb_log_dir: "/var/log/mysql"
mariadb_log_error_file: "{{ mariadb_log_dir }}/error.log" __mariadb_log_error_file: "{{ mariadb_log_dir }}/error.log"
mariadb_cron_package_name: "cron" __mariadb_cron_package_name: "cron"

View File

@ -1,11 +1,11 @@
--- ---
mariadb_user: mysql __mariadb_user: mysql
mariadb_server_package: mariadb-server __mariadb_server_package: mariadb-server
mariadb_server_package_mdbf: MariaDB-server __mariadb_server_package_mdbf: 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/mariadb/mysqld.pid" __mariadb_pid_file: "/run/mariadb/mysqld.pid"
mariadb_unix_socket: "/var/lib/mysql/mysql.sock" __mariadb_unix_socket: "/var/lib/mysql/mysql.sock"
mariadb_log_dir: "/var/log/mariadb" __mariadb_log_dir: "/var/log/mariadb"
mariadb_log_error_file: "{{ mariadb_log_dir }}/error.log" __mariadb_log_error_file: "{{ mariadb_log_dir }}/error.log"
mariadb_cron_package_name: "cronie" __mariadb_cron_package_name: "cronie"