k8s: deploy k8s certs
diff --git a/data/bc01n01.hswaw.net-kube-node.crt b/data/bc01n01.hswaw.net-kube-node.crt
new file mode 100644
index 0000000..2402e56
--- /dev/null
+++ b/data/bc01n01.hswaw.net-kube-node.crt
@@ -0,0 +1,34 @@
+-----BEGIN CERTIFICATE-----
+MIIF0zCCA7sCCQCA8T/OXbv3DTANBgkqhkiG9w0BAQsFADCBtzELMAkGA1UEBhMC
+UEwxFDASBgNVBAgMC01hem93aWVja2llMREwDwYDVQQHDAhXYXJzemF3YTEuMCwG
+A1UECgwlU3Rvd2FyenlzemVuaWUgV2Fyc3phd3NraSBIYWNrZXJzcGFjZTEQMA4G
+A1UECwwHaHNjbG91ZDEaMBgGA1UEAwwRQm9vdHN0cmFwIE5vZGUgQ0ExITAfBgkq
+hkiG9w0BCQEWEnEza0BoYWNrZXJzcGFjZS5wbDAeFw0xOTAxMTIyMDAyNDRaFw0x
+OTAyMTEyMDAyNDRaMIGeMQswCQYDVQQGEwJQTDEUMBIGA1UECAwLTWF6b3dpZWNr
+aWUxFDASBgNVBAcMC01hem93aWVja2llMRUwEwYDVQQKDAxzeXN0ZW06bm9kZXMx
+JDAiBgNVBAsMG0t1YmVybmV0ZXMgTm9kZSBDZXJ0aWZpY2F0ZTEmMCQGA1UEAwwd
+c3lzdGVtOm5vZGU6YmMwMW4wMS5oc3dhdy5uZXQwggIiMA0GCSqGSIb3DQEBAQUA
+A4ICDwAwggIKAoICAQDOaZ50brBSgDovLotGHIB1ZhV9fn+vUrIdlVGA3Wl5Noxn
+nR8dsPs6on7I6rWgUJS2xvKMBLRRLVhO9cVe2mhZSWqXMwWGvcebzW+36b/mCwnq
+ldv16ZyiuljTjwDXd0949+CSXfAGYLjZ4GLTD7u/75THJAJxxSAkmcwnVgnfL3is
+oTPmHy6PPlohc9nJd6QOjQF9MER5BwRHtJnQkswFGpBInBK31/5M9/cdjOxrVKVX
+tijor3+zdFmldZC0BRq03lvY4MXvZJw94PhY4Rf6mH76YqfCH61MQXpf6mTYuOU+
+tnrNtyymFXHmVww0t8IlKRKivjs64Plo96ycb90MxyAZKDCmxr9RPgjXYUHRNOG0
+uGL1n9emSJqGbGR4BzpxXZ9Wg/X7OThAAywTKEGujjFiBSw791I0Ilad4qRZVX6t
+tUVm4oy9MmE4VzY1Y3Qi7oF70p7W67U2vE2aclDOZMuOl3sS5GVgLrXi+KoDLx8y
+JJ9j+gY8Q1/nLzgd2tdz67UQ0j9MPA/KW3xLFnOeanz+xgjRrSWqm4G+vSQ5/Wsf
+dqBOBBa00Y38E6Nz+mS7PRWYqI8mz3B7p42riAnTNPu8qNn5RX7k5GvlNVg/RS8J
+YgNOUg9qMntNhfpeIC9cJRbm1M3Z45r2ojMyLwJvas4vGBWLm/SrU6O81O07SwID
+AQABMA0GCSqGSIb3DQEBCwUAA4ICAQCNXBrB69b6N2VKOpxcm7Ei0Q6YMzbHg6do
+SWf5VTHCYKYq235ZA1hIIuK5DldwwPr0pWiFSdzzMItKFACAkJt3TxB4wkt+QsR/
+pPwJk8UBjIUwyEw1k1VTjlRC7kKdjaDUmWFNs5pHunP3XkYhQS0vqTKnSchTH2wa
+RYGokFjgzNeEH+mm14pWDFz52etoQNx/R1i9wQDlCNaf8I+k28wOq3CtJrX0Cu4r
+YIwUzbQYXF4ganN5UWwF63KcZhtxq3sWvEIO1CnXJgtEZO55deomALZ5UbRqxuX0
+NvlhszoDU5S15/NyX8yEtlGDybxPFxxztHLThv9wfNVzoGj/HcdGK03bchK38OzF
+1tr7mo2U1FaKMwySioYuIPqx+o5KC2lhIYCkV3txAHdjsw6IGvSf8Fzc+OLnBhym
+4CydO9ntKsIDZtkLOIfrUOjV3JpVMpQtTKaZaxk8c1Ivh9oHv8sRqhdGWQIXVCnI
+d7R9Z6Tw7N/ErRbe9h3vVTj4gGidaglwMoAbc5S14AHN2VD42aCm9LsQ8AKmYqPD
+dtXtTD4M6oV98GPg1Wb743ineWrSXoFmJtsIjQHaLrIU6w2je4j8I3C1zXXJi8PW
+F2Qzt4v00D8DHqsBMzLNJMIdr/XIU7WjUdEC+Os3t2v/FySLM0lXlcRe2lop7ikh
+oL5JNFvztA==
+-----END CERTIFICATE-----
diff --git a/data/ca.srl b/data/ca.srl
index 2e31c54..15a9261 100644
--- a/data/ca.srl
+++ b/data/ca.srl
@@ -1 +1 @@
-80F13FCE5DBBF70B
+80F13FCE5DBBF710
diff --git a/data/kube-controller-manager.crt b/data/kube-controller-manager.crt
new file mode 100644
index 0000000..785e1ce
--- /dev/null
+++ b/data/kube-controller-manager.crt
@@ -0,0 +1,34 @@
+-----BEGIN CERTIFICATE-----
+MIIF9DCCA9wCCQCA8T/OXbv3DjANBgkqhkiG9w0BAQsFADCBtzELMAkGA1UEBhMC
+UEwxFDASBgNVBAgMC01hem93aWVja2llMREwDwYDVQQHDAhXYXJzemF3YTEuMCwG
+A1UECgwlU3Rvd2FyenlzemVuaWUgV2Fyc3phd3NraSBIYWNrZXJzcGFjZTEQMA4G
+A1UECwwHaHNjbG91ZDEaMBgGA1UEAwwRQm9vdHN0cmFwIE5vZGUgQ0ExITAfBgkq
+hkiG9w0BCQEWEnEza0BoYWNrZXJzcGFjZS5wbDAeFw0xOTAxMTIyMTI0MTlaFw0x
+OTAyMTEyMTI0MTlaMIG/MQswCQYDVQQGEwJQTDEUMBIGA1UECAwLTWF6b3dpZWNr
+aWUxFDASBgNVBAcMC01hem93aWVja2llMScwJQYDVQQKDB5zeXN0ZW06a3ViZS1j
+b250cm9sbGVyLW1hbmFnZXIxMjAwBgNVBAsMKUt1YmVybmV0ZXMgQ29udHJvbGxl
+ciBNYW5hZ2VyIENlcnRpZmljYXRlMScwJQYDVQQDDB5zeXN0ZW06a3ViZS1jb250
+cm9sbGVyLW1hbmFnZXIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDH
+NdThV//g0VWj5VX+i/Z0iLjmoxwIJYVcuzLNJwiC3jyhjKfXwo7GjkI03PB0oHmj
+I/OS15NqCpSbOzLNKfnBk1WjfGfbyiyJbIFWPPWnD/i4mdiKZ5ZS45nYAUqBADs6
+By6mR7vQY/SlQ4BAKwLhK+U0AP7bubwK8lTeZvu2UnoaeR4y6gImSPsnqm7jfB3f
+gj/dYzl+9JaNH8j/57Sy40tthPJ33Q5KBMnGb+PlIzzp9vCvn4bm3MpYfCLUP/Us
+mrj/MbaJWBTuJ7ubb1LE28IXP0/nN6buv0rnEV+wEhbIuTw29gikWAj1vqglMzgo
+LWCGHd3yIubUSv+ChEJPtD+Cctxj5F/54/8S+LvolDBCNCcn+J2JPJCKq29G81oi
+zpd1lw8LvnVmzLHuhIr/8HLm5hnbSwcdOqX1MEFRHO7mmc6fKJ7jce3mEKdMMowV
+8zU3iUrnZXy2HdbwRNfQtG/1qm8qCPDj7xEBx3HHww9tPyGt2BctYAv70/I/eEVZ
+7ue187+3rcZFc0p7Si+onAh3EpkNjkdsBOQQuOpJ+FALEP+7Bm8rivyFiBf4RyqP
+kMjazR4VLo9xce5p65mJBHreTwCMbgCYb4yzAXOt3KSoYuaHAFDyknaL0oCi0XAB
+H4g92Hrd9AY+ogKHER6aRG9rO+3zFM8LHiaOIrciBwIDAQABMA0GCSqGSIb3DQEB
+CwUAA4ICAQBkN9yuv/dc10NqUYsqaTT0+1H0EhbGFAasFdqTjIqwg79PBgxeJa6L
+9MjcMvPyUGkOQqGISrY5W2ZnLViSXPaSufCzSaBS8LG56yWjhkJAaWYEWrE0Or7Y
+RN13Z6lXaZCcXDxg43OUo8bI/Jw1V/bMkHaqDh4ndM2wdDnWv0pbYv10EOwtXQaK
++Xfwzhn2lVIx6GtF6BbGcSdX7FCc7BIjIO9xc5E4TbdRk/97jKFnQAq4XUgLdmPi
+M2z5DWgAgDn1AaBe9OTX4FFebDaMwvNrO28H1x1bFj70gClUWzTQaCeHjO9EwD/6
+cg4ze9TbBlE9qdRWV6UcFjKvxCpZ/TyCszJfVBHdagCTfl3gkNqRTCqKyY+D62u7
+w2BIa6FzxfAz2yTJ2ZbtxwephyVE693qPV/UEJ1qz80m4QKC02ee7TH+I4pcyDaX
+srH7NULJ2hEIv8zAwIFJCTBAAkhLvqJ/mYh3Q2WPDJFO7UMWdsLBZ7E6zrOq00wU
+6CkHQImIcBrOanIM32ylSsJve1zT1+h5b6NmhxIECFz6aoGtHbPPuCMWAkdBce+M
+p9ZCvIzW5LR3iVizpKPwL53Z4u0RMNfl7LD1uMw78v63+A2n0aUO6oo9spF+rMPB
+SKrCyPZ5GA/4N/NZ/WRMYQ67mkRZqofYgKzRkKlq8FS2YLTDgAbsdA==
+-----END CERTIFICATE-----
diff --git a/data/kube-controller-manager.csr b/data/kube-controller-manager.csr
new file mode 100644
index 0000000..ba17cf3
--- /dev/null
+++ b/data/kube-controller-manager.csr
@@ -0,0 +1,29 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIIFBTCCAu0CAQAwgb8xCzAJBgNVBAYTAlBMMRQwEgYDVQQIDAtNYXpvd2llY2tp
+ZTEUMBIGA1UEBwwLTWF6b3dpZWNraWUxJzAlBgNVBAoMHnN5c3RlbTprdWJlLWNv
+bnRyb2xsZXItbWFuYWdlcjEyMDAGA1UECwwpS3ViZXJuZXRlcyBDb250cm9sbGVy
+IE1hbmFnZXIgQ2VydGlmaWNhdGUxJzAlBgNVBAMMHnN5c3RlbTprdWJlLWNvbnRy
+b2xsZXItbWFuYWdlcjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMc1
+1OFX/+DRVaPlVf6L9nSIuOajHAglhVy7Ms0nCILePKGMp9fCjsaOQjTc8HSgeaMj
+85LXk2oKlJs7Ms0p+cGTVaN8Z9vKLIlsgVY89acP+LiZ2IpnllLjmdgBSoEAOzoH
+LqZHu9Bj9KVDgEArAuEr5TQA/tu5vAryVN5m+7ZSehp5HjLqAiZI+yeqbuN8Hd+C
+P91jOX70lo0fyP/ntLLjS22E8nfdDkoEycZv4+UjPOn28K+fhubcylh8ItQ/9Sya
+uP8xtolYFO4nu5tvUsTbwhc/T+c3pu6/SucRX7ASFsi5PDb2CKRYCPW+qCUzOCgt
+YIYd3fIi5tRK/4KEQk+0P4Jy3GPkX/nj/xL4u+iUMEI0Jyf4nYk8kIqrb0bzWiLO
+l3WXDwu+dWbMse6Eiv/wcubmGdtLBx06pfUwQVEc7uaZzp8onuNx7eYQp0wyjBXz
+NTeJSudlfLYd1vBE19C0b/WqbyoI8OPvEQHHccfDD20/Ia3YFy1gC/vT8j94RVnu
+57Xzv7etxkVzSntKL6icCHcSmQ2OR2wE5BC46kn4UAsQ/7sGbyuK/IWIF/hHKo+Q
+yNrNHhUuj3Fx7mnrmYkEet5PAIxuAJhvjLMBc63cpKhi5ocAUPKSdovSgKLRcAEf
+iD3Yet30Bj6iAocRHppEb2s77fMUzwseJo4ityIHAgMBAAGgADANBgkqhkiG9w0B
+AQsFAAOCAgEAf1Tb0dvBM7+brUYRUqz4teNYTvIteLLKyuqQRBVtLgijux4ILSil
+kz/Yh58auPFrN3OzhGZgZ7Gr13mABtjJjcJ9ujRSvvV3kjMONrcipm0bAOGAmAdi
+emHWodQOZZ+99gjcmYL4mBpw9FSucu3TCgMSr/ATz9hJBl5WdcMIL0GBUhmRn7ed
+yT5nJClBxWFpPuEYX/o15QptwrCHFQB58N7GM3RoqO/5fLPBGRlex4/mr6sLo+37
+dL2g9gJwAIR/IJkI94hFyANrwaVZiCgpK6WQZI5HbWehH6xAG4Cy+RGO2uSvBaAE
+phKfvQXppgystRZsOWcCXYxGPWeTjKdpm9/kQwcFaR/hXhbntrv0QL+KsucmwCkH
+ay4bFhx3cH16Si52mbZHhuKBzbzKec0Bsma/GarGvLddFj4wPvT4Wo9s9Cgi0hPE
+lOU5wFUBv6Qa8yMYc7upo3XdkzrIFRfJrcqKbE7uWnE1vvoewk1Lnkhl3m0Fuq7R
+dNNDqnOjZcy8GYIRMtxZYsJz4yUBt7ccR/bpvTY6n+j+k++Zl3oOVf9KCeig6odo
+P9vtK6C4lJux7m3ij5Gu7y8jJC98EL0JYnty7ptdejeSV3YjKE9OfYC+Mei9DwJL
+Wk0YZ+LOKcvcWabpjC1cdYwXXVQhYf3h48tT3z9ZP4WCYAy9urUS6Ss=
+-----END CERTIFICATE REQUEST-----
diff --git a/data/kube-proxy.crt b/data/kube-proxy.crt
new file mode 100644
index 0000000..240b98f
--- /dev/null
+++ b/data/kube-proxy.crt
@@ -0,0 +1,33 @@
+-----BEGIN CERTIFICATE-----
+MIIFyzCCA7MCCQCA8T/OXbv3DzANBgkqhkiG9w0BAQsFADCBtzELMAkGA1UEBhMC
+UEwxFDASBgNVBAgMC01hem93aWVja2llMREwDwYDVQQHDAhXYXJzemF3YTEuMCwG
+A1UECgwlU3Rvd2FyenlzemVuaWUgV2Fyc3phd3NraSBIYWNrZXJzcGFjZTEQMA4G
+A1UECwwHaHNjbG91ZDEaMBgGA1UEAwwRQm9vdHN0cmFwIE5vZGUgQ0ExITAfBgkq
+hkiG9w0BCQEWEnEza0BoYWNrZXJzcGFjZS5wbDAeFw0xOTAxMTIyMTMwMDFaFw0x
+OTAyMTEyMTMwMDFaMIGWMQswCQYDVQQGEwJQTDEUMBIGA1UECAwLTWF6b3dpZWNr
+aWUxFDASBgNVBAcMC01hem93aWVja2llMRowGAYDVQQKDBFzeXN0ZW06a3ViZS1w
+cm94eTEjMCEGA1UECwwaS3ViZXJuZXRlcyBDb21wb25lbnQgcHJveHkxGjAYBgNV
+BAMMEXN5c3RlbTprdWJlLXByb3h5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC
+CgKCAgEAy6IJdYnjgNnmFr+uWcmn7MYpK/ucfle8ySsOWxuGbmFVUfJCR6vKuIii
+IisgPJVP2qdxnBDsyvHtgVUz3P8zTBqpqZdYvGgyUiQasd4DH4xypDVLdt+fmud/
+TyTqsK0/b95ugFKqbkJ09NL77/h3WjbRqPJGCTvSubSejn8vZqlIvV3O5Hj5g7gh
+O+Y3iDe37Jyv6J1/ViikvroxzZ6HvaNoGNL/r6/pF6j2s1i/Q0XITawVcgu6TAHY
+gY5XQj/zxNQMFr/jWcaTKDq8HLy2TVF9bCcHDDRufzcTwqZMwoY3N1jzX5Kvh4d0
+kgnj/u7BX3/fyFrIOGoqgxCYuvaQC2NGpILxSIAReaaFSSaSdR5jNQjj+7q+nNsm
+RjYsswnkK5fazXnDm9C1kD2VMwnXXgkX2M6vfmSWT4FRIFQPWhekWIvJZrVrNCRo
+38GiETu9oSfnZLHMemUm4SEC/pkntOFHN9ABeflkgtzGI500arQm7QN9ZT01E0e1
+iPsBC6t2Qpcc/PQy3yR3v6XkRyBzmtp7Oxx0K6REfKMCJWqwlft8FY0X1L1P+hDI
+3Ek4SOKhhxYUnUUwsGex+3NujsAyqF5LI2VFzU893rXG6+ZQYqOgarH2gk/WDHgL
+i7LtF2CDyOPLzurhebS6KObk/MBon2vQhSYjRR+3F5RnU8NJAX0CAwEAATANBgkq
+hkiG9w0BAQsFAAOCAgEAmSZE2LS5I3kWRUVUxKQ1UT6t6GMCSfILcEGW1Q03cI6T
+LbTygbOh7khIQSqlCZgKzWtmpUcc1pWGC1TwGIWcwvd/ZYJp3jPBRM3x7xs6Wnee
+1t88qaqB3ZO8cOEWcSxz+WU+DNf4iZVyWkUNqKptmTX450tyVSZpT38cHB8idRrT
+EwGg0sF7FGc3kGD9eIVi9L/MON218P6gOfrG24Ce8pxnGDwxXs9gC32s5Aa4mLam
+1S48Sun01w47M599D14OeRh6r0OpDhFdGlQUHWMlBkLsLEZkqdknNCYDWFELHIIK
+vyu28FFt8UFT0wAQRbqhYrgDqbNNJOrf4V18hrFK8XyKNivGJ9lCbhdiV4dkDEai
+y/Lz3CXbW98xT+MiiRKhsPjaTU01+NcczvM330iV4gIrtt+ROosalqo4I+N+JSs5
+PIHmIQKQ+2HAiGHIzQWiM8bz4JX4iMpxkKp7hEMiedonfw1ZMBYUuGp/6GTOQDhI
+s55qlDKk7PYLJfF4hLtNbfCHisczVQF7rwrZc216mlCOSoae3ySimUDtkO9Qfjmw
+/qr1xy3K5hkB3FoyUikRodWPdepdDILWVHGUH7++C4hBUlNh+8PpRUiSjDsURXE9
+5vsrf1vrp64JuJuc1YPzxPyZATX7lHZcv9R7l5VZCBlKuu4MvjX50rKBeEsHh5k=
+-----END CERTIFICATE-----
diff --git a/data/kube-proxy.csr b/data/kube-proxy.csr
new file mode 100644
index 0000000..0f40704
--- /dev/null
+++ b/data/kube-proxy.csr
@@ -0,0 +1,28 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIIE3DCCAsQCAQAwgZYxCzAJBgNVBAYTAlBMMRQwEgYDVQQIDAtNYXpvd2llY2tp
+ZTEUMBIGA1UEBwwLTWF6b3dpZWNraWUxGjAYBgNVBAoMEXN5c3RlbTprdWJlLXBy
+b3h5MSMwIQYDVQQLDBpLdWJlcm5ldGVzIENvbXBvbmVudCBwcm94eTEaMBgGA1UE
+AwwRc3lzdGVtOmt1YmUtcHJveHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK
+AoICAQDLogl1ieOA2eYWv65Zyafsxikr+5x+V7zJKw5bG4ZuYVVR8kJHq8q4iKIi
+KyA8lU/ap3GcEOzK8e2BVTPc/zNMGqmpl1i8aDJSJBqx3gMfjHKkNUt235+a539P
+JOqwrT9v3m6AUqpuQnT00vvv+HdaNtGo8kYJO9K5tJ6Ofy9mqUi9Xc7kePmDuCE7
+5jeIN7fsnK/onX9WKKS+ujHNnoe9o2gY0v+vr+kXqPazWL9DRchNrBVyC7pMAdiB
+jldCP/PE1AwWv+NZxpMoOrwcvLZNUX1sJwcMNG5/NxPCpkzChjc3WPNfkq+Hh3SS
+CeP+7sFff9/IWsg4aiqDEJi69pALY0akgvFIgBF5poVJJpJ1HmM1COP7ur6c2yZG
+NiyzCeQrl9rNecOb0LWQPZUzCddeCRfYzq9+ZJZPgVEgVA9aF6RYi8lmtWs0JGjf
+waIRO72hJ+dkscx6ZSbhIQL+mSe04Uc30AF5+WSC3MYjnTRqtCbtA31lPTUTR7WI
++wELq3ZClxz89DLfJHe/peRHIHOa2ns7HHQrpER8owIlarCV+3wVjRfUvU/6EMjc
+SThI4qGHFhSdRTCwZ7H7c26OwDKoXksjZUXNTz3etcbr5lBio6BqsfaCT9YMeAuL
+su0XYIPI48vO6uF5tLoo5uT8wGifa9CFJiNFH7cXlGdTw0kBfQIDAQABoAAwDQYJ
+KoZIhvcNAQELBQADggIBAGV+LJaRlNoD8QOhAMXW2dSUwQjcYv7/IrswUZBQwS1b
+9EHEP9W5PL6TH5WEEYg+n0ioPs6GBjUCYb6n+znMDWypMq7bGQ9Yt9XCeG1JwTF/
+2Y3C+OxuZgt4r26gFcVqoztL35TFjgRx2ixSIw67FKXlqSLS3q/rV8YqM+DfERKm
+XGsL3pB3KlGp3zewbZEeJgh3XtZ/51iFG1lAihATnh27MTvWhXX6cvMsJw3i/Zs/
+WfMYPlHDaMMLr436koZQj+ehxuxOwn1IWci9jyzXY5YzaqIiP+FSCRZtZ7T4IVQT
+RnP93bpldaJCrzIl0yp5hozaMnggHWySGSgU1y2fdGuPFoZ+CupZlLsm9CtWHDlB
+ug1lbzRGVRcocoxDxeSUPQ82ZNvfGO4xiCV3dnqOsRZ91HLD6NaHqKBFrTSDLzJ0
+R53dEI7ypPogA5FQ0jHlg5+/tO/aRbJZI6N+hcG+1swQS5sYubLwOwOCFdv2/Ya6
+NGjyN7fpABs42lEguD1QaixontGGRJY2J5cV7A311/5t88pFhV5XuPDYQjIoNURr
+VPBC8EIA7n8voc3Mvz7YXY1CM4RaDPK/6N8XM2FMFUpkyN05dXLxXhx23uXIiZYl
+i64l4rnfAALFynxriHLAKbn6OY7mBjnzjimmBqi2Wcq+/c1H0iT5wujCZyKMmSmi
+-----END CERTIFICATE REQUEST-----
diff --git a/data/kube-scheduler.crt b/data/kube-scheduler.crt
new file mode 100644
index 0000000..a3edfe9
--- /dev/null
+++ b/data/kube-scheduler.crt
@@ -0,0 +1,34 @@
+-----BEGIN CERTIFICATE-----
+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
+g1RPicE/VHOS/rQ=
+-----END CERTIFICATE-----
diff --git a/data/kube-scheduler.csr b/data/kube-scheduler.csr
new file mode 100644
index 0000000..40db89e
--- /dev/null
+++ b/data/kube-scheduler.csr
@@ -0,0 +1,29 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIIE6DCCAtACAQAwgaIxCzAJBgNVBAYTAlBMMRQwEgYDVQQIDAtNYXpvd2llY2tp
+ZTEUMBIGA1UEBwwLTWF6b3dpZWNraWUxHjAcBgNVBAoMFXN5c3RlbTprdWJlLXNj
+aGVkdWxlcjEnMCUGA1UECwweS3ViZXJuZXRlcyBDb21wb25lbnQgc2NoZWR1bGVy
+MR4wHAYDVQQDDBVzeXN0ZW06a3ViZS1zY2hlZHVsZXIwggIiMA0GCSqGSIb3DQEB
+AQUAA4ICDwAwggIKAoICAQCechZVudVtXaztAOz9VIo8ClYJjFCjY/Hr0MB+ptOo
+6RlF0yjJ0D2iBtogU5zAq7mziKlC6Dy2PgWars40CzMBy/I3O8Zd5Lq3R4cXDA2M
+lUzBJXfIof+BU/ABwbelJ8yWKN/xkWWDeED+LaNKaeV5z1L71jV6Cc/uvTT9ZGU2
+yZfjMTnRYQI6ABq49hudBGKHumx8wX4JM9QRuyB2uumYd5GHWPyGv8CStFDsQdqv
+uAzFoNXYulU1EZ4Ke87/P6v2kQ8X/p1Z1MIZMMvnHxnOiGfvS7TCO2MzE+jfiKPZ
+ZG0Gkw5hbw+cNu6/1sQ6upHOlz0IzMDbbeaGBEU9EdVXKqBc84bF+qcR1ZXb/doX
+cEhRRMnVOf5UTzdS/q8SOzU3ZQ2eCuwtDKuD9takC76AzntvT233Qmalx0c6Jr0R
+tF9LjcAPLYtosSWlQs1ZhFxsVTOcC4YixR+W5/1SOXo4zd+d5mrbnhjE6n6Dmyy2
+xjdcWqhB2TA7uaQFC8M9UPiUrDcQQXHZayNPSUtdfwbUty+jpPw9qsqSKxxnV5BS
+R1SEQaIjeE6T7EGRyrnE6cM2oaLP233x4wsXqhndjmgWTLFT+V7vHbPvRgmIojsb
+6ppDdrN3ScJymmHrPT2DRC6Hqi0gdkwEu9cQsHT6w7pC7GDy9YKMJpF5e64edatO
+FQIDAQABoAAwDQYJKoZIhvcNAQELBQADggIBABZbt9PkVjyqoYWVVdoGa+oj9nWA
+VhS21KuzMhcFSqGj5ExDa3Zp4ma16mv6XqXf7WBwZjUqcFAx/9azkb8fjwfqnpnA
+FEYQP3b0h2KODmM5RINmNty5zsynqXwWf72J0byhHO70+0jzTwJ6vqBjCJGMYBNH
+szXoTTXlZUzAZY7/UX07b7Az5HmG7bkmURCPwUkUdWx1I+HJRMfB0TVgpXS0gR3M
+5f/c8CgYVBfxwsgkVyfrr+noUfESxrL5Hx9mtWMuqdgUY2Kbtzu8sGd97X5SAOvB
+1XaH1LeFORrAb19weVkkPj/lgrjZ6AeIzvQeE/aAsjNYVHVlBXFNTIp8GgrKQZhd
+qDT6fWcuzPXrN5zuEFL4PDmf7esaJjFqnbqAtAjCdbLBiJCM2QcAP1ENUOxCpq2Y
+etjeSSBq9CCGuhh6zE/3D51rmCqK62es0JdnjKSbaRVCMqk2QLqTPI5u6aVYhB69
+xK+iHFL9OSfIv1TH1R/6sdreEtYiYAyxuYj2qGkcxPCK+IUEXvxRfrPy+pfeXRhR
+SztcltnmJkr08S7YkirmmEQ4gYisQq9n/D/QRDLPYMuUl/4l3sB2sqWXHbRTAUO+
+ZxE10PDjXI4Y+MbInL4XACsL0hRyCGP0Om3YUzHR9fMi8rjoUoYRS17Eb1xMW4DS
+35txRRkBvGtSYG1D
+-----END CERTIFICATE REQUEST-----
diff --git a/env.sh b/env.sh
index 8efe1b8..bc2a6e2 100644
--- a/env.sh
+++ b/env.sh
@@ -25,29 +25,33 @@
     )
 }
 
