Initial commit
diff --git a/metadata/service/server/cluster.yml b/metadata/service/server/cluster.yml
new file mode 100644
index 0000000..81f5e42
--- /dev/null
+++ b/metadata/service/server/cluster.yml
@@ -0,0 +1,57 @@
+applications:
+- mysql
+parameters:
+  mysql:
+    cluster:
+      enabled: true
+      name: openstack
+      role: ${_param:mysql_cluster_role}
+      bind:
+        address: ${_param:cluster_local_address}
+        port: 4567
+      members:
+      - host: ${_param:cluster_node01_address}
+        port: 4567
+      - host: ${_param:cluster_node02_address}
+        port: 4567
+      - host: ${_param:cluster_node03_address}
+        port: 4567
+      gcache_size: 4000
+    server:
+      enabled: true
+      force_encoding: utf8
+      version: '5.5'
+      admin:
+        user: root
+        password: ${_param:mysql_admin_password}
+      bind:
+        address: ${_param:cluster_local_address}
+        port: 3306
+      users:
+      - name: haproxy
+        host: localhost
+      - name: haproxy
+        host: '%'
+      - name: haproxy
+        host: ${_param:cluster_local_address}
+  haproxy:
+    proxy:
+      listen:
+        mysql_cluster:
+          type: mysql
+          binds:
+          - address: ${_param:cluster_vip_address}
+            port: 3306
+          servers:
+          - name: ctl01
+            host: ${_param:cluster_node01_address}
+            port: 3306
+            params: check
+          - name: ctl02
+            host: ${_param:cluster_node02_address}
+            port: 3306
+            params: backup check
+          - name: ctl03
+            host: ${_param:cluster_node03_address}
+            port: 3306
+            params: backup check
diff --git a/metadata/service/server/local.yml b/metadata/service/server/local.yml
new file mode 100644
index 0000000..e61bbfa
--- /dev/null
+++ b/metadata/service/server/local.yml
@@ -0,0 +1,15 @@
+applications:
+- mysql
+parameters:
+  mysql:
+    server:
+      enabled: true
+      version: '5.5'
+      force_encoding: utf8
+      admin:
+        user: ${_param:mysql_admin_user}
+        password: ${_param:mysql_admin_password}
+      bind:
+        address: 0.0.0.0
+        port: 3306
+        protocol: tcp
diff --git a/metadata/service/server/replication_both.yml b/metadata/service/server/replication_both.yml
new file mode 100644
index 0000000..ffc137c
--- /dev/null
+++ b/metadata/service/server/replication_both.yml
@@ -0,0 +1,32 @@
+applications:
+- mysql
+parameters:
+  mysql:
+    server:
+      enabled: true
+      version: '5.5'
+      force_encoding: utf8
+      replication:
+        role: both
+        master: ${_param:mysql_replication_master}
+        master_address: ${_param:mysql_replication_master_address}
+        user: ${_param:mysql_replication_user}
+        password: ${_param:mysql_replication_password}
+      server_id: ${_param:mysql_server_id}
+      ssl:
+        enabled: true
+        authority: ${_param:mysql_ssl_authority}
+        certificate: ${_param:mysql_ssl_certificate}
+        client_certificate: ${_param:mysql_ssl_client_certificate}
+      admin:
+        user: ${_param:mysql_admin_user}
+        password: ${_param:mysql_admin_password}
+      bind:
+        address: 0.0.0.0
+        port: 3306
+        protocol: tcp
+  salt:
+    minion:
+      mine:
+        module:
+          mysql.get_master_status: []
diff --git a/metadata/service/server/replication_master.yml b/metadata/service/server/replication_master.yml
new file mode 100644
index 0000000..5ebca0c
--- /dev/null
+++ b/metadata/service/server/replication_master.yml
@@ -0,0 +1,29 @@
+applications:
+- mysql
+parameters:
+  mysql:
+    server:
+      enabled: true
+      version: '5.5'
+      force_encoding: utf8
+      replication:
+        role: master
+        user: ${_param:mysql_replication_user}
+        password: ${_param:mysql_replication_password}
+      server_id: 1
+      ssl:
+        enabled: true
+        authority: ${_param:mysql_ssl_authority}
+        certificate: ${_param:mysql_ssl_certificate}
+      admin:
+        user: ${_param:mysql_admin_user}
+        password: ${_param:mysql_admin_password}
+      bind:
+        address: 0.0.0.0
+        port: 3306
+        protocol: tcp
+  salt:
+    minion:
+      mine:
+        module:
+          mysql.get_master_status: []
\ No newline at end of file
diff --git a/metadata/service/server/replication_slave.yml b/metadata/service/server/replication_slave.yml
new file mode 100644
index 0000000..adac12c
--- /dev/null
+++ b/metadata/service/server/replication_slave.yml
@@ -0,0 +1,27 @@
+applications:
+- mysql
+parameters:
+  mysql:
+    server:
+      enabled: true
+      version: '5.5'
+      force_encoding: utf8
+      replication:
+        role: slave
+        master: ${_param:mysql_replication_master}
+        master_address: ${_param:mysql_replication_master_address}
+        user: ${_param:mysql_replication_user}
+        password: ${_param:mysql_replication_password}
+      server_id: 2
+      ssl:
+        enabled: true
+        authority: ${_param:mysql_ssl_authority}
+        certificate: ${_param:mysql_ssl_certificate}
+        client_certificate: ${_param:mysql_ssl_client_certificate}
+      admin:
+        user: ${_param:mysql_admin_user}
+        password: ${_param:mysql_admin_password}
+      bind:
+        address: 0.0.0.0
+        port: 3306
+        protocol: tcp
diff --git a/metadata/service/server/single.yml b/metadata/service/server/single.yml
new file mode 100644
index 0000000..e61bbfa
--- /dev/null
+++ b/metadata/service/server/single.yml
@@ -0,0 +1,15 @@
+applications:
+- mysql
+parameters:
+  mysql:
+    server:
+      enabled: true
+      version: '5.5'
+      force_encoding: utf8
+      admin:
+        user: ${_param:mysql_admin_user}
+        password: ${_param:mysql_admin_password}
+      bind:
+        address: 0.0.0.0
+        port: 3306
+        protocol: tcp