100 lines
2.7 KiB
YAML
100 lines
2.7 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 ------------------
|
|
|
|
- name: "Install PostgreSQL server and dependencies"
|
|
ansible.builtin.apt:
|
|
name:
|
|
- postgresql
|
|
- postgresql-contrib
|
|
- python3-psycopg2
|
|
state: present
|
|
update_cache: yes
|
|
when: db_engine == 'postgres'
|
|
|
|
- name: "Ensure PostgreSQL service is running and enabled (when selected)"
|
|
ansible.builtin.service:
|
|
name: postgresql
|
|
state: started
|
|
enabled: yes
|
|
when: db_engine == 'postgres'
|
|
|
|
- name: "Ensure PostgreSQL service is stopped and disabled (when NOT selected)"
|
|
ansible.builtin.service:
|
|
name: postgresql
|
|
state: stopped
|
|
enabled: no
|
|
when: db_engine != 'postgres'
|
|
|
|
- name: "Create the global Lenvi PostgreSQL user"
|
|
community.postgresql.postgresql_user:
|
|
name: "{{ db_credentials.user }}"
|
|
password: "{{ db_credentials.password }}"
|
|
priv: "ALL"
|
|
state: present
|
|
become: yes
|
|
become_user: postgres
|
|
when: db_engine == 'postgres' and db_credentials is defined
|
|
|
|
# --- 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 |