-hscloud-node-push-certs() {
+# Generate a per-node certificate remotely on the node.
+hscloud-node-remote-cert() {
     (
         set -e
-
-        if [ -z "$1" ]; then
-            echo >&2 "Usage: hscloud-node-push-certs node.fqdn.com"
+        if [ -z "$1" ] || [ -z "$2" ] || [ -x "$3" ]; then
+            echo >&2 "Usage: hscloud-node-remote-cert node.fqdn.com certname subj"
             exit 1
         fi
         fqdn="$1"
+        certname="$2"
+        subj="$3"
+
+        echo "Node: ${fqdn}; Cert: ${certname}"
 
         echo "Checking node livenes..."
         ssh root@$fqdn uname -a
 
         echo "Checking if node already has key..."
-        ssh root@$fqdn stat /opt/hscloud/node.key || (
+        ssh root@$fqdn stat /opt/hscloud/${certname}.key || (
             echo "Generating key..."
             ssh root@$fqdn -- mkdir -p /opt/hscloud
-            ssh root@$fqdn -- nix-shell -p openssl --command "\"openssl genrsa -out /opt/hscloud/node.key 4096\"" 
-            ssh root@$fqdn -- chmod 400 /opt/hscloud/node.key
+            ssh root@$fqdn -- nix-shell -p openssl --command "\"openssl genrsa -out /opt/hscloud/${certname}.key 4096\"" 
+            ssh root@$fqdn -- chmod 400 /opt/hscloud/${certname}.key
         )
 
         echo "Checking if node already has cert..."
-        ssh root@$fqdn stat /opt/hscloud/node.crt && exit 0
+        ssh root@$fqdn stat /opt/hscloud/${certname}.crt && exit 0
         echo "No cert, will generate..."
 
         cd "$hscloud_root"
@@ -55,14 +59,79 @@
         ca="$secrets/plain/ca.key"
         [ ! -f "$ca" ] && ( scripts/secretstore decrypt "$secrets/cipher/ca.key" > $ca )
 
-        ssh root@$fqdn -- nix-shell -p openssl --command "\"openssl req -new -key /opt/hscloud/node.key -out /opt/hscloud/node.csr -subj '/C=PL/ST=Mazowieckie/L=Mazowieckie/O=Stowarzyszenie Warszawski Hackerspace/OU=Node Bootstrap Certificate/CN="$fqdn"'\""
-        scp root@$fqdn:/opt/hscloud/node.csr .
-        openssl x509 -req -in node.csr -CA data/ca.crt -CAkey "$ca" -CAcreateserial -out "data/${fqdn}.crt"
+        ssh root@$fqdn -- nix-shell -p openssl --command "\"openssl req -new -key /opt/hscloud/${certname}.key -out /opt/hscloud/${certname}.csr -subj '${subj}'\""
+        scp root@$fqdn:/opt/hscloud/${certname}.csr ${fqdn}-${certname}.csr
+        openssl x509 -req -in ${fqdn}-${certname}.csr -CA data/ca.crt -CAkey "$ca" -CAcreateserial -out "data/${fqdn}-${certname}.crt"
 
-        scp "data/${fqdn}.crt" root@$fqdn:/opt/hscloud/node.crt
+        scp "data/${fqdn}-${certname}.crt" root@$fqdn:/opt/hscloud/${certname}.crt
         scp "data/ca.crt" root@$fqdn:/opt/hscloud/ca.crt
-        ssh root@$fqdn -- chmod 444 /opt/hscloud/node.crt /opt/hscloud/ca.crt
-        rm node.csr
+        ssh root@$fqdn -- chmod 444 /opt/hscloud/${certname}.crt /opt/hscloud/ca.crt
+        rm ${fqdn}-${certname}.csr
+    )
+}
+
+# Generate locally (if not present) a shared certificate, and upload it to the node
+hscloud-node-shared-cert() {
+    (
+        set -e
+        if [ -z "$1" ] || [ -z "$2" ] || [ -x "$3" ]; then
+            echo >&2 "Usage: hscloud-node-shared-cert node.fqdn.com certname subj"
+            exit 1
+        fi
+        fqdn="$1"
+        certname="$2"
+        subj="$3"
+
+        cd "$hscloud_root"
+        secrets="$hscloud_root/secrets"
+        keyfile="$secrets/$certname.key"
+        cert="$hscloud_root/data/$certname.crt"
+        csr="$hscloud_root/data/$certname.csr"
+        ca="$secrets/plain/ca.key"
+        [ ! -f "$ca" ] && ( scripts/secretstore decrypt "$secrets/cipher/ca.key" > $ca )
+
+        echo "Checking if key exists..."
+        if [ ! -f "$keyfile" ]; then
+            echo "No key, trying to decrypt..."
+            if ! scripts/secretstore decrypt "$secrets/cipher/$certname.key" > "$keyfile" ; then
+                echo "No encrypted key, generating..."
+                openssl genrsa -out $keyfile 4096
+                echo "Encrypting..."
+                scripts/secretstore encrypt "$keyfile" > "$secrets/cipher/$certname.key"
+            fi
+        fi
+
+        echo "Checking if cert exists..."
+        if [ ! -f "$cert" ]; then
+            echo "No cert, generating..."
+            rm -f "${csr}"
+            openssl req -new -key "${keyfile}" -out "${csr}" -subj "${subj}"
+            openssl x509 -req -in "${csr}" -CA data/ca.crt -CAkey "$ca" -CAcreateserial -out "${cert}"
+        fi
+
+        echo "Copying certificate to node..."
+        scp "${cert}" root@$fqdn:/opt/hscloud/${certname}.crt
+        scp "${keyfile}" root@$fqdn:/opt/hscloud/${certname}.key
+        ssh root@$fqdn -- chmod 444 /opt/hscloud/${certname}.crt
+        ssh root@$fqdn -- chmod 400 /opt/hscloud/${certname}.key
+    )
+}
+
+hscloud-node-certs() {
+    (
+        set -e
+            
+        if [ -z "$1" ]; then
+            echo >&2 "Usage: hscloud-node-certs node.fqdn.com"
+            exit 1
+        fi
+        fqdn="$1"
+
+        hscloud-node-remote-cert ${fqdn} node "/C=PL/ST=Mazowieckie/L=Mazowieckie/O=Stowarzyszenie Warszawski Hackerspace/OU=Node Bootstrap Certificate/CN=\"$fqdn\""
+        hscloud-node-remote-cert ${fqdn} kube-node "/C=PL/ST=Mazowieckie/L=Mazowieckie/O=system:nodes/OU=Kubernetes Node Certificate/CN=system:node:\"$fqdn\""
+        for component in controller-manager proxy scheduler; do
+            hscloud-node-shared-cert ${fqdn} kube-${component} "/C=PL/ST=Mazowieckie/L=Mazowieckie/O=system:kube-${component}/OU=Kubernetes Component ${component}/CN=system:kube-${component}"
+        done
     )
 }
 
diff --git a/secrets/cipher/kube-controller-manager.key b/secrets/cipher/kube-controller-manager.key
new file mode 100644
index 0000000..39ecc70
--- /dev/null
+++ b/secrets/cipher/kube-controller-manager.key
@@ -0,0 +1,64 @@
+-----BEGIN PGP MESSAGE-----
+
+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
+Vs0=
+=LA/S
+-----END PGP MESSAGE-----
diff --git a/secrets/cipher/kube-proxy.key b/secrets/cipher/kube-proxy.key
new file mode 100644
index 0000000..0743685
--- /dev/null
+++ b/secrets/cipher/kube-proxy.key
@@ -0,0 +1,63 @@
+-----BEGIN PGP MESSAGE-----
+
+hQEMAzhuiT4RC8VbAQgAmurb+QW7scu+J9//cyJ+J5HZn44P1QWK2Gp1eS0AxpxO
+RxBQx88/mAKe5ULJ8kMQBXjHhwEGxNfQfvxoRT7seIRyQIb42JNrEDUrVly5TPmw
+fBiXUaHi3mBWT0USRlHkbGwBMCqjvTonD1lPYCdMCgpQ01JCfFuvLMZE3Sjt5T2B
+fOjiXal3LBo03VeJKD+otUC0ZQs3JkSi6S8AAy7U3dsINLlWjRGx00nCasNRleXD
+HPs/71EtT20oIK/nO8S1UjOiReMEcWK6VkdRCDwozXg8wabptg4Zq86W8fBSd4pe
+dsHpByrE1OBAQAGp7Nhs+j8NifZkoB8fQOJm7/aPFtLrAbMRD9rF+1414weRDb7C
+b8aEjR3jI8WsALs7BhyCItzZJGQ49pGXo2ENWq+9zVjayxDwJ4lUuBZ2yuL1Cerz
+tQNICUxpjVrgix6oWF//NBI/ZPU5nzECytqTPxLaGjn6wlV2ZWraS7MK3gOX0HwC
+2vaXAyzuvplo0rIqXvCpZB/J2Z9kRGh9xKTHiMRFnSq6SRJe8ShJjVG5j5w+uBPC
+Bm8NBmBU309Wah5uMk56mJHp/zQ2SjgJu9govH68yfOGrV1i2Qfn7TP8ZusLHKOF
+xzxCEsJq7u2cBQdkbqZ0H+WDE7Yim7NReX7WFl0LMtZpE7kDrQnKB0eX4vopqzOy
+8AkGTiJao6PIMf2ftpwNpyADbXbVQtpkUFQ1rVZ5TIIX2akLP/O8dUvUjA90t7dp
+rJYCkaGp9rVeOCIqLmSGUgb1iDdwemq2fKy67tAWqyO3I6XDdC9AZpmeJTFY2ff/
+JbCZQpjkasDYtREVVJpWQ3Fpz01Brr01dAoFlh9BnKrN+aYpDN83Tw3R3cV/sutj
+YsOtbxhk3l05+Qnz9Winvg2fvb1h/IUKB6eRsk8wAqtZuj0N1N7KGhcMyXJiVHfZ
+Vd1YnI+w/2UXb6tv2GGEZf6efiUbj2r68B/iz0VjApvNLu2PatLSoqTGyALaJjNl
+JH+/2pzvdP+LIyLj+yskd7347pWECaxPt2yskuJ82z3XTUsKDPWvdjetuTmPbAZk
+ZSLlgg3Dl6pOwX28pBTUywxcmrRSiKo1vOml32qwZoozxwCWue4BnNLfNv+tx5Rj
+PWsC+s9S/oQVyiduKfDYwf1o/7sjuUMco11lLy7QEYgf03IF3uqcgWtUnbBFtAoL
+e8Ezmg/K3G7EPELBM8EtWepAYszQOHkVwRWgpq+kNMVFxieRM0eC1qwjU2cW12b1
++yTsIf6jB75H5TyfKj5YYXwrt6RmjBlZXn/1dIP0qamLarawLe8lTtyLHMNhhTmY
+VXXGyKISMSMkRuA9u1tj8zAOFpsUMssEugfoWvOFYX/dGVTEIdDjn/BThfBbgIZX
+6SZQ6szXNiaYWvqrIxkHiM8upyR1TmLzONcGd8KNMPbtJribA8/JMakJ4ioPsFda
+R6ZQBKkckpUcGUNI1wKZ5nsX3i3tb5G3Iddv0jyIsbKj9TNTvAKHAM9ykMZIdsa1
+0HmOEpKYNhI8EhLHr+f2NzyAZSSCP2m5vJyNgJg8x+NKCdLnekI1f3a1gaG/roui
+U/7MB9gUYnOjegEN1Fb7nrn3XIj5bNAa052HFV1EbpQtesPUxgwpIHu5uuC3tf0g
+1BNQ7UDf/Yb+plVtDKF/VwVQODD42pzwrMWMJ959BRBCOjoBYnML+wGJP4B4eE2b
+axQ1Uo7LF0FRq4EFlrwSKuOQ1Lgprz2iEusXgHUyara33iLivc+NTz7w4pJQupPp
+dsWqdPkx8WvZ/eIQWDh0fHPevEo6KSKV6/12UhZ78I9GJis9PaD04O0Ybnm5QD6+
+/AU++HQ8l0n+q5qvefEjnrEuzBDGNTQqLZXjAAVUQeEsXCWlOh4Tu7F89loj/RLS
+MYHagcMkpynbZ61bQaupMv4idPgFqQdL8cfiVsYH0WoE6ymdMF4fWIkCtXcfntBi
+pj1qXLb8CP9BRE/Qi5Ym1H5XLeUvYlfXvLb4RA1yr0fBlXIQPR4XtoCgv0/bsk1x
+MhMHR+rlTc6kMl83I5YG88CbdgxB+VaagtIG/fVOOEvbaEziOtvABN50AvB/oY6+
+1aIaaziZ34E10bml431Xqp8TqlgmB6MBucQKXc1eSI6CehdMYCNfPJLSWa6gnB2f
+IwAFjgKnah9wYdyfnDjodqUxB5EpxmvIWdBm7YliVBrU+fjOVEjxg4wqVQLq6y9I
+GGBMe+N9hvbF2EVukAUO/AFOiocKdEvXbYC8t5JXpF+3prjzlKkGAaxk5OElAE+H
+S4TwGsIuKpYgqHsEJdbpckt5DP4uKs6w80DojBMHaRZq5JENslhiBlOLsB7YbO4M
+LvKHicnYXQA70zJMVlzOU/+zTds0zut2lrkL493F8FTyJ4qeKYRe+nfeEch2MR5N
+64t3hqT5L/z/ScMukATtb6Y0UqvuGlOqSyxnpgtGiCBQJQo8Cg37dVhWygoLlSsx
+AgJkmLuN5ldhJUliyB4PfLUnZKZZW4DOB2Qyv2boJNf8VTuw4Yhpl3+TODtf2kWN
+8b5MwQoOAHc0JnYc+ynrNmyYlrrQQCfnY3h9e1/rAtAS0BAJ7MYbKgpKxJrjDGJp
+vlg9dVZdOUhCVwjwoqnuKM8vl67jNJSdFINs6F0Eafobn0dLw++6LrGQsleSjU+x
+snQx6Xhx2WHz88nXjEnTGHnV6Aarq7oNxuoknSykXwPZXUgPPen/8QqxWI3r65IV
++JiJMys0JMqrEWebc8BhyGc/7EHsVGKuCRfDXhZYhcfHHOEI6a1IKLBz9ImYQwQA
+5MU0tC5NOpO+uzqzEJtYT/GtvFW+IoY+3887nNsc4y4cC1AHLRUGpbuA6cV3zuMs
+W1/ijlGgdY75ANg8FTuDtuk0MOzTvmLoSQaAV5BEWqht7ddH/BPYhlkCMh8LXVda
+QAVDw5p9q112j+5dfefGLuXgDEJv8ymWEjitOdJDxXWjhSkjC9EJ5IZ18hg7FUWw
+OiaksKeRnCySMwuSw5B3n1DJbNtdWEzi9WUfELHFE5pTitsDjRh4FDynF/CKH217
+DfOd8Qn6cQ1JOjHhEG+tgXHBOqHYOUSBqStDcNb7Tliudo/Ogokz+wlGzyuUvWB7
+6ZGyyDJIo2zG9ou/sCCUmxoa0jUXW23z2bXetRQvZddq5x8id8N5CRXFUgeJ5Gjh
+hRUxhURkE3yRVOcCO/gdLOfkglnkGvmITAuT0b8oUhgzHDOZ6xQ07KaPEJbV6J2L
+HZlPb7e0bg7nTf6ZnMw0ZArV78Z4D7ikY41NoYrjC/lMTv1RjZKH3HbeYPlTnSUp
+JGjHsKQVz+ufeScK6+25QZRFBvQTX7jLjx2Dje6VjyF8THzphjRvZv8Wzr1ze1yB
+I4pzYXvOuQiOv4Gq6Dne6fwHq/jl/wsFAWt9HEnTW7eUo5H5pqtrdhdTGwtqsVMO
+ZwdCZ2tqvmQy/PJZfcqNGnqo4QVUsKI8xZwVP9cB9wHLkyC5ptm/4IgphN+fKzrt
+MdS4+NTnN5rIpBCG5L9I4YGNcmZf0K5WTAXviruBb8MjPvYm0GHhiK7LZInmkAr6
+3fua93wSzatQv6q/falqY+ijYMKl7J7bDQbkYNF3VSB3AsnY+ualc6BjgEYOTuhq
+KvyvS4/8R5oum1eceVXra1N60UkASr5PH/KnKnd9K3BhdF1purfzpKZpgPdBEuqE
+jURTTEdg/JLR94XPG0jDKLP1VfbPSIbO+DT+GtNKoWWzp/5vkO1n6/yk0+up
+=QLtw
+-----END PGP MESSAGE-----
diff --git a/secrets/cipher/kube-scheduler.key b/secrets/cipher/kube-scheduler.key
new file mode 100644
index 0000000..79139f1
--- /dev/null
+++ b/secrets/cipher/kube-scheduler.key
@@ -0,0 +1,63 @@
+-----BEGIN PGP MESSAGE-----
+
+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
+=Zw7e
+-----END PGP MESSAGE-----