# Template file for 'kubernetes'
pkgname=kubernetes
version=1.29.3
revision=1
archs="aarch64* x86_64* ppc64le*"
build_style=go
go_import_path="github.com/kubernetes/kubernetes"
hostmakedepends="rsync git go-bindata which curl tar"
depends="kubectl conntrack-tools"
short_desc="Container Cluster Manager for Docker"
maintainer="Andrea Brancaleoni <abc@pompel.me>"
license="Apache-2.0"
homepage="http://kubernetes.io"
distfiles="https://$go_import_path/archive/v$version.tar.gz"
checksum=401d29af71cb962eb328cefd5166695587f195f9bd960edd1ede630f7e98bf7a
nocross=yes
system_accounts="kube"
make_dirs="/var/lib/kubelet 0755 kube kube"
conf_files="/etc/kubernetes/*"

do_build() {
	make
	hack/generate-docs.sh
	find "_output/local/bin/linux/" -type f -executable | grep "kubectl$" | egrep -v "gen|test" | while read line
	do
		$line completion bash > completion.bash
		$line completion zsh > completion.zsh
		break
	done
}

do_install() {
	find "_output/local/bin/linux/" -type f -executable | grep "kube" | egrep -v "gen|test" | while read line
	do
		vbin "${line}"
	done

	for MAN in docs/man/man1/*.1; do
		vman ${MAN}
	done

	vmkdir etc/kubernetes
	vcopy ${FILESDIR}/environ/* etc/kubernetes

	vsv kube-apiserver
	vsv kube-controller-manager
	vsv kubelet
	vsv kube-scheduler
	vsv kube-proxy
}

kubectl_package() {
	short_desc="Controls the Kubernetes cluster manager"
	pkg_install() {
		vmove usr/bin/kubectl
		vmove usr/share/man/man1/kubectl*
		vcompletion completion.bash bash
		vcompletion completion.zsh zsh
	}
}
