app-emulation/flannel: new package, An etcd backed network fabric for containers
authorZac Medico <zmedico@gentoo.org>
Fri, 23 Oct 2015 22:24:46 +0000 (15:24 -0700)
committerZac Medico <zmedico@gentoo.org>
Fri, 23 Oct 2015 22:28:10 +0000 (15:28 -0700)
Package-Manager: portage-2.2.23

app-emulation/flannel/Manifest [new file with mode: 0644]
app-emulation/flannel/files/flannel-docker.conf [new file with mode: 0644]
app-emulation/flannel/files/flannel.tmpfilesd [new file with mode: 0644]
app-emulation/flannel/files/flanneld.service [new file with mode: 0644]
app-emulation/flannel/flannel-0.5.4.ebuild [new file with mode: 0644]
app-emulation/flannel/metadata.xml [new file with mode: 0644]

diff --git a/app-emulation/flannel/Manifest b/app-emulation/flannel/Manifest
new file mode 100644 (file)
index 0000000..21f5b5e
--- /dev/null
@@ -0,0 +1 @@
+DIST flannel-0.5.4.tar.gz 578005 SHA256 14bbbabdbb85f3366ae6788a8b8ba110d56add15e06def4d8ead4c9698fc15fd SHA512 535d3de31186760cd72cac5753fabc269c8ebf9f3fe90a381b86dae0747a1dd4f4099cce19729a7d5990fefc99236bea8742062605a376f9bd9f653c07b4e92a WHIRLPOOL 10756f47fc35ce39ac1b9321d4bb347993d8d5dd37bc83bf769e35e32f3de02bbba89d39142c4b6eb8a6bd92be7a5ad91c45bf0f8aeb6e0efe050383766c3aef
diff --git a/app-emulation/flannel/files/flannel-docker.conf b/app-emulation/flannel/files/flannel-docker.conf
new file mode 100644 (file)
index 0000000..8f55177
--- /dev/null
@@ -0,0 +1,2 @@
+[Service]
+EnvironmentFile=-/run/flannel/docker
diff --git a/app-emulation/flannel/files/flannel.tmpfilesd b/app-emulation/flannel/files/flannel.tmpfilesd
new file mode 100644 (file)
index 0000000..98e5abd
--- /dev/null
@@ -0,0 +1 @@
+d /run/flannel 0755 root root
diff --git a/app-emulation/flannel/files/flanneld.service b/app-emulation/flannel/files/flanneld.service
new file mode 100644 (file)
index 0000000..7e59b6b
--- /dev/null
@@ -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 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-emulation/flannel/flannel-0.5.4.ebuild b/app-emulation/flannel/flannel-0.5.4.ebuild
new file mode 100644 (file)
index 0000000..4b3992c
--- /dev/null
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit systemd user
+
+KEYWORDS="~amd64"
+DESCRIPTION="An etcd backed network fabric for containers"
+GO_PN="github.com/coreos/flannel"
+HOMEPAGE="https://${GO_PN}"
+SRC_URI="https://${GO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND=">=dev-lang/go-1.4:="
+RDEPEND=""
+
+src_prepare() {
+       local line
+       sed -e 's:go build:[[ ${0##*/} == test ]] || \0 -v -x:' -i build || die
+       sed -e 's:go test:\0 -v:' -i test || die
+
+       # remote_test.go:98: GetNetworkConfig failed: Get http://127.0.0.1:9999/v1/_/config: dial tcp 127.0.0.1:9999: getsockopt: connection refused
+       sed -e 's:^func TestRemote:func _TestRemote:' -i remote/remote_test.go || die
+}
+
+src_compile() {
+       "${BASH}" -ex ./build || die 'Build failed'
+}
+
+src_test() {
+       "${BASH}" -ex ./test || die 'Tests failed'
+}
+
+src_install() {
+       dobin bin/*
+       exeinto /usr/libexec/flannel
+       doexe dist/mk-docker-opts.sh
+       insinto /etc/systemd/system/docker.service.d
+       newins "${FILESDIR}/flannel-docker.conf" flannel.conf
+       systemd_newtmpfilesd "${FILESDIR}/flannel.tmpfilesd" flannel.conf
+       systemd_dounit "${FILESDIR}/flanneld.service"
+}
diff --git a/app-emulation/flannel/metadata.xml b/app-emulation/flannel/metadata.xml
new file mode 100644 (file)
index 0000000..bd78c24
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+  <maintainer>
+    <email>zmedico@gentoo.org</email>
+  </maintainer>
+  <upstream>
+    <remote-id type="github">coreos/flannel</remote-id>
+  </upstream>
+</pkgmetadata>