58 lines
1.4 KiB
YAML
58 lines
1.4 KiB
YAML
---
|
|
|
|
- name: packages are installed
|
|
apt:
|
|
name: "{{ item }}"
|
|
with_items:
|
|
- libsodium-dev
|
|
- default-libmysqlclient-dev
|
|
|
|
- name: MySQL database is present
|
|
mysql_db:
|
|
name: "{{ mysql_chexpire_db }}"
|
|
state: present
|
|
|
|
- name: Is there a .my.cnf file
|
|
stat:
|
|
path: /home/vagrant/.my.cnf
|
|
register: my_cnf_file
|
|
|
|
- name: create a password for mysql
|
|
command: "apg -n 1 -m 16 -M lcN"
|
|
register: _result
|
|
changed_when: False
|
|
check_mode: no
|
|
when: not my_cnf_file.stat.exists
|
|
|
|
- name: Chexpire .my.cnf file is present
|
|
ini_file:
|
|
dest: /home/vagrant/.my.cnf
|
|
mode: "0600"
|
|
owner: vagrant
|
|
group: vagrant
|
|
section: client
|
|
option: '{{ item.option }}'
|
|
value: '{{ item.value }}'
|
|
create: yes
|
|
with_items:
|
|
- { option: 'user', value: '{{ mysql_chexpire_username }}' }
|
|
- { option: 'password', value: '{{ _result.stdout }}' }
|
|
when: not my_cnf_file.stat.exists
|
|
|
|
- name: read .my.cnf file for password
|
|
shell: cat /home/vagrant/.my.cnf | grep password | cut -d '=' -f2 | xargs
|
|
changed_when: False
|
|
register: _result
|
|
|
|
- set_fact:
|
|
mysql_chexpire_password: "{{ _result.stdout }}"
|
|
|
|
- name: MySQL user is present
|
|
mysql_user:
|
|
name: "{{ mysql_chexpire_username }}"
|
|
password: "{{ mysql_chexpire_password }}"
|
|
priv: '{{ mysql_chexpire_db }}.*:ALL'
|
|
host: localhost
|
|
state: present
|
|
register: mysql_chexpire_user
|