sys-cluster/kube-router new ebuild

Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/12494
Signed-off-by: Maxim Koltsov <maksbotan@gentoo.org>
This commit is contained in:
Konstantin Podshumok
2019-07-21 18:01:09 +03:00
committed by Maxim Koltsov
parent c24972258d
commit c01c2d2e17
6 changed files with 112 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST kube-router-0.3.1.tar.gz 8468463 BLAKE2B 23ee608e6415b3627f5024c8778ae1f33c5db3c1c564d0eb1e0fcb45dd90ff4a148c39e7fd0a4888d6b4cf13b129c5249c2db868efa584f15e31c7ff539829d5 SHA512 185e3a58dc6112e33ed7dc5702795dd7be0a37b63c7c882a1c092060a57a755ea4ea5c2cc96c93210bee632a4a4c4b19f3506ceb44b96d4727cf62cb2f28818f

View File

@@ -0,0 +1,11 @@
# K8S_APISERVER='https://127.0.0.1:6443'
# KUBECONFIG=/etc/kubernetes/kube-router.kubeconfig
# Leave empty to autodetect:
# HOSTNAME=
# RUN_PROXY=true
# RUN_FIREWALL=true
# RUN_ROUTER=false
EXTRA_ARGS=''

View File

@@ -0,0 +1,22 @@
#!/sbin/openrc-run
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
description="Kubernetes routing engine"
supervisor=supervise-daemon
command="/usr/bin/kube-router"
error_log='/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log'
pidfile="${pidfile:-/run/${RC_SVCNAME}.pid}"
command_args="--master=${K8S_APISERVER} --kubeconfig=${KUBECONFIG} \
--run-service-proxy=${RUN_PROXY:-false} \
--run-firewall=${RUN_FIREWALL:-false} \
--run-router=${RUN_ROUTER:-false} \
${HOSTNAME:+--hostname-override=}${HOSTNAME} \
${EXTRA_ARGS}"
extra_commands="clear"
clear() {
"${command}" --cleanup-config
}

View File

@@ -0,0 +1,7 @@
/var/log/kube-router/*.log {
missingok
size 5M
rotate 3
compress
copytruncate
}

View File

@@ -0,0 +1,48 @@
# Copyright 2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EGO_PN="github.com/cloudnativelabs/${PN}"
inherit golang-build golang-vcs-snapshot
KEYWORDS="~amd64"
DESCRIPTION="A turnkey solution for Kubernetes networking"
HOMEPAGE="https://kube-router.io"
SRC_URI="https://github.com/cloudnativelabs/kube-router/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
RDEPEND="
net-firewall/iptables[conntrack]
net-firewall/ipset
sys-cluster/ipvsadm
"
src_compile() {
pushd src/${EGO_PN} || die
GOPATH="${S}" go build -x -work -v \
-ldflags "-X 'github.com/cloudnativelabs/kube-router/pkg/cmd.version=${PV}' "\
"-X 'github.com/cloudnativelabs/kube-router/pkg/cmd.buildDate=$(date -u +%FT%T%z)'" \
-o kube-router cmd/kube-router/kube-router.go || die
popd || die
}
src_test() {
:
}
src_install() {
pushd src/${EGO_PN} || die
dobin ${PN}
dodoc *.md docs/*.md docs/*/*
popd || die
newinitd "${FILESDIR}"/kube-router.initd kube-router
newconfd "${FILESDIR}"/kube-router.confd kube-router
insinto /etc/logrotate.d
newins "${FILESDIR}"/kube-router.logrotated kube-router
}

View File

@@ -0,0 +1,23 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>kpp+gentoo@qrator.net</email>
<name>Konstantin Ignatov</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<longdescription lang="en">
kube-router is an alternative to several network components used
in typical Kubernetes clusters.
It handles IPVS/LVS based service proxy, Pod Networking and
Network Policy Controller tasks using standard Linux networking
stack and toolset.
</longdescription>
<upstream>
<remote-id type="github">cloudnativelabs/kube-router</remote-id>
</upstream>
</pkgmetadata>