commit:     9cdd342bf4a94619bfdcbbe2f65f2194c0e025cf
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Fri Mar  9 21:33:31 2018 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Fri Mar  9 22:00:24 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9cdd342b

net-analyzer/prometheus-pushgateway: new package

Package-Manager: Portage-2.3.24, Repoman-2.3.6

 net-analyzer/prometheus-pushgateway/Manifest       |  1 +
 .../files/prometheus-pushgateway.confd             | 14 ++++++
 .../files/prometheus-pushgateway.initd             | 19 ++++++++
 .../files/prometheus-pushgateway.logrotated        |  7 +++
 .../files/prometheus-pushgateway.service           | 16 +++++++
 net-analyzer/prometheus-pushgateway/metadata.xml   | 15 +++++++
 .../prometheus-pushgateway-0.4.0.ebuild            | 51 ++++++++++++++++++++++
 7 files changed, 123 insertions(+)

diff --git a/net-analyzer/prometheus-pushgateway/Manifest 
b/net-analyzer/prometheus-pushgateway/Manifest
new file mode 100644
index 00000000000..8006b32ae23
--- /dev/null
+++ b/net-analyzer/prometheus-pushgateway/Manifest
@@ -0,0 +1 @@
+DIST prometheus-pushgateway-0.4.0.tar.gz 1140644 BLAKE2B 
ea82e2e7f6fd817de02044e5aafde724a4089e4f2961f0b581f90df7e04e65af5a3c3e044ef94bd600a92468a8aed791c838a8fdc64b05b7a91d6288e7e96fb3
 SHA512 
67f25e5f7fdc54143c5d10720f27bd256f22695ced93088cf2b72fe3197e45324d4353357ae40d7d3e92019480c0bec009e38ed3f583724d46411d76adbdc927

diff --git 
a/net-analyzer/prometheus-pushgateway/files/prometheus-pushgateway.confd 
b/net-analyzer/prometheus-pushgateway/files/prometheus-pushgateway.confd
new file mode 100644
index 00000000000..de9ef483723
--- /dev/null
+++ b/net-analyzer/prometheus-pushgateway/files/prometheus-pushgateway.confd
@@ -0,0 +1,14 @@
+# -log.format value
+#      If set use a syslog logger or JSON logging. Example: 
logger:syslog?appname=bob&local=7 or logger:stdout?json=true. Defaults to 
stderr.
+# -log.level value
+#      Only log messages with the given severity or above. Valid levels: 
[debug, info, warn, error, fatal].
+# -persistence.file string
+#      File to persist metrics. If empty, metrics are only kept in memory.
+# -persistence.interval duration
+#      The minimum interval at which to write out the persistence file. 
(default 5m0s)
+# -web.listen-address string
+#      Address to listen on for the web interface, API, and telemetry. 
(default ":9091")
+# -web.telemetry-path string
+#      Path under which to expose metrics. (default "/metrics")
+
+#command_args="-web.listen-address localhost:9091 
-persistence.file=/var/lib/${RC_SVCNAME}/persistence.gob"

diff --git 
a/net-analyzer/prometheus-pushgateway/files/prometheus-pushgateway.initd 
b/net-analyzer/prometheus-pushgateway/files/prometheus-pushgateway.initd
new file mode 100644
index 00000000000..a187e57897e
--- /dev/null
+++ b/net-analyzer/prometheus-pushgateway/files/prometheus-pushgateway.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Prometheus push acceptor for ephemeral and batch jobs"
+pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
+user=${user:-${RC_SVCNAME}}
+group=${group:-${RC_SVCNAME}}
+
+command="/usr/bin/pushgateway"
+command_args="${command_args:--web.listen-address localhost:9091 
-persistence.file=/var/lib/${RC_SVCNAME}/persistence.gob}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+       --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
+       --stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
+
+depend() {
+       need net
+}

