chexpire-ansible/roles/chexpire-admin-init/tasks/main.yml

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