ansible-roles/nextcloud/tasks/mysql.yml
2018-03-24 21:27:39 +01:00

79 lines
1.9 KiB
YAML

---
- name: Generate Mysql password
shell: 'apg -n 1 -m 16 -M lcN'
register: nextcloud_apg_password
check_mode: no
changed_when: False
with_items: "{{ nextcloud_instances | list }}"
tags:
- nextcloud
- name: Set Mysql password
set_fact:
nextcloud_instances: "{{ nextcloud_instances | combine({ item[0]: nextcloud_instances[item[0]] | combine({ 'db_pass': item[1].stdout }) }, recursive=True) }}"
with_together:
- "{{ nextcloud_instances | list }}"
- "{{ nextcloud_apg_password.results }}"
tags:
- nextcloud
- name: Create Mysql database
mysql_db:
name: "{{ item }}"
config_file: "/root/.my.cnf"
state: present
with_items: "{{ nextcloud_instances | list }}"
tags:
- nextcloud
- name: Create Mysql user
mysql_user:
name: "{{ item.key }}"
password: '{{ item.value.db_pass }}'
priv: "{{ item.key }}.*:ALL"
config_file: "/root/.my.cnf"
update_password: always
state: present
with_dict: "{{ nextcloud_instances }}"
tags:
- nextcloud
- name: Store credentials in my.cnf
ini_file:
dest: "/home/{{ item }}/.my.cnf"
owner: "{{ item }}"
group: "{{ item }}"
mode: "0600"
section: client
option: 'user'
value: '{{ item }}'
with_items: "{{ nextcloud_instances | list }}"
tags:
- nextcloud
- name: Store credentials in my.cnf
ini_file:
dest: "/home/{{ item }}/.my.cnf"
owner: "{{ item }}"
group: "{{ item }}"
mode: "0600"
section: client
option: 'database'
value: '{{ item }}'
with_items: "{{ nextcloud_instances | list }}"
tags:
- nextcloud
- name: Store credentials in my.cnf
ini_file:
dest: "/home/{{ item.key }}/.my.cnf"
owner: "{{ item.key }}"
group: "{{ item.key }}"
mode: "0600"
section: client
option: 'password'
value: '{{ item.value.db_pass }}'
with_dict: "{{ nextcloud_instances }}"
tags:
- nextcloud