forked from evolix/ansible-roles
63 lines
1.6 KiB
YAML
63 lines
1.6 KiB
YAML
---
|
|
- name: Get actual Mysql password
|
|
shell: "grep password /home/{{ redmine_user }}/.my.cnf | awk '{ print $3 }'"
|
|
register: redmine_get_mysql_password
|
|
check_mode: no
|
|
changed_when: False
|
|
failed_when: false
|
|
tags:
|
|
- redmine
|
|
|
|
- name: Generate Mysql password
|
|
shell: perl -e 'print map{("a".."z","A".."Z",0..9)[int(rand(62))]}(1..16)'
|
|
register: redmine_generate_mysql_password
|
|
check_mode: no
|
|
changed_when: False
|
|
when: redmine_get_mysql_password.stdout == ""
|
|
tags:
|
|
- redmine
|
|
|
|
- name: Set Mysql password
|
|
set_fact:
|
|
redmine_db_pass: "{{ redmine_generate_mysql_password.stdout | default(redmine_get_mysql_password.stdout) }}"
|
|
tags:
|
|
- redmine
|
|
|
|
- name: Create Mysql database
|
|
mysql_db:
|
|
name: "{{ redmine_db_name }}"
|
|
config_file: "/root/.my.cnf"
|
|
state: present
|
|
collation: "utf8_general_ci"
|
|
register: redmine_mysql_create
|
|
tags:
|
|
- redmine
|
|
|
|
- name: Store credentials in my.cnf
|
|
ini_file:
|
|
dest: "/home/{{ redmine_user }}/.my.cnf"
|
|
owner: "{{ redmine_user }}"
|
|
group: "{{ redmine_user }}"
|
|
mode: "0600"
|
|
section: client
|
|
option: '{{ item.option }}'
|
|
value: '{{ item.value }}'
|
|
with_items:
|
|
- { option: 'host', value: "{{ redmine_db_host }}" }
|
|
- { option: 'user', value: "{{ redmine_db_username }}" }
|
|
- { option: 'database', value: "{{ redmine_db_name }}" }
|
|
- { option: 'password', value: '{{ redmine_db_pass }}' }
|
|
tags:
|
|
- redmine
|
|
|
|
- name: Create Mysql user
|
|
mysql_user:
|
|
name: "{{ redmine_db_username }}"
|
|
password: '{{ redmine_db_pass }}'
|
|
priv: "{{ redmine_user }}.*:ALL"
|
|
config_file: "/root/.my.cnf"
|
|
update_password: always
|
|
state: present
|
|
tags:
|
|
- redmine
|