--- - name: "Install MariaDB/MySQL server" ansible.builtin.apt: name: mariadb-server state: present update_cache: yes when: db_engine == 'mariadb' or db_engine == 'mysql' - name: "Install PostgreSQL server" ansible.builtin.apt: name: - postgresql - postgresql-contrib state: present 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 state: started enabled: yes when: db_engine == 'postgres' - name: "Install Python dependencies for MariaDB/MySQL management" ansible.builtin.apt: name: python3-pymysql state: present when: db_engine == 'mariadb' or db_engine == 'mysql' - name: "Create the global Lenvi database user" community.mysql.mysql_user: name: "{{ db_credentials.user }}" password: "{{ db_credentials.password }}" priv: "*.*:ALL,GRANT" host: "%" state: present login_unix_socket: /var/run/mysqld/mysqld.sock when: (db_engine == 'mariadb' or db_engine == 'mysql') and db_credentials is defined