2025-06-16 16:28:53 +08:00

82 lines
2.2 KiB
YAML

---
# ------------------ MariaDB Specific Tasks ------------------
- name: "Install MariaDB server"
ansible.builtin.apt:
name: mariadb-server
state: present
update_cache: yes
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:
name:
- postgresql
- postgresql-contrib
state: present
update_cache: yes
when: db_engine == 'postgres'
- name: "Ensure PostgreSQL service is running and enabled"
ansible.builtin.service:
name: postgresql
state: started
enabled: yes
when: db_engine == 'postgres'
# --- Common Tasks for MySQL/MariaDB ---
- name: "Install Python dependencies for MySQL/MariaDB 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