diff --git a/roles/database/tasks/main.yml b/roles/database/tasks/main.yml index baa134e..4eda25a 100644 --- a/roles/database/tasks/main.yml +++ b/roles/database/tasks/main.yml @@ -1,10 +1,51 @@ --- -- name: "Install MariaDB/MySQL server" +# ------------------ MariaDB Specific Tasks ------------------ + +- name: "Install MariaDB server" ansible.builtin.apt: name: mariadb-server state: present update_cache: yes - when: db_engine == 'mariadb' or db_engine == 'mysql' + when: db_engine == 'mariadb' + +- name: "Ensure MariaDB service is running and enabled (when selected)" + ansible.builtin.service: + name: mariadb + state: started + enabled: yes + when: db_engine == 'mariadb' + +- name: "Ensure MariaDB service is stopped and disabled (when NOT selected)" + ansible.builtin.service: + name: mariadb + state: stopped + enabled: no + when: db_engine != 'mariadb' + +# ------------------ MySQL Specific Tasks ------------------ + +- name: "Install MySQL server" + ansible.builtin.apt: + name: mysql-server + state: present + update_cache: yes + when: db_engine == 'mysql' + +- name: "Ensure MySQL service is running and enabled (when selected)" + ansible.builtin.service: + name: mysql + state: started + enabled: yes + when: db_engine == 'mysql' + +- name: "Ensure MySQL service is stopped and disabled (when NOT selected)" + ansible.builtin.service: + name: mysql + state: stopped + enabled: no + when: db_engine != 'mysql' + +# ------------------ PostgreSQL Specific Tasks (Placeholder) ------------------ - name: "Install PostgreSQL server" ansible.builtin.apt: @@ -15,13 +56,6 @@ update_cache: yes when: db_engine == 'postgres' -- name: "Ensure MariaDB/MySQL service is running and enabled" - ansible.builtin.service: - name: mariadb - state: started - enabled: yes - when: db_engine == 'mariadb' or db_engine == 'mysql' - - name: "Ensure PostgreSQL service is running and enabled" ansible.builtin.service: name: postgresql @@ -29,7 +63,9 @@ enabled: yes when: db_engine == 'postgres' -- name: "Install Python dependencies for MariaDB/MySQL management" +# --- Common Tasks for MySQL/MariaDB --- + +- name: "Install Python dependencies for MySQL/MariaDB management" ansible.builtin.apt: name: python3-pymysql state: present