add database & users creation
This commit is contained in:
47
tasks/database.yml
Normal file
47
tasks/database.yml
Normal file
@@ -0,0 +1,47 @@
|
||||
---
|
||||
- name: mariadb | create databases
|
||||
mysql_db:
|
||||
name: "{{ item.name }}"
|
||||
encoding: "{{ item.encoding | default('utf8mb4') }}"
|
||||
collation: "{{ item.collation | default('utf8mb4_unicode_ci') }}"
|
||||
state: present
|
||||
login_unix_socket: /var/run/mysqld/mysqld.sock
|
||||
loop: "{{ mariadb_databases }}"
|
||||
when: mariadb_databases is defined and mariadb_databases | length > 0
|
||||
|
||||
- name: mariadb | create users with password
|
||||
mysql_user:
|
||||
name: "{{ item.0.name }}"
|
||||
password: "{{ item.0.password }}"
|
||||
host: "{{ item.1 }}"
|
||||
priv: "{{ (item.0.priv | join('/')) if (item.0.priv is defined and (item.0.priv is sequence) and (item.0.priv is not string)) else (item.0.priv if item.0.priv is defined else omit) }}"
|
||||
append_privs: "{{ item.0.append_privs | default(true) }}"
|
||||
state: '{{ item.0.state|default("present") }}'
|
||||
login_unix_socket: /var/run/mysqld/mysqld.sock
|
||||
with_subelements :
|
||||
- "{{ mariadb_users | default([]) }}"
|
||||
- host
|
||||
when:
|
||||
- mariadb_users is defined and mariadb_users | length > 0
|
||||
- item.0.password is defined
|
||||
- item.0.encrypted_password is not defined
|
||||
no_log: true
|
||||
|
||||
- name: mariadb | create users with encrypted password
|
||||
mysql_user:
|
||||
name: '{{ item.0.name }}'
|
||||
encrypted: true
|
||||
password: '{{ item.0.encrypted_password }}'
|
||||
host: '{{ item.1 }}'
|
||||
priv: "{{ (item.0.priv | join('/')) if (item.0.priv is defined and (item.0.priv is sequence) and (item.0.priv is not string)) else (item.0.priv if item.0.priv is defined else omit) }}"
|
||||
append_privs: "{{ item.0.append_privs | default(true) }}"
|
||||
state: '{{ item.0.state|default("present") }}'
|
||||
login_unix_socket: /var/run/mysqld/mysqld.sock
|
||||
with_subelements :
|
||||
- "{{ mariadb_users | default([]) }}"
|
||||
- host
|
||||
when:
|
||||
- mariadb_users is defined and mariadb_users | length > 0
|
||||
- item.0.encrypted_password is defined
|
||||
- item.0.password is not defined
|
||||
no_log: true
|
||||
@@ -8,4 +8,10 @@
|
||||
|
||||
- name: mariadb | installation
|
||||
include_tasks: install.yml
|
||||
when: not mariadb_force_upgrade | bool
|
||||
when: not mariadb_force_upgrade | bool
|
||||
|
||||
- name: mariadb | database and user management
|
||||
include_tasks: database.yml
|
||||
when:
|
||||
- mariadb_databases is defined and mariadb_databases | length > 0
|
||||
- mariadb_users is defined and mariadb_users | length > 0
|
||||
@@ -13,3 +13,7 @@
|
||||
- curl
|
||||
state: present
|
||||
|
||||
- name: mariadb | install python3-pymysql for database management
|
||||
ansible.builtin.apt:
|
||||
name: python3-pymysql
|
||||
state: present
|
||||
Reference in New Issue
Block a user