Add kubernetes to system
diff --git a/salt/master/formula/git/kubernetes.yml b/salt/master/formula/git/kubernetes.yml
new file mode 100644
index 0000000..c827caf
--- /dev/null
+++ b/salt/master/formula/git/kubernetes.yml
@@ -0,0 +1,22 @@
+parameters:
+  salt:
+    master:
+      environment:
+        dev:
+          formula:
+            kubernetes:
+              source: git
+              address: 'https://github.com/openstack/salt-formula-kubernetes.git'
+              revision: ${_param:salt_master_environment_revision}
+            etcd:
+              source: git
+              address: 'https://github.com/tcpcloud/salt-formula-etcd.git'
+              revision: ${_param:salt_master_environment_revision}
+            bird:
+              source: git
+              address: 'https://github.com/tcpcloud/salt-formula-bird.git'
+              revision: ${_param:salt_master_environment_revision}
+            docker:
+              source: git
+              address: 'https://github.com/tcpcloud/salt-formula-docker.git'
+              revision: ${_param:salt_master_environment_revision}
\ No newline at end of file
diff --git a/salt/master/formula/pkg/kubernetes.yml b/salt/master/formula/pkg/kubernetes.yml
new file mode 100644
index 0000000..7b3af30
--- /dev/null
+++ b/salt/master/formula/pkg/kubernetes.yml
@@ -0,0 +1,18 @@
+parameters:
+  salt:
+    master:
+      environment:
+        prd:
+          formula:
+            kubernetes:
+              source: pkg
+              name: salt-formula-kubernetes
+            etcd:
+              source: pkg
+              name: salt-formula-etcd
+            bird:
+              source: pkg
+              name: salt-formula-bird
+            docker:
+              source: pkg
+              name: salt-formula-docker
\ No newline at end of file
diff --git a/salt/master/git.yml b/salt/master/git.yml
index 5a922af..7b57a26 100644
--- a/salt/master/git.yml
+++ b/salt/master/git.yml
@@ -3,6 +3,7 @@
 - system.salt.master.formula.git.openstack
 - system.salt.master.formula.git.saltstack
 - system.salt.master.formula.git.stacklight
+- system.salt.master.formula.git.kubernetes
 parameters:
   _param:
     salt_master_environment_repository: "https://github.com/tcpcloud"
diff --git a/salt/master/pkg.yml b/salt/master/pkg.yml
index d1c8a1a..baae04c 100644
--- a/salt/master/pkg.yml
+++ b/salt/master/pkg.yml
@@ -3,4 +3,5 @@
 - system.salt.master.formula.pkg.openstack
 - system.salt.master.formula.pkg.saltstack
 - system.salt.master.formula.pkg.stacklight
+- system.salt.master.formula.pkg.kubernetes
 - system.linux.system.repo.tcp_salt
diff --git a/salt/minion/cert/k8s_client_certificate.yml b/salt/minion/cert/k8s_client_certificate.yml
new file mode 100644
index 0000000..37bf618
--- /dev/null
+++ b/salt/minion/cert/k8s_client_certificate.yml
@@ -0,0 +1,12 @@
+parameters:
+  salt:
+    minion:
+      cert:
+        k8s_client:
+          host: ${_param:salt_minion_ca_host}
+          authority: ${_param:salt_minion_ca_authority}
+          key_file: /etc/kubernetes/ssl/kubelet-client.key
+          cert_file: /etc/kubernetes/ssl/kubelet-client.crt
+          common_name: kubelet-client
+          signing_policy: cert_client
+          alternative_names: IP:${_param:cluster_vip_address},IP:${_param:cluster_node01_address},IP:${_param:cluster_node02_address},IP:${_param:cluster_node03_address},IP:${_param:kubernetes_internal_api_address}
\ No newline at end of file
diff --git a/salt/minion/cert/k8s_server_certificate.yml b/salt/minion/cert/k8s_server_certificate.yml
new file mode 100644
index 0000000..835f043
--- /dev/null
+++ b/salt/minion/cert/k8s_server_certificate.yml
@@ -0,0 +1,13 @@
+parameters:
+  salt:
+    minion:
+      cert:
+        k8s_server:
+          host: ${_param:salt_minion_ca_host}
+          authority: ${_param:salt_minion_ca_authority}
+          common_name: kubernetes-server
+          key_file: /etc/kubernetes/ssl/kubernetes-server.key
+          cert_file: /etc/kubernetes/ssl/kubernetes-server.crt
+          ca_file: /etc/kubernetes/ssl/ca-kubernetes.crt
+          signing_policy: cert_server
+          alternative_names: IP:${_param:cluster_vip_address},IP:${_param:cluster_node01_address},IP:${_param:cluster_node02_address},IP:${_param:cluster_node03_address},IP:${_param:kubernetes_internal_api_address}
\ No newline at end of file
diff --git a/salt/minion/pki/authority.yml b/salt/minion/pki/authority.yml
deleted file mode 100644
index fa84966..0000000
--- a/salt/minion/pki/authority.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-parameters:
-  salt:
-    minion:
-      ca:
-        mk_lab_ca:
-          common_name: mk_lab_ca
-          country: cz
-          locality: Prague
-          organization: Mirantis
-          signing_policy:
-            cert_server:
-              type: v3_edge_cert_server
-              minions: '*'
-            cert_client:
-              type: v3_edge_cert_client
-              minions: '*'
-          days_valid:
-            authority: 3650
-            certificate: 3650
diff --git a/salt/minion/pki/certificate.yml b/salt/minion/pki/certificate.yml
deleted file mode 100644
index 4bf4ef3..0000000
--- a/salt/minion/pki/certificate.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-parameters:
-  salt:
-    minion:
-      cert:
-        proxy_cert:
-          host: ${_param:salt_minion_ca_host}
-          signing_policy: cert_server
-          authority: mk_lab_ca
-          common_name: ${_param:cluster_public_host}