227 lines
8.9 KiB
Plaintext
227 lines
8.9 KiB
Plaintext
# Contributor: Stefan Reimer <stefan@zero-downtime.net>
|
|
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
|
|
# Contributor: Mateusz Mikuła <matti@marinelayer.io>
|
|
# Contributor: Tiago Ilieve <tiago.myhro@gmail.com>
|
|
# Contributor: Dave <dj.2dixx@gmail.com>
|
|
# Maintainer: Stefan Reimer <stefan@zero-downtime.net>
|
|
pkgname=kubernetes
|
|
pkgver=1.28.8
|
|
pkgrel=0
|
|
pkgdesc="Container Cluster Manager"
|
|
url="https://kubernetes.io/"
|
|
arch="all !armhf !riscv64"
|
|
license="Apache-2.0"
|
|
options="!check chmod-clean net" # Tests hang
|
|
|
|
_kube_proxy_deps="iptables"
|
|
_kubelet_deps="iptables"
|
|
_kubeadm_deps="iproute2 socat ethtool conntrack-tools cri-tools"
|
|
makedepends="go go-bindata linux-headers rsync grep findutils bash
|
|
$_kube_proxy_deps
|
|
$_kubelet_deps
|
|
$_kubeadm_deps
|
|
"
|
|
subpackages="
|
|
kubeadm:_kubeadm
|
|
kubectl:_kubectl
|
|
kubelet:_kubelet
|
|
kubelet-openrc:_kubelet_openrc
|
|
kube-apiserver:_apiserver
|
|
kube-apiserver-openrc:_apiserver_openrc
|
|
kube-controller-manager:_controllermanager
|
|
kube-controller-manager-openrc:_controllermanager_openrc
|
|
kube-proxy:_proxy
|
|
kube-proxy-openrc:_proxy_openrc
|
|
kube-scheduler:_scheduler
|
|
kube-scheduler-openrc:_scheduler_openrc
|
|
kubeadm-bash-completion:_kubeadm_bash:noarch
|
|
kubectl-bash-completion:_kubectl_bash:noarch
|
|
kubeadm-zsh-completion:_kubeadm_zsh:noarch
|
|
kubectl-zsh-completion:_kubectl_zsh:noarch
|
|
"
|
|
|
|
source="$pkgname-$pkgver.tar.gz::https://github.com/kubernetes/kubernetes/archive/v$pkgver.tar.gz
|
|
make-e2e_node-run-over-distro-bins.patch
|
|
make-test-cmd-run-over-hyperkube-based-kubectl.patch
|
|
|
|
kube-apiserver.initd
|
|
kube-apiserver.confd
|
|
kube-apiserver.logrotated
|
|
|
|
kube-controller-manager.initd
|
|
kube-controller-manager.confd
|
|
kube-controller-manager.logrotated
|
|
|
|
kube-proxy.initd
|
|
kube-proxy.confd
|
|
kube-proxy.logrotated
|
|
|
|
kube-scheduler.initd
|
|
kube-scheduler.confd
|
|
kube-scheduler.logrotated
|
|
|
|
kubelet.initd
|
|
kubelet.confd
|
|
kubelet.logrotated"
|
|
|
|
_agent="kubelet"
|
|
_cli="kubeadm kubectl"
|
|
_services="kube-apiserver kube-controller-manager kube-proxy kube-scheduler"
|
|
|
|
export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
|
|
export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
|
|
export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
|
|
|
|
build() {
|
|
for _pkgs in $_agent $_cli $_services ; do
|
|
make -j1 GOFLAGS="$GOFLAGS -buildmode=pie -v -tags=providerless" GOLDFLAGS="-extldflags=-static" WHAT=cmd/$_pkgs
|
|
done
|
|
}
|
|
|
|
package() {
|
|
for bin in $_agent $_cli $_services; do
|
|
install -Dm755 _output/local/go/bin/$bin "$pkgdir"/usr/bin/$bin
|
|
done
|
|
mkdir -p "$pkgdir"/etc/kubernetes
|
|
}
|
|
|
|
_do_subpkg() {
|
|
local _pkg=$1
|
|
pkgdesc="Kubernetes - $_pkg"
|
|
case "$_pkg" in
|
|
kubelet) depends="$_kubelet_deps" ;;
|
|
kubeadm) depends="$_kubeadm_deps" ;;
|
|
esac
|
|
mkdir -p "$subpkgdir"/usr/bin
|
|
mv "$pkgdir"/usr/bin/$_pkg "$subpkgdir"/usr/bin
|
|
return 0
|
|
}
|
|
|
|
_kubeadm() { _do_subpkg kubeadm; }
|
|
_kubectl() { _do_subpkg kubectl; }
|
|
|
|
_kubeadm_bash() { _do_bashcomp kubeadm; }
|
|
_kubectl_bash() { _do_bashcomp kubectl; }
|
|
|
|
_kubeadm_zsh() { _do_zshcomp kubeadm; }
|
|
_kubectl_zsh() { _do_zshcomp kubectl; }
|
|
|
|
_kubelet() {
|
|
_do_subpkg kubelet
|
|
install -d "$subpkgdir"/var/lib/kubelet
|
|
install -d "$subpkgdir"/var/log/kubelet
|
|
|
|
install -Dm644 "$srcdir"/kubelet.logrotated "$subpkgdir"/etc/logrotate.d/kubelet
|
|
}
|
|
|
|
_kubelet_openrc() {
|
|
pkgdesc="Kubernetes - kubelet (OpenRC init scripts)"
|
|
depends="openrc"
|
|
install_if="openrc kubelet=$pkgver-r$pkgrel"
|
|
|
|
install -Dm755 "$srcdir"/kubelet.initd "$subpkgdir"/etc/init.d/kubelet
|
|
install -Dm644 "$srcdir"/kubelet.confd "$subpkgdir"/etc/conf.d/kubelet
|
|
}
|
|
|
|
_apiserver() {
|
|
_do_subpkg kube-apiserver
|
|
|
|
install -d "$subpkgdir"/var/log/kube-apiserver
|
|
install -Dm644 "$srcdir"/kube-apiserver.logrotated "$subpkgdir"/etc/logrotate.d/kube-apiserver
|
|
}
|
|
|
|
_apiserver_openrc() {
|
|
pkgdesc="Kubernetes - kube-apiserver (OpenRC init scripts)"
|
|
depends="openrc"
|
|
install_if="openrc kube-apiserver=$pkgver-r$pkgrel"
|
|
install -Dm755 "$srcdir"/kube-apiserver.initd "$subpkgdir"/etc/init.d/kube-apiserver
|
|
install -Dm644 "$srcdir"/kube-apiserver.confd "$subpkgdir"/etc/conf.d/kube-apiserver
|
|
}
|
|
|
|
_controllermanager() {
|
|
_do_subpkg kube-controller-manager
|
|
|
|
install -d "$subpkgdir"/var/log/kube-controller-manager
|
|
install -Dm644 "$srcdir"/kube-controller-manager.logrotated "$subpkgdir"/etc/logrotate.d/kube-controller-manager
|
|
}
|
|
|
|
_controllermanager_openrc() {
|
|
pkgdesc="Kubernetes - kube-controller-manager (OpenRC init scripts)"
|
|
depends="openrc"
|
|
install_if="openrc kube-controller-manager=$pkgver-r$pkgrel"
|
|
|
|
install -Dm755 "$srcdir"/kube-controller-manager.initd "$subpkgdir"/etc/init.d/kube-controller-manager
|
|
install -Dm644 "$srcdir"/kube-controller-manager.confd "$subpkgdir"/etc/conf.d/kube-controller-manager
|
|
}
|
|
|
|
_proxy() {
|
|
_do_subpkg kube-proxy
|
|
depends="$_kube_proxy_deps"
|
|
|
|
install -d "$subpkgdir"/var/lib/kube-proxy
|
|
install -d "$subpkgdir"/var/log/kube-proxy
|
|
install -Dm644 "$srcdir"/kube-proxy.logrotated "$subpkgdir"/etc/logrotate.d/kube-proxy
|
|
}
|
|
|
|
_proxy_openrc() {
|
|
pkgdesc="Kubernetes - kube-proxy (OpenRC init scripts)"
|
|
depends="openrc"
|
|
install_if="openrc kube-proxy=$pkgver-r$pkgrel"
|
|
install -Dm755 "$srcdir"/kube-proxy.initd "$subpkgdir"/etc/init.d/kube-proxy
|
|
install -Dm644 "$srcdir"/kube-proxy.confd "$subpkgdir"/etc/conf.d/kube-proxy
|
|
}
|
|
|
|
_scheduler() {
|
|
_do_subpkg kube-scheduler
|
|
install -d "$subpkgdir"/var/log/kube-scheduler
|
|
install -Dm644 "$srcdir"/kube-scheduler.logrotated "$subpkgdir"/etc/logrotate.d/kube-scheduler
|
|
}
|
|
|
|
_scheduler_openrc() {
|
|
pkgdesc="Kubernetes - kube-scheduler (OpenRC init scripts)"
|
|
depends="openrc"
|
|
install_if="openrc kube-scheduler=$pkgver-r$pkgrel"
|
|
install -Dm755 "$srcdir"/kube-scheduler.initd "$subpkgdir"/etc/init.d/kube-scheduler
|
|
install -Dm644 "$srcdir"/kube-scheduler.confd "$subpkgdir"/etc/conf.d/kube-scheduler
|
|
}
|
|
|
|
_do_bashcomp() {
|
|
local _pkgname=$1
|
|
pkgdesc="Bash completions for $_pkgname"
|
|
install_if="$_pkgname=$pkgver-r$pkgrel bash-completion"
|
|
|
|
mkdir -p "$subpkgdir"/usr/share/bash-completion/completions
|
|
"$builddir"/_output/local/bin/linux/*/$_pkgname completion bash>"$subpkgdir"/usr/share/bash-completion/completions/$_pkgname
|
|
}
|
|
|
|
_do_zshcomp() {
|
|
local _pkgname=$1
|
|
pkgdesc="Zsh completions for $_pkgname"
|
|
install_if="$_pkgname=$pkgver-r$pkgrel zsh"
|
|
|
|
mkdir -p "$subpkgdir"/usr/share/zsh/site-functions
|
|
"$builddir"/_output/local/bin/linux/*/$_pkgname completion zsh \
|
|
> "$subpkgdir"/usr/share/zsh/site-functions/_$_pkgname
|
|
}
|
|
|
|
sha512sums="
|
|
2bbc48394784b34712c6b419cd07971780410223e7015c5fe6ed2c25c4e9499e81c9ea1f4269d399fd7e908971f5b8e873595d2b67332f7b49f61a5411a2aed1 kubernetes-1.28.8.tar.gz
|
|
5427c2e653504cfd5b0bcaf195d4734ee40947ddfebc9f155cd96dddccfc27692c29d94af4ac99f1018925b52995c593b584c5d7a82df2f185ebce1a9e463c40 make-e2e_node-run-over-distro-bins.patch
|
|
94d07edfe7ca52b12e85dd9e29f4c9edcd144abc8d120fb71e2a0507f064afd4bac5dde30da7673a35bdd842b79a4770a03a1f3946bfae361c01dd4dc4903c64 make-test-cmd-run-over-hyperkube-based-kubectl.patch
|
|
e690daff2adb1013c92124f32e71f8ed9a18c611ae6ae5fcb5ce9674768dbf9d911a05d7e4028488cda886e63b82e8ac0606d14389a05844c1b5538a33dd09d1 kube-apiserver.initd
|
|
302b2a7ec715967c0aa7d1c177d4e55b26e37ebba8d04dd37ecf627d20042fe91cd7e6192ff9d71422129b0ea54a9eec6046f505af550548bd450998924f37ee kube-apiserver.confd
|
|
1a4bcd54dafaedc614e34bbadc2a1163f003b5925d47552fb2c47049c033c147e612171e263d9659d189fc2d95688a0b7153322d8dba97c083c079fdef6c400e kube-apiserver.logrotated
|
|
90b9a9708e6d7c9084de17c8b28cbf6ff543400128d47f4d168883d8d3461b4dcbbb1796950a12ffc79b0f341b3881b48bba7651e3c232c1731a7e6dbddb62b8 kube-controller-manager.initd
|
|
347dcf514abec4bc94036955d0fb2d32f141a39d1a70d7fb37e7bf8eb5792e5c29560d500a08aafcd3e19422d04466004b832bca7108eb2815610feb144688fe kube-controller-manager.confd
|
|
e00cd9297d8ac75fcd504a2bfb80d5c5e145e7d475dd15edf9361dc28721afdc069c5b6e79438b75a774e972028841a17e8f7842dcfb3d7835c436a3e503704c kube-controller-manager.logrotated
|
|
cd43587f69bd9fc6f1fdf0896d99df89377f677f4fa9b367dcaee1bf6f66469577dd79c60833ba0cd60ffdb68deedd0fb9bc00caa2b06854af4e6e56f1ffe365 kube-proxy.initd
|
|
4c8c34ae8668bcfa5167c2d2af006fc46b461a5dafb3ec5b64cb8cdf2a830c22ddb5cf806c93b1404f60dabf91b4153724947fa2d2c494376f20e637eeed5018 kube-proxy.confd
|
|
d7e022ee22da191bda7382f87cb293d9c9d115a3df0c2054bf918279eb866f99c6d5c21e4c98eae84bacf925f7793bbe3087e0bcf6732ccb33844d15e4386fb5 kube-proxy.logrotated
|
|
561bef5633ba4b9021720624443d9c279a561e5fabea76e5d0fbee2e7ad8999029a2511a45895fbec8448026212a3c5b4c197b248a6afa7f8bd945f705524ea7 kube-scheduler.initd
|
|
af88b382ab75657d0ff13c3f8f6d924cef9f2df7807a9a27daa63495981801bc4b607998f65c0758c11a7e070e43c24f7184ba7720711109c74b1c4d57919e34 kube-scheduler.confd
|
|
3692da349dd6ed0f5acc09d7b95ac562ffecb103e2270bebdfe4a7808d48dada9d2debff262d85b11c47f9ca3f0c20000712d03629ed813ff08a3e02d69267e6 kube-scheduler.logrotated
|
|
372cdf2fbb24a229ed7b3450b54197c006928cb8d2fd756f2713e1e6961849c7aaa35b20b14fb75d1a12ef1e35258048738aa22b5f9783af8fa0a31dfd1b5bbd kubelet.initd
|
|
44eb973de8ee8e0c5a77d76ab0e105fe0ae892be1ff86c238a5449b43f83cab6f844575b6c3218f08c5ff077e9f828f5aef72425c1d77546cce2e0136e8a8da8 kubelet.confd
|
|
941f4a7579dcf78da2d323ac69195e95eba6600e6fcefe9231447f11c9867a7aa57b4189ee1fefb10eab19c89665ea2e7696b539c92e99fbcde905d2ff85be58 kubelet.logrotated
|
|
"
|