summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-cluster/kubernetes/kubernetes-1.19.1.ebuild')
-rw-r--r--sys-cluster/kubernetes/kubernetes-1.19.1.ebuild98
1 files changed, 98 insertions, 0 deletions
diff --git a/sys-cluster/kubernetes/kubernetes-1.19.1.ebuild b/sys-cluster/kubernetes/kubernetes-1.19.1.ebuild
new file mode 100644
index 000000000000..51652cdca396
--- /dev/null
+++ b/sys-cluster/kubernetes/kubernetes-1.19.1.ebuild
@@ -0,0 +1,98 @@
+# 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 ~arm64"
+
+AGENT="kubelet"
+CLI="kubectl"
+SERVICES="kube-apiserver kube-controller-manager kube-proxy kube-scheduler"
+IUSE="hardened"
+for x in ${AGENT} ${CLI} ${SERVICES}; do
+ IUSE+=" +${x}"
+done
+
+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/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
+}
+
+pkg_postinst() {
+ local x
+ for x in ${REPLACING_VERSIONS}; do
+ if ver_test $x -le 1.18.8; then
+ ewarn "kubeadm is now packaged as sys-cluster/kubeadm"
+ ewarn "see https://bugs.gentoo.org/741572"
+ fi
+ done
+}