enforce database
diff --git a/galera/server.sls b/galera/server.sls
new file mode 100644
index 0000000..e50f0b6
--- /dev/null
+++ b/galera/server.sls
@@ -0,0 +1,82 @@
+{%- 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 }}
+  - require:
+    {% if cluster.enabled %}
+    - cmd: mysql_cluster_init
+    {% else %}
+    - service: mysql_service
+    {% endif %}
+
+{%- 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 }}
+  - require:
+    {% if cluster.enabled %}
+    - cmd: mysql_cluster_init
+    {% else %}
+    - service: mysql_service
+    {% endif %}
+
+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 %}
\ No newline at end of file