Gentoo Archives: gentoo-commits

From: William Hubbs <williamh@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-metrics/github-exporter/, app-metrics/github-exporter/files/
Date: Sat, 12 Jan 2019 00:49:17
Message-Id: 1547254101.afb543bed5d409f5ed2fd847a846ea702754b70a.williamh@gentoo
1 commit: afb543bed5d409f5ed2fd847a846ea702754b70a
2 Author: William Hubbs <william.hubbs <AT> sony <DOT> com>
3 AuthorDate: Sat Jan 12 00:41:56 2019 +0000
4 Commit: William Hubbs <williamh <AT> gentoo <DOT> org>
5 CommitDate: Sat Jan 12 00:48:21 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=afb543be
7
8 app-metrics/github-exporter: Export github statistics to prometheus
9
10 Copyright: Sony Interactive Entertainment Inc.
11 Package-Manager: Portage-2.3.51, Repoman-2.3.12
12 Signed-off-by: William Hubbs <williamh <AT> gentoo.org>
13
14 app-metrics/github-exporter/Manifest | 13 ++++
15 .../github-exporter/files/github-exporter.confd | 14 ++++
16 .../github-exporter/files/github-exporter.initd | 53 +++++++++++++++
17 .../github-exporter/github-exporter-04.ebuild | 75 ++++++++++++++++++++++
18 app-metrics/github-exporter/metadata.xml | 8 +++
19 5 files changed, 163 insertions(+)
20
21 diff --git a/app-metrics/github-exporter/Manifest b/app-metrics/github-exporter/Manifest
22 new file mode 100644
23 index 00000000000..369d2e1e9b5
24 --- /dev/null
25 +++ b/app-metrics/github-exporter/Manifest
26 @@ -0,0 +1,13 @@
27 +DIST github-exporter-04.tar.gz 7023 BLAKE2B a2502fab29f7d987e7fe02a739d9d3bcc34376315581830033dc99d9c16be0bca52a30b8f491682de34ded4732c9216a05e8bfc1d2ac6510a22bd752a50bb5b9 SHA512 4837d78d058e8adb110ced899a9d136eed86aa3facf7258a6d7b392a3a61aa827662e63f8bd64b0ca44e6ed78518a6ae669068018ffc18d3bb42d19f4fb364be
28 +DIST github.com-beorn7-perks-3a771d9.tar.gz 10800 BLAKE2B 5487155a4d010af70b6ea2625d10ae03b6642507902d7dc168edb5d7cf0efa1777b248d0df34ed1a2564950b12613256c1c6ce1d8c9723cc34977ed883b21c8d SHA512 c6aa5df262ab607c0a5f64372fc2fec1ddda9e5624e9d9a22cdd1bc11822c99736d88bdf5e3fc6050217b5084548417cb2926c3940e156da9397d828d59ce277
29 +DIST github.com-fatih-structs-878a968.tar.gz 14629 BLAKE2B 673a25a39cab677bd275ccaf14675a1fa7847d1a089ceaa20cc981ca01a1cbba597e94467e7accdd1a4319acd44c5d7bd0f6e2de0eebd7fe2f43cc6cc9a94271 SHA512 3c00f10e17e6dd818422a6b8e1ef5454b3dd9cc78da22c56ec3c474bd7a590bb3dd56e803c01882b52ce12a6a4deda7935bbb786c3cebc2e60b379337a884752
30 +DIST github.com-golang-crypto-ff983b9.tar.gz 1645106 BLAKE2B 3d7271479ef812761a02c1d20429800cd29706e802a8ccf57e916bdb8befc87a9b1b1a88d42adb764a32fa5f4c5f5a5e434af63812a5bcd3de625658792a49a3 SHA512 19746e84901c0749da544ba02c74c8ccabfee5f186a0d00509e54f20c191da9ea56844de988265f072af1fae671d78d741a44f782b8c1704c9da0441436c2122
31 +DIST github.com-golang-protobuf-347cf4a.tar.gz 329489 BLAKE2B 828678cee603917e7f4efee2dd0902730a73932b94b12d4f4b35f0fcecaa329cdc39c3fa9926ce3706f86cc52c0aa4984f68ee0943ecc6d9571b0175ff671ab0 SHA512 de4307b91923a6890ab2f8eaf2ed4f7f32a45a4a0cc7b0d6f53ce31c5fe3ed08f378072075456d2c99c89a3b5acbca315814b8e5ec70e6ceb0ca62f7013f618c
32 +DIST github.com-golang-sys-48ac38b.tar.gz 1219195 BLAKE2B b632d935ed84ace8ddad5308556ddcfcca7b572fd1f65d8b5c39e9ba2b884c79f5c150cc3efa920654661b0958d894fa23445701dcd1d35f0f49ff4dda3bccd4 SHA512 8cea014c67df943dd68bb8787719acc0925f967f2cef552ae52c595ca4eda38adeab6c92b868822e08601cca20a61f16b78426d8b9252932168ffbd0f2403859
33 +DIST github.com-infinityworks-go-common-7f20a14.tar.gz 4072 BLAKE2B 79a788813840c8361e80ff882fff680ed83d3fe8485c09856290f0fa183438770210be600a3d6ae0d62e1a1027a43a6eef184d5a4b5f38fec9c15d54f16d384e SHA512 a8bc3d11eead090807bd7b64a71d7b078836e807b2a18ebb8e1b1ef286e920e993d3fe734eeafeccd80c8644b4c466a73b1cf479a4932c84e0e5fc328e50fdd2
34 +DIST github.com-matttproud-golang_protobuf_extensions-c182aff.tar.gz 37541 BLAKE2B f78899afa1390aca6cb1b412271713c60107771d512ead83482e0bb1716d175b791b4b04bd24b7f469cc1a29176eadcf0545ac3bf166c5b350602420d3c05aec SHA512 141b1b781a4d1c59f5eb1af93c966343b80ed405a5f63774e6cda9f12c34536e892c7a84699d6cf2e9c775457a4c2ad5d5d0b4d302fc25a923ab81d46ad65580
35 +DIST github.com-prometheus-client_golang-d2ead25.tar.gz 131949 BLAKE2B 352e0ef2bd704f6c490e57520d415e89d950241c39f3cdf851524d4cca87c25c31bf2ffb77914981cb730cb474033f4551b50c5b6085e5e273c2d29aaab1f012 SHA512 ca89d613e8bc6cff928d9ce8d3d563c8277cb31756c66d8c0e6f6b6ce00c1405d10e465245ac63fd6889aeafae0d6914814384e94e127929fbcfd606a59e42a5
36 +DIST github.com-prometheus-client_model-f287a10.tar.gz 57203 BLAKE2B 2d56b90ced967f5f7a2c59bb330aaf8c56cf522091ee413ff27c22cb9e7d656080bd7d4dd2372938a873617054c7c98925e10fdc7996b136eaa4fd1b6482b734 SHA512 b4f900e725a638a7131eee1c6ff5bf550025b4d9e5bb2dd09149e91ce02a7aba458039c2162b6a1f9a6b6c7c8fc0fc29510b6c752caad51282a960d18860f960
37 +DIST github.com-prometheus-common-2998b13.tar.gz 87368 BLAKE2B fc6c6e197d4cc61afefa9fb8e3a8d6b36ab029f62e3cf9adf8359e4885554f94427f17218d45c90c9d7f4a6985b2e4143a4d304d39f806bd70d2c6f05de29bc2 SHA512 b2095da96596fc500ece6b331cda2558f8c813720853f2489aee3dec65de95eb13f7b0853e3812433fdc040f16990d2f05b2a6b8b41275210c504ff333ca625d
38 +DIST github.com-prometheus-procfs-b1a0a9a.tar.gz 61720 BLAKE2B 2f9b25506527aaf6e1bf560a1b680b958d1281acbaa2bb896bfea50b5b7de8992d10e8e812f8ae449ab67145c88179c15afe1f719851d1717b28963071088082 SHA512 5938b4a8fa9a5ee32be995fed0d0e6b26941765470aca4eda63a7c42db457e83da43fde2f33b2d4ded3545e5643f607ec7060406b0a1b15e64cc732bb2badd4a
39 +DIST github.com-sirupsen-logrus-eef6b76.tar.gz 38613 BLAKE2B 32ff02d46dcdf08b273c406323236b0750433bda16a5072e4161b166863f5a062817166dc871e15fb169bfdb95ff45f167bc30b2e259294e0a51111b8a78afd3 SHA512 e7ca358b72bebbf663af426a110cd8da22bf33e2ec14fb7337af75a1cdd4aecb371436b8cc83f04a52a52ced56c02a762b12c2fe5ae5e64d7aee261a7254b14e
40
41 diff --git a/app-metrics/github-exporter/files/github-exporter.confd b/app-metrics/github-exporter/files/github-exporter.confd
42 new file mode 100644
43 index 00000000000..35368901c8f
44 --- /dev/null
45 +++ b/app-metrics/github-exporter/files/github-exporter.confd
46 @@ -0,0 +1,14 @@
47 +# settings for github-exporter
48 +
49 +# I will list the required variables here, but there are several more.
50 +# Please see the README for all of them.
51 +
52 +# LISTEN_PORT specifies the port the exporter will use. Below is the default.
53 +# LISTEN_PORT=9171
54 +
55 +# ORGS should contain a list of github organizations you wish to monitor.
56 +# ORGS="org1,org2"
57 +
58 +# REPOS should contain a list of github repos you want tomonitor.
59 +# If neither ORGS nor REPOS is set, the exporter will refuse to run.
60 +# REPOS="user1/repo1,user2/repo2"
61
62 diff --git a/app-metrics/github-exporter/files/github-exporter.initd b/app-metrics/github-exporter/files/github-exporter.initd
63 new file mode 100644
64 index 00000000000..45ea133260a
65 --- /dev/null
66 +++ b/app-metrics/github-exporter/files/github-exporter.initd
67 @@ -0,0 +1,53 @@
68 +#!/sbin/openrc-run
69 +
70 +description="github exporter for Prometheus"
71 +command=/usr/bin/github-exporter
72 +command_background=yes
73 +command_user=${RC_SVCNAME}:${RC_SVCNAME}
74 +pidfile=/var/run/github-exporter.pid
75 +error_log="/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
76 +output_log="/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
77 +
78 +depend() {
79 + after net
80 +}
81 +
82 +start_pre() {
83 + local env_args
84 + if [ -z "${ORGS}" ] && [ -z "${REPOS}" ]; then
85 + eerror "ORGS and / or REPOS must be set."
86 + return 1
87 + fi
88 + if [ -n "${GITHUB_TOKEN}" ] && [ -n "${GITHUB_TOKEN_FILE}" ]; then
89 + eerror "Please set only one of GITHUB_TOKEN or GITHUB_TOKEN_FILE"
90 + return 1
91 + fi
92 + if [ -n "${API_URL}" ]; then
93 + env_args="${env_args} -e API_URL=${API_URL}"
94 + fi
95 + if [ -n "${GITHUB_TOKEN}" ]; then
96 + env_args="${env_args} -e GITHUB_TOKEN=${GITHUB_TOKEN}"
97 + elif [ -n "${GITHUB_TOKEN_FILE}" ]; then
98 + env_args="${env_args} -e GITHUB_TOKEN_FILE=${GITHUB_TOKEN_FILE}"
99 + fi
100 + if [ -z "${LISTEN_PORT}" ]; then
101 + env_args="${env_args} -e LISTEN_PORT=9171"
102 + else
103 + env_args="${env_args} -e LISTEN_PORT=${LISTEN_PORT}"
104 + fi
105 + if [ -n "${LOG_LEVEL}" ]; then
106 + env_args="${env_args} -e LOG_LEVEL=${LOG_LEVEL}"
107 + fi
108 + if [ -n "${METRICS_PATH}" ]; then
109 + env_args="${env_args} -e METRICS_PATH=${METRICS_PATH}"
110 + fi
111 + if [ -n "${ORGS}" ]; then
112 + env_args="${env_args} -e ORGS=${ORGS}"
113 + fi
114 + if [ -n "${REPOS}" ]; then
115 + env_args="${env_args} -e REPOS=${REPOS}"
116 + fi
117 + start_stop_daemon_args="${start_stop_daemon_args} ${env_args}"
118 + supervise_daemon_args="${supervise_daemon_args} ${env_args}"
119 + return 0
120 +}
121
122 diff --git a/app-metrics/github-exporter/github-exporter-04.ebuild b/app-metrics/github-exporter/github-exporter-04.ebuild
123 new file mode 100644
124 index 00000000000..6bc641ecb2f
125 --- /dev/null
126 +++ b/app-metrics/github-exporter/github-exporter-04.ebuild
127 @@ -0,0 +1,75 @@
128 +# Copyright 2019 Gentoo Authors
129 +# Distributed under the terms of the GNU General Public License v2
130 +
131 +EAPI=6
132 +EGO_PN=github.com/infinityworks/github-exporter
133 +
134 +EGO_VENDOR=(
135 + "github.com/beorn7/perks 3a771d9"
136 + "github.com/fatih/structs 878a968"
137 + "github.com/golang/protobuf 347cf4a"
138 + "github.com/infinityworks/go-common 7f20a14"
139 + "github.com/matttproud/golang_protobuf_extensions c182aff"
140 + "github.com/prometheus/client_golang d2ead25"
141 + "github.com/prometheus/client_model f287a10"
142 + "github.com/prometheus/common 2998b13"
143 + "github.com/prometheus/procfs b1a0a9a"
144 + "github.com/sirupsen/logrus eef6b76"
145 + "golang.org/x/crypto ff983b9 github.com/golang/crypto"
146 + "golang.org/x/sys 48ac38b github.com/golang/sys"
147 +)
148 +
149 +inherit golang-build golang-vcs-snapshot systemd
150 +
151 +DESCRIPTION="Github statistics exporter for prometheus"
152 +HOMEPAGE="https://github.com/infinityworks/github-exporter"
153 +SRC_URI="https://${EGO_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
154 + ${EGO_VENDOR_URI}"
155 +
156 +LICENSE="MIT"
157 +SLOT="0"
158 +KEYWORDS="~amd64"
159 +
160 +RESTRICT="strip"
161 +
162 +pkg_setup() {
163 + enewgroup ${PN}
164 + enewuser ${PN} -1 -1 -1 ${PN}
165 +}
166 +
167 +src_prepare() {
168 + default
169 + sed -i -e 's/infinityworksltd/infinityworks/' \
170 + "src/${EGO_PN}/main.go" \
171 + "src/${EGO_PN}/config/config.go" \
172 + "src/${EGO_PN}/exporter/structs.go" \
173 + || die "sed failed"
174 + sed -i -e 's/Sirupsen/sirupsen/' \
175 + "src/${EGO_PN}/main.go" \
176 + "src/${EGO_PN}/config/config.go" \
177 + "src/${EGO_PN}/exporter/gather.go" \
178 + "src/${EGO_PN}/exporter/http.go" \
179 + "src/${EGO_PN}/exporter/prometheus.go" \
180 + || die "sed failed"
181 +}
182 +
183 +src_compile() {
184 + set -- env GOPATH="${S}" go build -v "${EGO_PN}"
185 + echo "$@"
186 + "$@" || die "build failed"
187 +}
188 +
189 +src_install() {
190 + dobin ${PN}
191 + cd "src/${EGO_PN}" || die
192 +dodoc *.md
193 + newconfd "${FILESDIR}"/${PN}.confd ${PN}
194 + newinitd "${FILESDIR}"/${PN}.initd ${PN}
195 +}
196 +
197 +pkg_postinst() {
198 + if [[ -z "${REPLACING_VERSIONS}" ]]; then
199 + elog "Before you can use ${PN}, you must configure it in"
200 + elog "${EROOT}/etc/conf.d/${PN}"
201 + fi
202 +}
203
204 diff --git a/app-metrics/github-exporter/metadata.xml b/app-metrics/github-exporter/metadata.xml
205 new file mode 100644
206 index 00000000000..c36c37139fa
207 --- /dev/null
208 +++ b/app-metrics/github-exporter/metadata.xml
209 @@ -0,0 +1,8 @@
210 +<?xml version="1.0" encoding="UTF-8"?>
211 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
212 +<pkgmetadata>
213 + <maintainer type="person">
214 + <email>williamh@g.o</email>
215 + <name>William Hubbs</name>
216 + </maintainer>
217 +</pkgmetadata>