initial commit
diff --git a/system/salt/master/formula/git/openstack.yml b/system/salt/master/formula/git/openstack.yml
new file mode 100644
index 0000000..17c40e9
--- /dev/null
+++ b/system/salt/master/formula/git/openstack.yml
@@ -0,0 +1,94 @@
+parameters:
+  salt:
+    master:
+      environment:
+        dev:
+          formula:
+            ceilometer:
+              source: git
+              address: 'https://github.com/openstack/salt-formula-ceilometer.git'
+              revision: ${_param:salt_master_environment_revision}
+            cinder:
+              source: git
+              address: 'https://github.com/openstack/salt-formula-cinder.git'
+              revision: ${_param:salt_master_environment_revision}
+            galera:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-galera.git'
+              revision: ${_param:salt_master_environment_revision}
+            glance:
+              source: git
+              address: 'https://github.com/openstack/salt-formula-glance.git'
+              revision: ${_param:salt_master_environment_revision}
+            glusterfs:
+              source: git
+              address: 'https://github.com/tcpcloud/salt-formula-glusterfs.git'
+              revision: ${_param:salt_master_environment_revision}
+            haproxy:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-haproxy.git'
+              revision: ${_param:salt_master_environment_revision}
+            heat:
+              source: git
+              address: 'https://github.com/openstack/salt-formula-heat.git'
+              revision: ${_param:salt_master_environment_revision}
+            horizon:
+              source: git
+              address: 'https://github.com/openstack/salt-formula-horizon.git'
+              revision: ${_param:salt_master_environment_revision}
+            keepalived:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-keepalived.git'
+              revision: ${_param:salt_master_environment_revision}
+            keystone:
+              source: git
+              address: 'https://github.com/openstack/salt-formula-keystone.git'
+              revision: ${_param:salt_master_environment_revision}
+            memcached:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-memcached.git'
+              revision: ${_param:salt_master_environment_revision}
+            mongodb:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-mongodb.git'
+              revision: ${_param:salt_master_environment_revision}
+            mysql:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-mysql.git'
+              revision: ${_param:salt_master_environment_revision}
+            murano:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-murano.git'
+              revision: ${_param:salt_master_environment_revision}
+            neutron:
+              source: git
+              address: 'https://github.com/openstack/salt-formula-neutron.git'
+              revision: ${_param:salt_master_environment_revision}
+            nginx:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-nginx.git'
+              revision: ${_param:salt_master_environment_revision}
+            nova:
+              source: git
+              address: 'https://github.com/openstack/salt-formula-nova.git'
+              revision: ${_param:salt_master_environment_revision}
+            opencontrail:
+              source: git
+              address: 'https://github.com/openstack/salt-formula-opencontrail.git'
+              revision: ${_param:salt_master_environment_revision}
+            python:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-python.git'
+              revision: ${_param:salt_master_environment_revision}
+            rabbitmq:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-rabbitmq.git'
+              revision: ${_param:salt_master_environment_revision}
+            supervisor:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-supervisor.git'
+              revision: ${_param:salt_master_environment_revision}
+            swift:
+              source: git
+              address: 'https://github.com/openstack/salt-formula-swift.git'
+              revision: ${_param:salt_master_environment_revision}
diff --git a/system/salt/master/formula/git/saltstack.yml b/system/salt/master/formula/git/saltstack.yml
new file mode 100644
index 0000000..d0ca453
--- /dev/null
+++ b/system/salt/master/formula/git/saltstack.yml
@@ -0,0 +1,49 @@
+parameters:
+  salt:
+    master:
+      environment:
+        dev:
+          formula:
+            backupninja:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-backupninja.git'
+              revision: ${_param:salt_master_environment_revision}
+            git:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-git.git'
+              revision: ${_param:salt_master_environment_revision}
+            iptables:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-iptables.git'
+              revision: ${_param:salt_master_environment_revision}
+            libvirt:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-libvirt.git'
+              revision: ${_param:salt_master_environment_revision}
+            linux:
+              module:
+                linux_netlink.py:
+                  enabled: true
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-linux.git'
+              revision: ${_param:salt_master_environment_revision}
+            ntp:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-ntp.git'
+              revision: ${_param:salt_master_environment_revision}
+            openssh:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-openssh.git'
+              revision: ${_param:salt_master_environment_revision}
+            reclass:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-reclass.git'
+              revision: ${_param:salt_master_environment_revision}
+            salt:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-salt.git'
+              revision: ${_param:salt_master_environment_revision}
+            sphinx:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-sphinx.git'
+              revision: ${_param:salt_master_environment_revision}
diff --git a/system/salt/master/formula/git/stacklight.yml b/system/salt/master/formula/git/stacklight.yml
new file mode 100644
index 0000000..b72b00b
--- /dev/null
+++ b/system/salt/master/formula/git/stacklight.yml
@@ -0,0 +1,80 @@
+parameters:
+  salt:
+    master:
+      environment:
+        dev:
+          formula:
+            apache:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-apache.git'
+              revision: ${_param:salt_master_environment_revision}
+            collectd:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-collectd.git'
+              revision: ${_param:salt_master_environment_revision}
+            elasticsearch:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-elasticsearch.git'
+              revision: ${_param:salt_master_environment_revision}
+            grafana:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-grafana.git'
+              revision: ${_param:salt_master_environment_revision}
+              state:
+                grafana3_datasource.py:
+                  enabled: true
+                grafana3_dashboard.py:
+                  enabled: true
+            graphite:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-graphite.git'
+              revision: ${_param:salt_master_environment_revision}
+            heka:
+              module:
+                heka_alarming.py:
+                  enabled: true
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-heka.git'
+              revision: ${_param:salt_master_environment_revision}
+            influxdb:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-influxdb.git'
+              revision: ${_param:salt_master_environment_revision}
+            java:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-java.git'
+              revision: ${_param:salt_master_environment_revision}
+            kibana:
+              state:
+                kibana_object.py:
+                  enabled: true
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-kibana.git'
+              revision: ${_param:salt_master_environment_revision}
+            nagios:
+              module:
+                nagios_alarming.py:
+                  enabled: true
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-nagios.git'
+              revision: ${_param:salt_master_environment_revision}
+            postgresql:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-postgresql.git'
+              revision: ${_param:salt_master_environment_revision}
+            rabbitmq:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-rabbitmq.git'
+              revision: ${_param:salt_master_environment_revision}
+            redis:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-redis.git'
+              revision: ${_param:salt_master_environment_revision}
+            rsyslog:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-rsyslog.git'
+              revision: ${_param:salt_master_environment_revision}
+            sensu:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-sensu.git'
+              revision: ${_param:salt_master_environment_revision}
diff --git a/system/salt/master/formula/pkg/openstack.yml b/system/salt/master/formula/pkg/openstack.yml
new file mode 100644
index 0000000..f23bbee
--- /dev/null
+++ b/system/salt/master/formula/pkg/openstack.yml
@@ -0,0 +1,69 @@
+parameters:
+  salt:
+    master:
+      environment:
+        prd:
+          formula:
+            ceilometer:
+              source: pkg
+              name: salt-formula-ceilometer
+            cinder:
+              source: pkg
+              name: salt-formula-cinder
+            galera:
+              source: pkg
+              name: salt-formula-galera
+            glance:
+              source: pkg
+              name: salt-formula-glance
+            glusterfs:
+              source: pkg
+              name: salt-formula-glusterfs
+            haproxy:
+              source: pkg
+              name: salt-formula-haproxy
+            heat:
+              source: pkg
+              name: salt-formula-heat
+            horizon:
+              source: pkg
+              name: salt-formula-horizon
+            keepalived:
+              source: pkg
+              name: salt-formula-keepalived
+            keystone:
+              source: pkg
+              name: salt-formula-keystone
+            memcached:
+              source: pkg
+              name: salt-formula-memcached
+            mongodb:
+              source: pkg
+              name: salt-formula-mongodb
+            mysql:
+              source: pkg
+              name: salt-formula-mysql
+            neutron:
+              source: pkg
+              name: salt-formula-neutron
+            nginx:
+              source: pkg
+              name: salt-formula-nginx
+            nova:
+              source: pkg
+              name: salt-formula-nova
+            opencontrail:
+              source: pkg
+              name: salt-formula-opencontrail
+            python:
+              source: pkg
+              name: salt-formula-python
+            rabbitmq:
+              source: pkg
+              name: salt-formula-rabbitmq
+            supervisor:
+              source: pkg
+              name: salt-formula-supervisor
+            swift:
+              source: pkg
+              name: salt-formula-swift
diff --git a/system/salt/master/formula/pkg/saltstack.yml b/system/salt/master/formula/pkg/saltstack.yml
new file mode 100644
index 0000000..eeff26b
--- /dev/null
+++ b/system/salt/master/formula/pkg/saltstack.yml
@@ -0,0 +1,39 @@
+parameters:
+  salt:
+    master:
+      environment:
+        prd:
+          formula:
+            backupninja:
+              source: pkg
+              name: salt-formula-backupninja
+            git:
+              source: pkg
+              name: salt-formula-git
+            iptables:
+              source: pkg
+              name: salt-formula-iptables
+            libvirt:
+              source: pkg
+              name: salt-formula-libvirt
+            linux:
+              source: pkg
+              name: salt-formula-linux
+            nginx:
+              source: pkg
+              name: salt-formula-nginx
+            ntp:
+              source: pkg
+              name: salt-formula-ntp
+            openssh:
+              source: pkg
+              name: salt-formula-openssh
+            reclass:
+              source: pkg
+              name: salt-formula-reclass
+            salt:
+              source: pkg
+              name: salt-formula-salt
+            sphinx:
+              source: pkg
+              name: salt-formula-sphinx
diff --git a/system/salt/master/formula/pkg/stacklight.yml b/system/salt/master/formula/pkg/stacklight.yml
new file mode 100644
index 0000000..4fe75c0
--- /dev/null
+++ b/system/salt/master/formula/pkg/stacklight.yml
@@ -0,0 +1,54 @@
+parameters:
+  salt:
+    master:
+      environment:
+        prd:
+          formula:
+            apache:
+              source: pkg
+              name: salt-formula-apache
+            collectd:
+              source: pkg
+              name: salt-formula-collectd
+            elasticsearch:
+              source: pkg
+              name: salt-formula-elasticsearch
+            grafana:
+              source: pkg
+              name: salt-formula-grafana
+            graphite:
+              source: pkg
+              name: salt-formula-graphite
+            heka:
+              source: pkg
+              name: salt-formula-heka
+            influxdb:
+              source: pkg
+              name: salt-formula-influxdb
+            java:
+              source: pkg
+              name: salt-formula-java
+            kibana:
+              source: pkg
+              name: salt-formula-kibana
+            #nagios:
+            #  source: pkg
+            #  name: salt-formula-nagios
+            postgresql:
+              source: pkg
+              name: salt-formula-postgresql
+            rabbitmq:
+              source: pkg
+              name: salt-formula-rabbitmq
+            redis:
+              source: pkg
+              name: salt-formula-redis
+            rsyslog:
+              source: pkg
+              name: salt-formula-rsyslog
+            sensu:
+              source: pkg
+              name: salt-formula-sensu
+            nagios:
+              source: pkg
+              name: salt-formula-nagios
diff --git a/system/salt/master/git.yml b/system/salt/master/git.yml
new file mode 100644
index 0000000..5a922af
--- /dev/null
+++ b/system/salt/master/git.yml
@@ -0,0 +1,9 @@
+classes:
+- system.salt.master.single
+- system.salt.master.formula.git.openstack
+- system.salt.master.formula.git.saltstack
+- system.salt.master.formula.git.stacklight
+parameters:
+  _param:
+    salt_master_environment_repository: "https://github.com/tcpcloud"
+    salt_master_environment_revision: master
diff --git a/system/salt/master/pkg.yml b/system/salt/master/pkg.yml
new file mode 100644
index 0000000..d1c8a1a
--- /dev/null
+++ b/system/salt/master/pkg.yml
@@ -0,0 +1,6 @@
+classes:
+- system.salt.master.single
+- system.salt.master.formula.pkg.openstack
+- system.salt.master.formula.pkg.saltstack
+- system.salt.master.formula.pkg.stacklight
+- system.linux.system.repo.tcp_salt
diff --git a/system/salt/master/single.yml b/system/salt/master/single.yml
new file mode 100644
index 0000000..9764a97
--- /dev/null
+++ b/system/salt/master/single.yml
@@ -0,0 +1,19 @@
+classes:
+- service.git.client
+- service.salt.master.single
+parameters:
+  linux:
+    system:
+      sysctl:
+        net.core.rmem_max: 16777216
+        net.core.wmem_max: 16777216
+        net.ipv4.tcp_rmem: 4096 87380 16777216
+        net.ipv4.tcp_wmem: 4096 87380 16777216
+  salt:
+    master:
+      accept_policy: auto_accept
+      worker_threads: 40
+      command_timeout: 10
+      peer:
+        '.*':
+          - x509.sign_remote_certificate