sys-cluster/kubernetes: add 1.16.8
authorWilliam Hubbs <williamh@gentoo.org>
Tue, 31 Mar 2020 21:23:44 +0000 (16:23 -0500)
committerWilliam Hubbs <williamh@gentoo.org>
Tue, 31 Mar 2020 21:26:08 +0000 (16:26 -0500)
Signed-off-by: William Hubbs <williamh@gentoo.org>
sys-cluster/kubernetes/Manifest
sys-cluster/kubernetes/kubernetes-1.16.8.ebuild [new file with mode: 0644]

index 0d914c7cff95a21d4b5c4b054184fa42d1a28ed0..a539e050ea48f30d8ad5fcfeefc67dc7b59e103c 100644 (file)
@@ -1 +1,2 @@
+DIST kubernetes-1.16.8.tar.gz 31731459 BLAKE2B 1d53c16586b5a7a41fc42d0fb3444b694531d3f04fb9e168a70d4b98f966f322bc82d39234612e38c71da052002c5bcc452c747d9f948dacbdd91ea40a9f5417 SHA512 04c8e9a9227ac9a98074cd52cbe90758134fedb10164fa69accbc19716a2f18dc133a4f880d0e35a3728c377faea431363f00ae9fe2ff5ca9e509444da9106c5
 DIST kubernetes-1.18.0.tar.gz 32554015 BLAKE2B 24079970cc1887c6dad7b55d9f2fd80cd9f46f1b6c1240cf28abf2eb33b3809bcd858293bb800255533a13e24145fab580b0bd2eb0e06c15ca4e0feeedcf6ff2 SHA512 3298ec63a2fbcd396b415f27a581f4286317ae206c30b35457aed780baae4115059df20e40028df394984caccc8bb4ef6c879ae3c064771c8a5c045dee7998e8
diff --git a/sys-cluster/kubernetes/kubernetes-1.16.8.ebuild b/sys-cluster/kubernetes/kubernetes-1.16.8.ebuild
new file mode 100644 (file)
index 0000000..c333bba
--- /dev/null
@@ -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
+}