summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-containers/flannel')
-rw-r--r--app-containers/flannel/Manifest2
-rw-r--r--app-containers/flannel/files/flannel-docker.conf2
-rw-r--r--app-containers/flannel/files/flannel.tmpfilesd1
-rw-r--r--app-containers/flannel/files/flanneld.confd2
-rw-r--r--app-containers/flannel/files/flanneld.initd19
-rw-r--r--app-containers/flannel/files/flanneld.logrotated7
-rw-r--r--app-containers/flannel/files/flanneld.service13
-rw-r--r--app-containers/flannel/flannel-0.17.0.ebuild54
-rw-r--r--app-containers/flannel/flannel-0.20.0.ebuild54
-rw-r--r--app-containers/flannel/metadata.xml10
10 files changed, 164 insertions, 0 deletions
diff --git a/app-containers/flannel/Manifest b/app-containers/flannel/Manifest
new file mode 100644
index 000000000000..adad8566f465
--- /dev/null
+++ b/app-containers/flannel/Manifest
@@ -0,0 +1,2 @@
+DIST flannel-0.17.0.tar.gz 9534647 BLAKE2B 03d6d036d5877641a2fc7b6654995822522d378943e4d7b2531be8197de6e7d6e0509143cd8d4dfd3d2ef11c9355011bfc44c834f966e14fd3aa774350bcab11 SHA512 f0625339e387a6ae81780d21025c282c2e0caf8b32ac778634a877a4e04ebf10d41fc10b50ae477c28815cedaf34af867b651ed5a8c5267177ea925abc6a1253
+DIST flannel-0.20.0.tar.gz 10737855 BLAKE2B d2e5821c4457a8c0781618a62245132f862d7877ce10467f8d9c72be2440f7b60f0866a3420a69d13bc53826407b0b653e6c2385f8e56d684ee1e09acf0528f0 SHA512 624a293607d3d4d5e53b41b5fd26a416f8499a763f8cfbe39c79796644a56d5eb3605664592d15eddde519f2dba55da241889be159644bbe40e78ae72ed5a43b
diff --git a/app-containers/flannel/files/flannel-docker.conf b/app-containers/flannel/files/flannel-docker.conf
new file mode 100644
index 000000000000..8f5517776b89
--- /dev/null
+++ b/app-containers/flannel/files/flannel-docker.conf
@@ -0,0 +1,2 @@
+[Service]
+EnvironmentFile=-/run/flannel/docker
diff --git a/app-containers/flannel/files/flannel.tmpfilesd b/app-containers/flannel/files/flannel.tmpfilesd
new file mode 100644
index 000000000000..98e5abd9b20f
--- /dev/null
+++ b/app-containers/flannel/files/flannel.tmpfilesd
@@ -0,0 +1 @@
+d /run/flannel 0755 root root
diff --git a/app-containers/flannel/files/flanneld.confd b/app-containers/flannel/files/flanneld.confd
new file mode 100644
index 000000000000..18686aa5d223
--- /dev/null
+++ b/app-containers/flannel/files/flanneld.confd
@@ -0,0 +1,2 @@
+# arguments for flannel
+command_args=""
diff --git a/app-containers/flannel/files/flanneld.initd b/app-containers/flannel/files/flanneld.initd
new file mode 100644
index 000000000000..d5d966a40d30
--- /dev/null
+++ b/app-containers/flannel/files/flanneld.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 2016-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Flannel Network Fabric for Containers"
+pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
+user=${user:-root}
+group=${group:-root}
+
+command="/usr/bin/${RC_SVCNAME}"
+command_args="${command_args}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/flannel/flannel.log \
+ --stderr /var/log/flannel/flannel.log"
+
+depend() {
+ need net
+}
diff --git a/app-containers/flannel/files/flanneld.logrotated b/app-containers/flannel/files/flanneld.logrotated
new file mode 100644
index 000000000000..4108e6305578
--- /dev/null
+++ b/app-containers/flannel/files/flanneld.logrotated
@@ -0,0 +1,7 @@
+/var/log/flannel/* {
+ missingok
+ size 5M
+ rotate 3
+ compress
+ copytruncate
+}
diff --git a/app-containers/flannel/files/flanneld.service b/app-containers/flannel/files/flanneld.service
new file mode 100644
index 000000000000..86e69a49e73f
--- /dev/null
+++ b/app-containers/flannel/files/flanneld.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Flanneld overlay address etcd agent
+After=network.target
+Before=docker.service
+
+[Service]
+Type=notify
+Environment=FLANNEL_ETCD=http://127.0.0.1:4001,http://127.0.0.1:2379 FLANNEL_ETCD_KEY=/coreos.com/network
+ExecStart=/usr/bin/flanneld -etcd-endpoints=${FLANNEL_ETCD} -etcd-prefix=${FLANNEL_ETCD_KEY} $FLANNEL_OPTIONS
+ExecStartPost=/usr/libexec/flannel/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/docker
+
+[Install]
+RequiredBy=docker.service
diff --git a/app-containers/flannel/flannel-0.17.0.ebuild b/app-containers/flannel/flannel-0.17.0.ebuild
new file mode 100644
index 000000000000..18d922d3f1d3
--- /dev/null
+++ b/app-containers/flannel/flannel-0.17.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit go-module systemd tmpfiles
+
+KEYWORDS="~amd64 ~arm64"
+DESCRIPTION="An etcd backed network fabric for containers"
+HOMEPAGE="https://github.com/flannel-io/flannel"
+SRC_URI="https://github.com/flannel-io/flannel/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0 BSD ISC LGPL-3 MIT"
+SLOT="0"
+IUSE="hardened"
+
+RESTRICT+=" test"
+
+src_prepare() {
+ default
+ sed -e "s:^var Version =.*:var Version = \"${PV}\":" \
+ -i "${S}/version/version.go" || die
+}
+
+src_compile() {
+ CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')"\
+ go build -o dist/flanneld -ldflags "
+ -X github.com/flannel-io/flannel/version.Version=v${PV}
+ -extldflags \"-static\"" . || die
+}
+
+src_test() {
+ GOPATH="${WORKDIR}/${P}" \
+ go test -v -work -x "${EGO_PN}" || die
+}
+
+src_install() {
+ dobin dist/${PN}d
+ exeinto /usr/libexec/flannel
+ doexe dist/mk-docker-opts.sh
+ insinto /etc/systemd/system/docker.service.d
+ newins "${FILESDIR}/flannel-docker.conf" flannel.conf
+ newinitd "${FILESDIR}"/flanneld.initd flanneld
+ newconfd "${FILESDIR}"/flanneld.confd flanneld
+ keepdir /var/log/${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/flanneld.logrotated flanneld
+ newtmpfiles "${FILESDIR}/flannel.tmpfilesd" flannel.conf
+ systemd_dounit "${FILESDIR}/flanneld.service"
+ dodoc README.md
+}
+
+pkg_postinst() {
+ tmpfiles_process flannel.conf
+}
diff --git a/app-containers/flannel/flannel-0.20.0.ebuild b/app-containers/flannel/flannel-0.20.0.ebuild
new file mode 100644
index 000000000000..18d922d3f1d3
--- /dev/null
+++ b/app-containers/flannel/flannel-0.20.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit go-module systemd tmpfiles
+
+KEYWORDS="~amd64 ~arm64"
+DESCRIPTION="An etcd backed network fabric for containers"
+HOMEPAGE="https://github.com/flannel-io/flannel"
+SRC_URI="https://github.com/flannel-io/flannel/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0 BSD ISC LGPL-3 MIT"
+SLOT="0"
+IUSE="hardened"
+
+RESTRICT+=" test"
+
+src_prepare() {
+ default
+ sed -e "s:^var Version =.*:var Version = \"${PV}\":" \
+ -i "${S}/version/version.go" || die
+}
+
+src_compile() {
+ CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')"\
+ go build -o dist/flanneld -ldflags "
+ -X github.com/flannel-io/flannel/version.Version=v${PV}
+ -extldflags \"-static\"" . || die
+}
+
+src_test() {
+ GOPATH="${WORKDIR}/${P}" \
+ go test -v -work -x "${EGO_PN}" || die
+}
+
+src_install() {
+ dobin dist/${PN}d
+ exeinto /usr/libexec/flannel
+ doexe dist/mk-docker-opts.sh
+ insinto /etc/systemd/system/docker.service.d
+ newins "${FILESDIR}/flannel-docker.conf" flannel.conf
+ newinitd "${FILESDIR}"/flanneld.initd flanneld
+ newconfd "${FILESDIR}"/flanneld.confd flanneld
+ keepdir /var/log/${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/flanneld.logrotated flanneld
+ newtmpfiles "${FILESDIR}/flannel.tmpfilesd" flannel.conf
+ systemd_dounit "${FILESDIR}/flanneld.service"
+ dodoc README.md
+}
+
+pkg_postinst() {
+ tmpfiles_process flannel.conf
+}
diff --git a/app-containers/flannel/metadata.xml b/app-containers/flannel/metadata.xml
new file mode 100644
index 000000000000..7e0f71c1df52
--- /dev/null
+++ b/app-containers/flannel/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zmedico@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">flannel-io/flannel</remote-id>
+ </upstream>
+</pkgmetadata>