summaryrefslogtreecommitdiff
path: root/sys-cluster/kubernetes
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-04-12 03:41:30 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-04-12 03:41:30 +0100
commit623ee73d661e5ed8475cb264511f683407d87365 (patch)
tree993eb27c93ec7a2d2d19550300d888fc1fed9e69 /sys-cluster/kubernetes
parentceeeb463cc1eef97fd62eaee8bf2196ba04bc384 (diff)
gentoo Easter resync : 12.04.2020
Diffstat (limited to 'sys-cluster/kubernetes')
-rw-r--r--sys-cluster/kubernetes/Manifest26
-rw-r--r--sys-cluster/kubernetes/files/kube-apiserver.confd7
-rw-r--r--sys-cluster/kubernetes/files/kube-apiserver.initd19
-rw-r--r--sys-cluster/kubernetes/files/kube-apiserver.logrotated7
-rw-r--r--sys-cluster/kubernetes/files/kube-controller-manager.confd9
-rw-r--r--sys-cluster/kubernetes/files/kube-controller-manager.initd19
-rw-r--r--sys-cluster/kubernetes/files/kube-controller-manager.logrotated7
-rw-r--r--sys-cluster/kubernetes/files/kube-proxy.confd4
-rw-r--r--sys-cluster/kubernetes/files/kube-proxy.initd19
-rw-r--r--sys-cluster/kubernetes/files/kube-proxy.logrotated7
-rw-r--r--sys-cluster/kubernetes/files/kube-scheduler.confd9
-rw-r--r--sys-cluster/kubernetes/files/kube-scheduler.initd19
-rw-r--r--sys-cluster/kubernetes/files/kube-scheduler.logrotated7
-rw-r--r--sys-cluster/kubernetes/files/kubelet.confd4
-rw-r--r--sys-cluster/kubernetes/files/kubelet.env17
-rw-r--r--sys-cluster/kubernetes/files/kubelet.initd19
-rw-r--r--sys-cluster/kubernetes/files/kubelet.logrotated7
-rw-r--r--sys-cluster/kubernetes/files/kubelet.service24
-rw-r--r--sys-cluster/kubernetes/kubernetes-1.16.8.ebuild90
-rw-r--r--sys-cluster/kubernetes/kubernetes-1.17.4.ebuild90
-rw-r--r--sys-cluster/kubernetes/kubernetes-1.18.0.ebuild90
-rw-r--r--sys-cluster/kubernetes/kubernetes-1.18.1.ebuild90
-rw-r--r--sys-cluster/kubernetes/metadata.xml17
23 files changed, 607 insertions, 0 deletions
diff --git a/sys-cluster/kubernetes/Manifest b/sys-cluster/kubernetes/Manifest
new file mode 100644
index 000000000000..2d89ca47e994
--- /dev/null
+++ b/sys-cluster/kubernetes/Manifest
@@ -0,0 +1,26 @@
+AUX kube-apiserver.confd 116 BLAKE2B 2cf2dff516674ba4dc0763985a070b75e23f9af51e7334eedcb2593855e7481d5969ed458d322ac29de0e9a9c7f9f041911ee7aeca750ff77ce04fd60bf3a3d3 SHA512 302b2a7ec715967c0aa7d1c177d4e55b26e37ebba8d04dd37ecf627d20042fe91cd7e6192ff9d71422129b0ea54a9eec6046f505af550548bd450998924f37ee
+AUX kube-apiserver.initd 541 BLAKE2B ddddc86735a9f90a0c232f2631ac21c028045783c737d041a808fb5012522844614a40059524c472b9b50fd077253b75e2bcf33d69518d71428fcb7e27143fba SHA512 2863ad6d1d238b5e9557874cd3f5413108ed9424604cf026e2fd8c2fd66ba867ca9a3d98f67fdac54f335bacddf0479547b28f71aaa1db6580beff49290de110
+AUX kube-apiserver.logrotated 88 BLAKE2B e58f3f108f5f7dbbadacfcc1b401567ce79d511a4623f85f01830c5e40d4ad4e44fe0b3f90d4143042d82bd83b0a2b11517e89037755ef2ad7afeeb23401bb60 SHA512 1a4bcd54dafaedc614e34bbadc2a1163f003b5925d47552fb2c47049c033c147e612171e263d9659d189fc2d95688a0b7153322d8dba97c083c079fdef6c400e
+AUX kube-controller-manager.confd 142 BLAKE2B d8d35c62bf5c04cc3f440e8b5fb8acab2cf815b25ac4e91354e3fce756a1955e71ec762fab1091074ef4233fff22667aba50417c0d6a896055f8f52b6630bb4e SHA512 b0227a7431018a6742b3931fda0f14b4a040107ecd6821c84593180919ba8a5af9b99b7a507645a5488792f14accd686acc4cc6f70a5084bbdfcdd494021aafc
+AUX kube-controller-manager.initd 566 BLAKE2B c632b9bc357aead53a2c181af50201b544f214921672e60fffa2d6f77dbeb1912b3d1d138f867d8118cef5ae0843b75d3859ebfc71a4defc2b4cf66426a58101 SHA512 7e3baab9b034e7048ed3cda8d09444c76369874cecc0a747fb5484c482fef464adb5ccc25fcb4481fb4aff68415a60462f6cbee2138810316f0cf822637676c1
+AUX kube-controller-manager.logrotated 97 BLAKE2B 00827bf3c3c68c978dc30839318dcdd9ca73e64a38d377168cca75de4764dbd303cdae35fe2c5f6ddded23c7c72976d274e1def66f48a81548e0561411879984 SHA512 e00cd9297d8ac75fcd504a2bfb80d5c5e145e7d475dd15edf9361dc28721afdc069c5b6e79438b75a774e972028841a17e8f7842dcfb3d7835c436a3e503704c
+AUX kube-proxy.confd 53 BLAKE2B 0cd5fc844dc21f63786ef21d972210ac02ea55165b05cef8810268f894e3466cea4d82c7882e56d6a0bf425311adbf6a55e3e3fe351b9a1a7ce1d9e1e087018b SHA512 4c8c34ae8668bcfa5167c2d2af006fc46b461a5dafb3ec5b64cb8cdf2a830c22ddb5cf806c93b1404f60dabf91b4153724947fa2d2c494376f20e637eeed5018
+AUX kube-proxy.initd 507 BLAKE2B 96697ce13e03c0a541bd8e7a3dc28a1c5647067d3bffe464d672d00ecf5b5fffd349a6affcd8ae3ea0ba06160be72f31cfa2d918c01050e83640fb9956917dc0 SHA512 088d91cd77e614f7857d65496f5b6d486741a8e3358b3e13bcd4203d35a76fa3aa390f658065e2826145525b6e83fcd33f8365a873e99b522f3ab7e8615ed364
+AUX kube-proxy.logrotated 84 BLAKE2B d1a37cac3891f131b605edfe569ed545445d6993528059b11b4a8d20d0c958abbab8d7c6acfc7a9e0f17c64ac7f19ef2b4954ff475bededf406e718d04261d59 SHA512 7842a4585aaf9b7be0fac89dca58874354453fc6f17f00223c04aad2211217531ae6a942424a8a112808dcf9e52a499c4879730e435d2ad08931516c66d5441d
+AUX kube-scheduler.confd 133 BLAKE2B 6b88dfc011173f183a88a16d078cbb5d96d46c269129b483d650fd7dd63376e366825f483178c26e931db226478ce9d0b85412fc264d4d600a8232d0bac149e7 SHA512 d7326f34b26aaebf4b5c25a03abcff3bc3d397382ad4fed0f4718ee425e71399febf6fec6dc817813490671692d3f1b454fd5d14d9c47c3d41b0d3405a01a6c2
+AUX kube-scheduler.initd 548 BLAKE2B dd9373f659b87fcf12dca20527aebdb304a60ec559fd9fb9efcd0db8b3c155fdba2ce8a59461cd15ed3b4294cc5b335093e12d2b8411e400927e1307b37bc6d8 SHA512 151ea6f5cc36de9b83f0e5365579e33eea8002f9a03f5f61d195a349236e6baf192f701d3fb591b769aa90e8e1e620d525b20c95a1e8cda58d062971d8f587a3
+AUX kube-scheduler.logrotated 88 BLAKE2B af29a5ba84cb29787b17368105c793868a2e61a28e9a5b02361cf4833982d4489364bd1291faa136df275988f02ce78c7b785c9209a54aec5eea6180b9041da0 SHA512 3692da349dd6ed0f5acc09d7b95ac562ffecb103e2270bebdfe4a7808d48dada9d2debff262d85b11c47f9ca3f0c20000712d03629ed813ff08a3e02d69267e6
+AUX kubelet.confd 58 BLAKE2B 5c01a2146beacf3a024f312d1bd3422055887ba48d5d869a32a2be99585f260f9d9b9946e57290345e0d57870f7d4509892c53fe4c7a63b0111b1fa8f464daf0 SHA512 2ae3bbc8a66da644b59d7f753294ad43d5675edbe2e4769b91d7c988d0eeffd5b4209a10650ad937f9698b1b6050279d448c75274815a6b348ad2023f2fef08e
+AUX kubelet.env 547 BLAKE2B db9144a0e155450f08a665700edbb05f3fa093d209f72320fdbcd54756afb857928a1d5828e79d3a54f958ddc41e8129a1489927115d1fc7712cd682699d3ac6 SHA512 3359ef337a27ea41b3db216808bb0baa571916bab37f913da79e0c9270199d75cfbb1a5730739b9207525e6027e38e8467e4c0b98567499d36130804f218e006
+AUX kubelet.initd 520 BLAKE2B 50edf888fed020a02f099189f8a5bdde54a4bfa2a00585489864c262d90ad8347763753f99eccec6fe6670c6fa016674dee4dea0fa838991abb503db97bd983a SHA512 c6b9bcdb6d063728ef2e9d67673ea29c0972e70e446be9c020cfd277a7bbcfc955a5ad7a72ab0ca1579a4d04b0fc4ac71ee20e6dba9d9a9a9099efcad3c139d0
+AUX kubelet.logrotated 84 BLAKE2B 269b78dfd4ef7d4dea37da9be9e4009cbf231dfaba83207ae89aae4f2e151a8b32e21b8d5e92229cccd7b7aa2676328d3d1a5fa80cadde65fe80a8cde10535d4 SHA512 05ce9ea16d2ddf8e255adb406556c37bc04dcfc457a132a78d31deaed78963f4e1f31555f781b706909c02815a04370d5c0e02614eb79d602b1cb827cf2471d5
+AUX kubelet.service 642 BLAKE2B 9f0fa5db48c09c2525cbc556cd520660302408a43aceb6c11da3a191b4b21607e824e46d9805b12b57a0ac7878c7da94d0cb86c69cd949814c77bb217973c6f1 SHA512 770cadae6afb68f0556c7c5969643642bbf09b596ff49d969d31b8d9f0d8907d6931eb7fb14485c78a3f75682e44e2355c7e51973a0dfdd1e665816f04ba21ae
+DIST kubernetes-1.16.8.tar.gz 31731459 BLAKE2B 1d53c16586b5a7a41fc42d0fb3444b694531d3f04fb9e168a70d4b98f966f322bc82d39234612e38c71da052002c5bcc452c747d9f948dacbdd91ea40a9f5417 SHA512 04c8e9a9227ac9a98074cd52cbe90758134fedb10164fa69accbc19716a2f18dc133a4f880d0e35a3728c377faea431363f00ae9fe2ff5ca9e509444da9106c5
+DIST kubernetes-1.17.4.tar.gz 31777775 BLAKE2B cd04e429d3f524f5dce7948db9b22230df8abdeb7570001ab985ffdb5b85709a8d1698490b9df13455d8f3968741db9571ee1ab3bc2a6fdd06a8c0fe274476e2 SHA512 fd1944d26c840bc1d2f585fccbabf48091fe8820ea089b3ea5c18652fd1edb3c8157a70ea19111b8b62aef16e0284a1607b583c3c1af79dd0dd266b99e20c549
+DIST kubernetes-1.18.0.tar.gz 32554015 BLAKE2B 24079970cc1887c6dad7b55d9f2fd80cd9f46f1b6c1240cf28abf2eb33b3809bcd858293bb800255533a13e24145fab580b0bd2eb0e06c15ca4e0feeedcf6ff2 SHA512 3298ec63a2fbcd396b415f27a581f4286317ae206c30b35457aed780baae4115059df20e40028df394984caccc8bb4ef6c879ae3c064771c8a5c045dee7998e8
+DIST kubernetes-1.18.1.tar.gz 32581783 BLAKE2B ffacdba21dd6d326ddf9733c49ed3a16ad679fbd25b4ddda44b047a402a163474033d6b2328a816e83ede505aae07e205b68938165c546202fa6df2d03609ead SHA512 c002153e16494cd74e6f0609847602d6dcf166c8bab020341f8302b7cad5d7452ed1c2e66b3b230731d13401493d2d02f0500abcd526dbff44ae3aeabd210577
+EBUILD kubernetes-1.16.8.ebuild 2304 BLAKE2B 0e9b3385e4c36396ebf10e3686b595a6c8572d522ba1e36cb627908d3055bdc2b093cf269100f7a56c5a07091303afcacd53f8a80d440a9d79bc223721ab1acf SHA512 10f3fee396053d98dec282b73c35ae72a028b9f84fa85c7ea3b94dc99ec18b916c366e7471093cc6725e58dc52fa640785bbac596e472a0856ac391529167e31
+EBUILD kubernetes-1.17.4.ebuild 2304 BLAKE2B 0e9b3385e4c36396ebf10e3686b595a6c8572d522ba1e36cb627908d3055bdc2b093cf269100f7a56c5a07091303afcacd53f8a80d440a9d79bc223721ab1acf SHA512 10f3fee396053d98dec282b73c35ae72a028b9f84fa85c7ea3b94dc99ec18b916c366e7471093cc6725e58dc52fa640785bbac596e472a0856ac391529167e31
+EBUILD kubernetes-1.18.0.ebuild 2304 BLAKE2B 0e9b3385e4c36396ebf10e3686b595a6c8572d522ba1e36cb627908d3055bdc2b093cf269100f7a56c5a07091303afcacd53f8a80d440a9d79bc223721ab1acf SHA512 10f3fee396053d98dec282b73c35ae72a028b9f84fa85c7ea3b94dc99ec18b916c366e7471093cc6725e58dc52fa640785bbac596e472a0856ac391529167e31
+EBUILD kubernetes-1.18.1.ebuild 2304 BLAKE2B 0e9b3385e4c36396ebf10e3686b595a6c8572d522ba1e36cb627908d3055bdc2b093cf269100f7a56c5a07091303afcacd53f8a80d440a9d79bc223721ab1acf SHA512 10f3fee396053d98dec282b73c35ae72a028b9f84fa85c7ea3b94dc99ec18b916c366e7471093cc6725e58dc52fa640785bbac596e472a0856ac391529167e31
+MISC metadata.xml 719 BLAKE2B 4f7918cba4809becbff0cb1f6c6e9ce00e778c1a474955e64fccef68942a2e7fb337d5dbe8b01074b992497da913fbfbebe5705635245e8ce02f6daca4df7936 SHA512 9d4662622f1fa57b753018db9839b4399f3bb589a1e061821941738ea86a6d65cd0dbec31ffef658aeb14ac7d5c3840948694627b1fb32bc138b0f7dbf40a011
diff --git a/sys-cluster/kubernetes/files/kube-apiserver.confd b/sys-cluster/kubernetes/files/kube-apiserver.confd
new file mode 100644
index 000000000000..db74d27f0207
--- /dev/null
+++ b/sys-cluster/kubernetes/files/kube-apiserver.confd
@@ -0,0 +1,7 @@
+###
+# kubernetes system config
+#
+# The following values are used to configure the kube-apiserver
+#
+
+command_args=""
diff --git a/sys-cluster/kubernetes/files/kube-apiserver.initd b/sys-cluster/kubernetes/files/kube-apiserver.initd
new file mode 100644
index 000000000000..6f649f5a5460
--- /dev/null
+++ b/sys-cluster/kubernetes/files/kube-apiserver.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Kubernetes API Server"
+pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
+user=${user:-${RC_SVCNAME}}
+group=${group:-${RC_SVCNAME}}
+
+command="/usr/bin/kube-apiserver"
+command_args="${command_args}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
+ --stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
+
+depend() {
+ after net
+}
diff --git a/sys-cluster/kubernetes/files/kube-apiserver.logrotated b/sys-cluster/kubernetes/files/kube-apiserver.logrotated
new file mode 100644
index 000000000000..4ed84506231f
--- /dev/null
+++ b/sys-cluster/kubernetes/files/kube-apiserver.logrotated
@@ -0,0 +1,7 @@
+/var/log/kube-apiserver/*.log {
+ missingok
+ size 5M
+ rotate 3
+ compress
+ copytruncate
+}
diff --git a/sys-cluster/kubernetes/files/kube-controller-manager.confd b/sys-cluster/kubernetes/files/kube-controller-manager.confd
new file mode 100644
index 000000000000..155c43a07561
--- /dev/null
+++ b/sys-cluster/kubernetes/files/kube-controller-manager.confd
@@ -0,0 +1,9 @@
+###
+# kubernetes system config
+#
+# The following values are used to configure the kube-controller-manager
+#
+
+# Add your own!
+command_args=""
+
diff --git a/sys-cluster/kubernetes/files/kube-controller-manager.initd b/sys-cluster/kubernetes/files/kube-controller-manager.initd
new file mode 100644
index 000000000000..276197f06562
--- /dev/null
+++ b/sys-cluster/kubernetes/files/kube-controller-manager.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Kubernetes Controller Manager service"
+pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
+user=${user:-${RC_SVCNAME}}
+group=${group:-${RC_SVCNAME}}
+
+command="/usr/bin/kube-controller-manager"
+command_args="${command_args}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
+ --stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
+
+depend() {
+ after net
+}
diff --git a/sys-cluster/kubernetes/files/kube-controller-manager.logrotated b/sys-cluster/kubernetes/files/kube-controller-manager.logrotated
new file mode 100644
index 000000000000..06efce234069
--- /dev/null
+++ b/sys-cluster/kubernetes/files/kube-controller-manager.logrotated
@@ -0,0 +1,7 @@
+/var/log/kube-controller-manager/*.log {
+ missingok
+ size 5M
+ rotate 3
+ compress
+ copytruncate
+}
diff --git a/sys-cluster/kubernetes/files/kube-proxy.confd b/sys-cluster/kubernetes/files/kube-proxy.confd
new file mode 100644
index 000000000000..00f33f358bb9
--- /dev/null
+++ b/sys-cluster/kubernetes/files/kube-proxy.confd
@@ -0,0 +1,4 @@
+###
+# Kubernetes kube-proxy config
+#
+command_args=""
diff --git a/sys-cluster/kubernetes/files/kube-proxy.initd b/sys-cluster/kubernetes/files/kube-proxy.initd
new file mode 100644
index 000000000000..18a75adf0b64
--- /dev/null
+++ b/sys-cluster/kubernetes/files/kube-proxy.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Kubernetes Proxy service"
+pidfile=${pidfile:-"/run/${SVCNAME}.pid"}
+user=${user:-root}
+group=${group:-root}
+
+command="/usr/bin/kube-proxy"
+command_args="${command_args}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/${SVCNAME}/${SVCNAME}.log \
+ --stderr /var/log/${SVCNAME}/${SVCNAME}.log"
+
+depend() {
+ after net
+}
diff --git a/sys-cluster/kubernetes/files/kube-proxy.logrotated b/sys-cluster/kubernetes/files/kube-proxy.logrotated
new file mode 100644
index 000000000000..b8d1032c1f76
--- /dev/null
+++ b/sys-cluster/kubernetes/files/kube-proxy.logrotated
@@ -0,0 +1,7 @@
+/var/log/kube-proxy/*.log {
+ missingok
+ size 5M
+ rotate 3
+ compress
+ copytruncate
+}
diff --git a/sys-cluster/kubernetes/files/kube-scheduler.confd b/sys-cluster/kubernetes/files/kube-scheduler.confd
new file mode 100644
index 000000000000..8442e0348d23
--- /dev/null
+++ b/sys-cluster/kubernetes/files/kube-scheduler.confd
@@ -0,0 +1,9 @@
+###
+# kubernetes system config
+#
+# The following values are used to configure the kube-scheduler
+#
+
+# Add your own!
+command_args=""
+
diff --git a/sys-cluster/kubernetes/files/kube-scheduler.initd b/sys-cluster/kubernetes/files/kube-scheduler.initd
new file mode 100644
index 000000000000..2c49bce3ec80
--- /dev/null
+++ b/sys-cluster/kubernetes/files/kube-scheduler.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Kubernetes Scheduler service"
+pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
+user=${user:-${RC_SVCNAME}}
+group=${group:-${RC_SVCNAME}}
+
+command="/usr/bin/kube-scheduler"
+command_args="${command_args}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
+ --stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
+
+depend() {
+ after net
+}
diff --git a/sys-cluster/kubernetes/files/kube-scheduler.logrotated b/sys-cluster/kubernetes/files/kube-scheduler.logrotated
new file mode 100644
index 000000000000..6cce6c6f5be7
--- /dev/null
+++ b/sys-cluster/kubernetes/files/kube-scheduler.logrotated
@@ -0,0 +1,7 @@
+/var/log/kube-scheduler/*.log {
+ missingok
+ size 5M
+ rotate 3
+ compress
+ copytruncate
+}
diff --git a/sys-cluster/kubernetes/files/kubelet.confd b/sys-cluster/kubernetes/files/kubelet.confd
new file mode 100644
index 000000000000..24f424877eb8
--- /dev/null
+++ b/sys-cluster/kubernetes/files/kubelet.confd
@@ -0,0 +1,4 @@
+###
+# Kubernetes Kubelet (worker) config
+
+command_args=""
diff --git a/sys-cluster/kubernetes/files/kubelet.env b/sys-cluster/kubernetes/files/kubelet.env
new file mode 100644
index 000000000000..a623673960ff
--- /dev/null
+++ b/sys-cluster/kubernetes/files/kubelet.env
@@ -0,0 +1,17 @@
+###
+# kubernetes kubelet (minion) config
+
+# The address for the info server to serve on (set to 0.0.0.0 or "" for all interfaces)
+KUBELET_ADDRESS="--address=127.0.0.1"
+
+# The port for the info server to serve on
+# KUBELET_PORT="--port=10250"
+
+# You may leave this blank to use the actual hostname
+KUBELET_HOSTNAME="--hostname-override=127.0.0.1"
+
+# Edit the kubelet.kubeconfig to have correct cluster server address
+KUBELET_KUBECONFIG=/etc/kubernetes/kubelet.kubeconfig
+
+# Add your own!
+KUBELET_ARGS="--cgroup-driver=systemd --fail-swap-on=false"
diff --git a/sys-cluster/kubernetes/files/kubelet.initd b/sys-cluster/kubernetes/files/kubelet.initd
new file mode 100644
index 000000000000..363f635b5863
--- /dev/null
+++ b/sys-cluster/kubernetes/files/kubelet.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 2016-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Kubelet, a Kubernetes node agent"
+pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
+user=${user:-root}
+group=${group:-root}
+
+command="/usr/bin/kubelet"
+command_args="${command_args}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/kubelet/${RC_SVCNAME}.log \
+ --stderr /var/log/kubelet/${RC_SVCNAME}.log"
+
+depend() {
+ after net
+}
diff --git a/sys-cluster/kubernetes/files/kubelet.logrotated b/sys-cluster/kubernetes/files/kubelet.logrotated
new file mode 100644
index 000000000000..ddf8c1dd80f6
--- /dev/null
+++ b/sys-cluster/kubernetes/files/kubelet.logrotated
@@ -0,0 +1,7 @@
+/var/log/kubernetes/*.log {
+ missingok
+ size 5M
+ rotate 3
+ compress
+ copytruncate
+}
diff --git a/sys-cluster/kubernetes/files/kubelet.service b/sys-cluster/kubernetes/files/kubelet.service
new file mode 100644
index 000000000000..1082bbac1d0b
--- /dev/null
+++ b/sys-cluster/kubernetes/files/kubelet.service
@@ -0,0 +1,24 @@
+[Unit]
+Description=Kubernetes Kubelet Server
+Documentation=https://kubernetes.io/docs/concepts/overview/components/#kubelet https://kubernetes.io/docs/reference/generated/kubelet/
+After=docker.service
+Requires=docker.service
+
+[Service]
+WorkingDirectory=/var/lib/kubelet
+EnvironmentFile=-/etc/kubernetes/config
+EnvironmentFile=-/etc/kubernetes/kubelet
+ExecStart=/usr/bin/kubelet \
+ $KUBE_LOGTOSTDERR \
+ $KUBE_LOG_LEVEL \
+ $KUBELET_KUBECONFIG \
+ $KUBELET_ADDRESS \
+ $KUBELET_PORT \
+ $KUBELET_HOSTNAME \
+ $KUBE_ALLOW_PRIV \
+ $KUBELET_ARGS
+Restart=on-failure
+KillMode=process
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sys-cluster/kubernetes/kubernetes-1.16.8.ebuild b/sys-cluster/kubernetes/kubernetes-1.16.8.ebuild
new file mode 100644
index 000000000000..c333bbabb3b4
--- /dev/null
+++ b/sys-cluster/kubernetes/kubernetes-1.16.8.ebuild
@@ -0,0 +1,90 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit bash-completion-r1 go-module systemd
+
+DESCRIPTION="production-grade container orchestration"
+HOMEPAGE="https://kubernetes.io"
+SRC_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+AGENT="kubelet"
+CLI="kubeadm kubectl"
+SERVICES="kube-apiserver kube-controller-manager kube-proxy kube-scheduler"
+IUSE="hardened"
+for x in ${AGENT} ${CLI} ${SERVICES}; do
+ IUSE+=" +${x}"
+done
+
+BDEPEND=">=dev-lang/go-1.13"
+COMMON_DEPEND="
+ kube-apiserver? (
+ acct-group/kube-apiserver
+ acct-user/kube-apiserver
+ )
+ kube-controller-manager? (
+ acct-group/kube-controller-manager
+ acct-user/kube-controller-manager
+ )
+ kube-scheduler? (
+ acct-group/kube-scheduler
+ acct-user/kube-scheduler
+ )"
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}
+ kube-proxy? ( net-firewall/conntrack-tools )
+ !sys-cluster/kubeadm
+ !sys-cluster/kubectl
+ !sys-cluster/kubelet
+ !sys-cluster/kube-apiserver
+ !sys-cluster/kube-controller-manager
+ !sys-cluster/kube-proxy
+ !sys-cluster/kube-scheduler"
+
+RESTRICT+=" test"
+
+src_compile() {
+ local x
+ for x in ${AGENT} ${CLI} ${SERVICES}; do
+ use $x || continue
+ CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')" \
+ emake -j1 GOFLAGS=-v GOLDFLAGS="" LDFLAGS="" WHAT=cmd/${x}
+ done
+}
+
+src_install() {
+ local x
+ for x in ${AGENT} ${CLI} ${SERVICES}; do
+ use $x || continue
+ dobin _output/bin/${x}
+ if has ${x} ${CLI}; then
+ _output/bin/${x} completion bash > ${x}.bash || die
+ _output/bin/${x} completion zsh > ${x}.zsh || die
+ newbashcomp ${x}.bash ${x}
+ insinto /usr/share/zsh/site-functions
+ newins ${x}.zsh _${x}
+ continue
+ fi
+ newinitd "${FILESDIR}"/${x}.initd ${x}
+ newconfd "${FILESDIR}"/${x}.confd ${x}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${x}.logrotated ${x}
+ keepdir /var/log/${x}
+ if [[ "$x" =~ kubelet ]]; then
+ systemd_dounit "${FILESDIR}"/${x}.service
+ insinto /etc/kubernetes
+ newins "${FILESDIR}"/${x}.env ${x}.env
+ keepdir /etc/kubernetes/manifests
+ fi
+ if [[ $x =~ kubelet|kube-proxy ]]; then
+ keepdir /var/lib/${x}
+ fi
+ if [[ $x =~ .*apiserver|.*controller-manager|.*scheduler ]]; then
+ fowners ${x}:${x} /var/log/${x}
+ fi
+ done
+}
diff --git a/sys-cluster/kubernetes/kubernetes-1.17.4.ebuild b/sys-cluster/kubernetes/kubernetes-1.17.4.ebuild
new file mode 100644
index 000000000000..c333bbabb3b4
--- /dev/null
+++ b/sys-cluster/kubernetes/kubernetes-1.17.4.ebuild
@@ -0,0 +1,90 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit bash-completion-r1 go-module systemd
+
+DESCRIPTION="production-grade container orchestration"
+HOMEPAGE="https://kubernetes.io"
+SRC_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+AGENT="kubelet"
+CLI="kubeadm kubectl"
+SERVICES="kube-apiserver kube-controller-manager kube-proxy kube-scheduler"
+IUSE="hardened"
+for x in ${AGENT} ${CLI} ${SERVICES}; do
+ IUSE+=" +${x}"
+done
+
+BDEPEND=">=dev-lang/go-1.13"
+COMMON_DEPEND="
+ kube-apiserver? (
+ acct-group/kube-apiserver
+ acct-user/kube-apiserver
+ )
+ kube-controller-manager? (
+ acct-group/kube-controller-manager
+ acct-user/kube-controller-manager
+ )
+ kube-scheduler? (
+ acct-group/kube-scheduler
+ acct-user/kube-scheduler
+ )"
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}
+ kube-proxy? ( net-firewall/conntrack-tools )
+ !sys-cluster/kubeadm
+ !sys-cluster/kubectl
+ !sys-cluster/kubelet
+ !sys-cluster/kube-apiserver
+ !sys-cluster/kube-controller-manager
+ !sys-cluster/kube-proxy
+ !sys-cluster/kube-scheduler"
+
+RESTRICT+=" test"
+
+src_compile() {
+ local x
+ for x in ${AGENT} ${CLI} ${SERVICES}; do
+ use $x || continue
+ CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')" \
+ emake -j1 GOFLAGS=-v GOLDFLAGS="" LDFLAGS="" WHAT=cmd/${x}
+ done
+}
+
+src_install() {
+ local x
+ for x in ${AGENT} ${CLI} ${SERVICES}; do
+ use $x || continue
+ dobin _output/bin/${x}
+ if has ${x} ${CLI}; then
+ _output/bin/${x} completion bash > ${x}.bash || die
+ _output/bin/${x} completion zsh > ${x}.zsh || die
+ newbashcomp ${x}.bash ${x}
+ insinto /usr/share/zsh/site-functions
+ newins ${x}.zsh _${x}
+ continue
+ fi
+ newinitd "${FILESDIR}"/${x}.initd ${x}
+ newconfd "${FILESDIR}"/${x}.confd ${x}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${x}.logrotated ${x}
+ keepdir /var/log/${x}
+ if [[ "$x" =~ kubelet ]]; then
+ systemd_dounit "${FILESDIR}"/${x}.service
+ insinto /etc/kubernetes
+ newins "${FILESDIR}"/${x}.env ${x}.env
+ keepdir /etc/kubernetes/manifests
+ fi
+ if [[ $x =~ kubelet|kube-proxy ]]; then
+ keepdir /var/lib/${x}
+ fi
+ if [[ $x =~ .*apiserver|.*controller-manager|.*scheduler ]]; then
+ fowners ${x}:${x} /var/log/${x}
+ fi
+ done
+}
diff --git a/sys-cluster/kubernetes/kubernetes-1.18.0.ebuild b/sys-cluster/kubernetes/kubernetes-1.18.0.ebuild
new file mode 100644
index 000000000000..c333bbabb3b4
--- /dev/null
+++ b/sys-cluster/kubernetes/kubernetes-1.18.0.ebuild
@@ -0,0 +1,90 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit bash-completion-r1 go-module systemd
+
+DESCRIPTION="production-grade container orchestration"
+HOMEPAGE="https://kubernetes.io"
+SRC_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+AGENT="kubelet"
+CLI="kubeadm kubectl"
+SERVICES="kube-apiserver kube-controller-manager kube-proxy kube-scheduler"
+IUSE="hardened"
+for x in ${AGENT} ${CLI} ${SERVICES}; do
+ IUSE+=" +${x}"
+done
+
+BDEPEND=">=dev-lang/go-1.13"
+COMMON_DEPEND="
+ kube-apiserver? (
+ acct-group/kube-apiserver
+ acct-user/kube-apiserver
+ )
+ kube-controller-manager? (
+ acct-group/kube-controller-manager
+ acct-user/kube-controller-manager
+ )
+ kube-scheduler? (
+ acct-group/kube-scheduler
+ acct-user/kube-scheduler
+ )"
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}
+ kube-proxy? ( net-firewall/conntrack-tools )
+ !sys-cluster/kubeadm
+ !sys-cluster/kubectl
+ !sys-cluster/kubelet
+ !sys-cluster/kube-apiserver
+ !sys-cluster/kube-controller-manager
+ !sys-cluster/kube-proxy
+ !sys-cluster/kube-scheduler"
+
+RESTRICT+=" test"
+
+src_compile() {
+ local x
+ for x in ${AGENT} ${CLI} ${SERVICES}; do
+ use $x || continue
+ CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')" \
+ emake -j1 GOFLAGS=-v GOLDFLAGS="" LDFLAGS="" WHAT=cmd/${x}
+ done
+}
+
+src_install() {
+ local x
+ for x in ${AGENT} ${CLI} ${SERVICES}; do
+ use $x || continue
+ dobin _output/bin/${x}
+ if has ${x} ${CLI}; then
+ _output/bin/${x} completion bash > ${x}.bash || die
+ _output/bin/${x} completion zsh > ${x}.zsh || die
+ newbashcomp ${x}.bash ${x}
+ insinto /usr/share/zsh/site-functions
+ newins ${x}.zsh _${x}
+ continue
+ fi
+ newinitd "${FILESDIR}"/${x}.initd ${x}
+ newconfd "${FILESDIR}"/${x}.confd ${x}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${x}.logrotated ${x}
+ keepdir /var/log/${x}
+ if [[ "$x" =~ kubelet ]]; then
+ systemd_dounit "${FILESDIR}"/${x}.service
+ insinto /etc/kubernetes
+ newins "${FILESDIR}"/${x}.env ${x}.env
+ keepdir /etc/kubernetes/manifests
+ fi
+ if [[ $x =~ kubelet|kube-proxy ]]; then
+ keepdir /var/lib/${x}
+ fi
+ if [[ $x =~ .*apiserver|.*controller-manager|.*scheduler ]]; then
+ fowners ${x}:${x} /var/log/${x}
+ fi
+ done
+}
diff --git a/sys-cluster/kubernetes/kubernetes-1.18.1.ebuild b/sys-cluster/kubernetes/kubernetes-1.18.1.ebuild
new file mode 100644
index 000000000000..c333bbabb3b4
--- /dev/null
+++ b/sys-cluster/kubernetes/kubernetes-1.18.1.ebuild
@@ -0,0 +1,90 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit bash-completion-r1 go-module systemd
+
+DESCRIPTION="production-grade container orchestration"
+HOMEPAGE="https://kubernetes.io"
+SRC_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+AGENT="kubelet"
+CLI="kubeadm kubectl"
+SERVICES="kube-apiserver kube-controller-manager kube-proxy kube-scheduler"
+IUSE="hardened"
+for x in ${AGENT} ${CLI} ${SERVICES}; do
+ IUSE+=" +${x}"
+done
+
+BDEPEND=">=dev-lang/go-1.13"
+COMMON_DEPEND="
+ kube-apiserver? (
+ acct-group/kube-apiserver
+ acct-user/kube-apiserver
+ )
+ kube-controller-manager? (
+ acct-group/kube-controller-manager
+ acct-user/kube-controller-manager
+ )
+ kube-scheduler? (
+ acct-group/kube-scheduler
+ acct-user/kube-scheduler
+ )"
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}
+ kube-proxy? ( net-firewall/conntrack-tools )
+ !sys-cluster/kubeadm
+ !sys-cluster/kubectl
+ !sys-cluster/kubelet
+ !sys-cluster/kube-apiserver
+ !sys-cluster/kube-controller-manager
+ !sys-cluster/kube-proxy
+ !sys-cluster/kube-scheduler"
+
+RESTRICT+=" test"
+
+src_compile() {
+ local x
+ for x in ${AGENT} ${CLI} ${SERVICES}; do
+ use $x || continue
+ CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')" \
+ emake -j1 GOFLAGS=-v GOLDFLAGS="" LDFLAGS="" WHAT=cmd/${x}
+ done
+}
+
+src_install() {
+ local x
+ for x in ${AGENT} ${CLI} ${SERVICES}; do
+ use $x || continue
+ dobin _output/bin/${x}
+ if has ${x} ${CLI}; then
+ _output/bin/${x} completion bash > ${x}.bash || die
+ _output/bin/${x} completion zsh > ${x}.zsh || die
+ newbashcomp ${x}.bash ${x}
+ insinto /usr/share/zsh/site-functions
+ newins ${x}.zsh _${x}
+ continue
+ fi
+ newinitd "${FILESDIR}"/${x}.initd ${x}
+ newconfd "${FILESDIR}"/${x}.confd ${x}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${x}.logrotated ${x}
+ keepdir /var/log/${x}
+ if [[ "$x" =~ kubelet ]]; then
+ systemd_dounit "${FILESDIR}"/${x}.service
+ insinto /etc/kubernetes
+ newins "${FILESDIR}"/${x}.env ${x}.env
+ keepdir /etc/kubernetes/manifests
+ fi
+ if [[ $x =~ kubelet|kube-proxy ]]; then
+ keepdir /var/lib/${x}
+ fi
+ if [[ $x =~ .*apiserver|.*controller-manager|.*scheduler ]]; then
+ fowners ${x}:${x} /var/log/${x}
+ fi
+ done
+}
diff --git a/sys-cluster/kubernetes/metadata.xml b/sys-cluster/kubernetes/metadata.xml
new file mode 100644
index 000000000000..abf38f229729
--- /dev/null
+++ b/sys-cluster/kubernetes/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>williamh@gentoo.org</email>
+ <name>William Hubbs</name>
+ </maintainer>
+ <use>
+ <flag name="kubeadm">CLI to bootstrap a secure Kubernetes cluster</flag>
+ <flag name="kubectl">CLI to run commands against Kubernetes clusters</flag>
+ <flag name="kubelet">Kubernetes node agent</flag>
+ <flag name="kube-apiserver">Kubernetes API server</flag>
+ <flag name="kube-controller-manager">Kubernetes controller manager</flag>
+ <flag name="kube-proxy">Kubernetes proxy service</flag>
+ <flag name="kube-scheduler">Kubernetes scheduler</flag>
+ </use>
+</pkgmetadata>