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" +}