diff --git 
a/net-analyzer/prometheus-pushgateway/files/prometheus-pushgateway.logrotated 
b/net-analyzer/prometheus-pushgateway/files/prometheus-pushgateway.logrotated
new file mode 100644
index 00000000000..3645c9be176
--- /dev/null
+++ 
b/net-analyzer/prometheus-pushgateway/files/prometheus-pushgateway.logrotated
@@ -0,0 +1,7 @@
+/var/log/prometheus-pushgateway/prometheus-pushgateway.log {
+       missingok
+       size 5M
+       rotate 3
+       compress
+       copytruncate
+}

diff --git 
a/net-analyzer/prometheus-pushgateway/files/prometheus-pushgateway.service 
b/net-analyzer/prometheus-pushgateway/files/prometheus-pushgateway.service
new file mode 100644
index 00000000000..4377850f2c5
--- /dev/null
+++ b/net-analyzer/prometheus-pushgateway/files/prometheus-pushgateway.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=Prometheus exporter for ephemereal jobs
+Documentation=https://prometheus.io/docs/instrumenting/pushing/
+After=network-online.target
+
+[Service]
+User=prometheus-pushgateway
+Restart=on-failure
+Environment=PUSHGATEWAY_ARGS="-web.listen-address localhost:9091 
--persistence.file=/var/lib/prometheus-pushgateway/persistence.gob"
+ExecStart=/usr/bin/pushgateway $PUSHGATEWAY_ARGS
+ExecReload=/bin/kill -HUP $MAINPID
+TimeoutStopSec=20s
+SendSIGKILL=no
+
+[Install]
+WantedBy=multi-user.target

diff --git a/net-analyzer/prometheus-pushgateway/metadata.xml 
b/net-analyzer/prometheus-pushgateway/metadata.xml
new file mode 100644
index 00000000000..f233ac35e25
--- /dev/null
+++ b/net-analyzer/prometheus-pushgateway/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>zmed...@gentoo.org</email>
+               <name>Zac Medico</name>
+       </maintainer>
+       <maintainer type="person">
+               <email>mr...@gentoo.org</email>
+               <name>Manuel RĂ¼ger</name>
+       </maintainer>
+       <upstream>
+               <remote-id type="github">prometheus/pushgateway</remote-id>
+       </upstream>
+</pkgmetadata>

diff --git 
a/net-analyzer/prometheus-pushgateway/prometheus-pushgateway-0.4.0.ebuild 
b/net-analyzer/prometheus-pushgateway/prometheus-pushgateway-0.4.0.ebuild
new file mode 100644
index 00000000000..848c8d3c334
--- /dev/null
+++ b/net-analyzer/prometheus-pushgateway/prometheus-pushgateway-0.4.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot systemd
+
+EGO_PN="github.com/prometheus/pushgateway"
+EGIT_COMMIT="v${PV/_rc/-rc.}"
+pushgateway_COMMIT="6ceb4a1"
+ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Prometheus push acceptor for ephemeral and batch jobs"
+HOMEPAGE="https://github.com/prometheus/pushgateway";
+SRC_URI="${ARCHIVE_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-util/promu"
+
+pkg_setup() {
+       enewgroup ${PN}
+       enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+       default
+       sed -i -e "s/{{.Revision}}/${pushgateway_COMMIT}/" 
src/${EGO_PN}/.promu.yml || die
+}
+
+src_compile() {
+       pushd src/${EGO_PN} || die
+       mkdir -p bin || die
+       GOPATH="${S}" promu build -v --prefix pushgateway || die
+       popd || die
+}
+
+src_install() {
+       pushd src/${EGO_PN} || die
+       dobin pushgateway/pushgateway
+       dodoc {README,CHANGELOG,CONTRIBUTING}.md
+       popd || die
+       keepdir /var/lib/${PN} /var/log/${PN}
+       fowners ${PN}:${PN} /var/lib/${PN} /var/log/${PN}
+       newinitd "${FILESDIR}"/${PN}.initd ${PN}
+       newconfd "${FILESDIR}"/${PN}.confd ${PN}
+       insinto /etc/logrotate.d
+       newins "${FILESDIR}/${PN}.logrotated" "${PN}"
+       systemd_dounit "${FILESDIR}/${PN}.service"
+}

Reply via email to