From f493b36330649e85bc46ebb9a18361ed9370bf68 Mon Sep 17 00:00:00 2001 From: hbaxter Date: Mon, 7 Jul 2025 15:15:30 +0100 Subject: [PATCH] Role: mariadb --- ANSIBLE/roles/mariadb/defaults/main.yml | 1 + .../roles/mariadb/tasks/install_initilise.yml | 45 +++++++++++++++++ ANSIBLE/roles/mariadb/tasks/main.yml | 50 ++----------------- ANSIBLE/roundcube.yml | 5 +- 4 files changed, 54 insertions(+), 47 deletions(-) create mode 100644 ANSIBLE/roles/mariadb/tasks/install_initilise.yml diff --git a/ANSIBLE/roles/mariadb/defaults/main.yml b/ANSIBLE/roles/mariadb/defaults/main.yml index 55c9369..b0a43f0 100644 --- a/ANSIBLE/roles/mariadb/defaults/main.yml +++ b/ANSIBLE/roles/mariadb/defaults/main.yml @@ -1,2 +1,3 @@ --- # defaults file for roles/mariadb +mariadb_manage: false \ No newline at end of file diff --git a/ANSIBLE/roles/mariadb/tasks/install_initilise.yml b/ANSIBLE/roles/mariadb/tasks/install_initilise.yml new file mode 100644 index 0000000..350d060 --- /dev/null +++ b/ANSIBLE/roles/mariadb/tasks/install_initilise.yml @@ -0,0 +1,45 @@ +--- +- name: Install MariaDB server and client + ansible.builtin.apt: + name: + - mariadb-server + - mariadb-client + state: present + update_cache: true + +- name: Ensure PyMySQL is installed + ansible.builtin.apt: + name: python3-pymysql + state: present + +- name: Ensure MariaDB is running and enabled + ansible.builtin.service: + name: mariadb + state: started + enabled: true + +- name: Try to connect to MariaDB with root password + ansible.builtin.shell: | + mysql -u root -p'{{ mariadb_root_password }}' -e "SELECT 1;" + register: mysql_root_status + failed_when: false + changed_when: false + +- name: Set MariaDB root password if not already set + community.mysql.mysql_user: + name: root + host: "{{ item }}" + password: "{{ mariadb_root_password }}" + login_unix_socket: /run/mysqld/mysqld.sock + check_implicit_admin: true + state: present + loop: + - localhost + - 127.0.0.1 + - ::1 + when: mysql_root_status.rc != 0 + +- name: Check MariaDB root password is set + ansible.builtin.debug: + msg: "MariaDB root password is already set, skipping reset" + when: mysql_root_status.rc == 0 diff --git a/ANSIBLE/roles/mariadb/tasks/main.yml b/ANSIBLE/roles/mariadb/tasks/main.yml index 708ec33..4f90bcc 100644 --- a/ANSIBLE/roles/mariadb/tasks/main.yml +++ b/ANSIBLE/roles/mariadb/tasks/main.yml @@ -1,45 +1,5 @@ ---- -- name: Install MariaDB server and client - apt: - name: - - mariadb-server - - mariadb-client - state: present - update_cache: yes - -- name: Ensure PyMySQL is installed - apt: - name: python3-pymysql - state: present - -- name: Ensure MariaDB is running and enabled - service: - name: mariadb - state: started - enabled: true - -- name: Try to connect to MariaDB with root password - shell: | - mysql -u root -p'{{ mariadb_root_password }}' -e "SELECT 1;" - register: mysql_root_status - failed_when: false - changed_when: false - -- name: Set MariaDB root password if not already set - mysql_user: - name: root - host: "{{ item }}" - password: "{{ mariadb_root_password }}" - login_unix_socket: /run/mysqld/mysqld.sock - check_implicit_admin: true - state: present - loop: - - localhost - - 127.0.0.1 - - ::1 - when: mysql_root_status.rc != 0 - -- debug: - msg: "MariaDB root password is already set, skipping reset" - when: mysql_root_status.rc == 0 - +- name: Mariadb Install & Init + ansible.builtin.include_tasks: install_initilise.yml +- name: Mariadb db create + when: mariadb_manage + ansible.builtin.include_tasks: install_initilise.yml diff --git a/ANSIBLE/roundcube.yml b/ANSIBLE/roundcube.yml index dfb9f13..efffa3a 100644 --- a/ANSIBLE/roundcube.yml +++ b/ANSIBLE/roundcube.yml @@ -4,6 +4,7 @@ become: true gather_facts: true roles: -# - httpd_with_php + - httpd - roundcube - - svc_acct + - mariadb +# - svc_acct