blob: 0d6572b53bac7464edf2a407433499e5508c9069 [file] [log] [blame]
{%- if pillar.get('mysql', {}).server is defined %}
{%- set server = pillar.mysql.server %}
{%- for database_name, database in server.get('database', {}).iteritems() %}
mysql_database_{{ database_name }}:
mysql_database.present:
- name: {{ database_name }}
{%- for user in database.users %}
mysql_user_{{ user.name }}_{{ database_name }}_{{ user.host }}:
mysql_user.present:
- host: '{{ user.host }}'
- name: '{{ user.name }}'
- password: {{ user.password }}
mysql_grants_{{ user.name }}_{{ database_name }}_{{ user.host }}:
mysql_grants.present:
- grant: {{ user.rights }}
- database: '{{ database_name }}.*'
- user: '{{ user.name }}'
- host: '{{ user.host }}'
- require:
- mysql_user: mysql_user_{{ user.name }}_{{ database_name }}_{{ user.host }}
- mysql_database: mysql_database_{{ database_name }}
{%- endfor %}
{%- if database.initial_data is defined %}
/root/mysql/scripts/restore_{{ database_name }}.sh:
file.managed:
- source: salt://mysql/conf/restore.sh
- mode: 770
- template: jinja
- defaults:
database_name: {{ database_name }}
- require:
- file: mysql_dirs
- mysql_database: mysql_database_{{ database_name }}
restore_mysql_database_{{ database_name }}:
cmd.run:
- name: /root/mysql/scripts/restore_{{ database_name }}.sh
- unless: "[ -f /root/mysql/flags/{{ database_name }}-installed ]"
- cwd: /root
- require:
- file: /root/mysql/scripts/restore_{{ database_name }}.sh
{%- endif %}
{%- endfor %}
{%- for user in server.get('users', []) %}
mysql_user_{{ user.name }}_{{ user.host }}:
mysql_user.present:
- host: '{{ user.host }}'
- name: '{{ user.name }}'
{%- if user.password is defined %}
- password: {{ user.password }}
{%- else %}
- allow_passwordless: True
{%- endif %}
{%- endfor %}
{%- endif %}