summaryrefslogtreecommitdiff
path: root/app-metrics/prometheus-lvm-exporter
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-12-27 02:09:02 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-12-27 02:09:02 +0000
commit65531d9c170398a321c546ea67946a932842217b (patch)
tree8e66963f21c4e75bb21506d2643d40a3151ed516 /app-metrics/prometheus-lvm-exporter
parent6dfd9c39ab68bbc917ffc374b2fa515f676f891f (diff)
gentoo auto-resync : 27:12:2022 - 02:09:02
Diffstat (limited to 'app-metrics/prometheus-lvm-exporter')
-rw-r--r--app-metrics/prometheus-lvm-exporter/Manifest6
-rw-r--r--app-metrics/prometheus-lvm-exporter/files/prometheus-lvm-exporter.confd26
-rw-r--r--app-metrics/prometheus-lvm-exporter/files/prometheus-lvm-exporter.initd49
-rw-r--r--app-metrics/prometheus-lvm-exporter/metadata.xml10
-rw-r--r--app-metrics/prometheus-lvm-exporter/prometheus-lvm-exporter-0.3.2.ebuild64
5 files changed, 155 insertions, 0 deletions
diff --git a/app-metrics/prometheus-lvm-exporter/Manifest b/app-metrics/prometheus-lvm-exporter/Manifest
new file mode 100644
index 000000000000..2e673255b567
--- /dev/null
+++ b/app-metrics/prometheus-lvm-exporter/Manifest
@@ -0,0 +1,6 @@
+AUX prometheus-lvm-exporter.confd 925 BLAKE2B 8a4ff61a3aaedf23de1f9a749f0c828c909a1296775de525f20ded48fa773fd34a2252ff3218e85e1ad18be09b1dc68ef4f284587b8494b24689f704810eead6 SHA512 65e3eb92ad83bad406fc0b4311041db7a2a0c4d55909a08593a7c59fd4b95417d133afd7bfe6e455e7ebbf05916ade1d80ce6d08e4a575f9939c4ff833a0a22c
+AUX prometheus-lvm-exporter.initd 1333 BLAKE2B 8a704630df2c4bb58e9431d65de3468d03f95e6c3861310f5191d42b13680162376fc40c858439343cc21fb171a083e1ffd5dc377a35cd9a0a7ba1c263471bd9 SHA512 de45af4d3a4333cbdbe54cb98d9cda506e69da1b249038931ff95b705e666aebcba667f3422b99225030aeeab95377305e9a7e0a506000bb67eeb576ca174b77
+DIST prometheus-lvm-exporter-0.3.2-vendor.tar.xz 1390560 BLAKE2B ab6fe8febeb972bf2a65dd05c6060bb584638dc4250f221353b7fcc3714cd5f56b8ef69c36fae67103bf57d66ca8000c70212fa3f82ed54ad7bcf0eaae63c822 SHA512 e320cdbe27841f69fad201e52a6b5a9acdd919b57c7e067506e6829e3cf11936a0ab21e817dedc6fa0c277ddae891412a10565d6dac8f859669e1a37cc760e86
+DIST prometheus-lvm-exporter-0.3.2.tar.gz 60790 BLAKE2B f6b79627e9114140cab72d34744e5667e1174dd2bc720866d398d48be03067a29e03305e8a22ef4d706b2261083ec6f108e6c8578b9e717bf7915f2412b3da41 SHA512 75f3cc65fc9196faff0796e9df85ea8f7e5d15a97e7e46d635802049ad11e499bc5f0fd0b6833d1028dc23435fb8d0c2523e7333fb76e291f3ff16e297c37973
+EBUILD prometheus-lvm-exporter-0.3.2.ebuild 1502 BLAKE2B 73bd2312cd869ebfcfd99ef821baf3fc2ce4c78e6bfdc6014107dcdbaef6161cce23366c7efea9d38f24e74efab284d7659a79e26696f7fb4a87be340d2b10e1 SHA512 c72b686015d1d68c3bccac2720981fa9c2b4777108c4b74d1c420b4b99fdb4df0ee90cbc4d74005925cb609ad973ff338e18329a0b327426f6bce607e154ddca
+MISC metadata.xml 314 BLAKE2B f1a569f2a68451b302aee5cef7e2e75fe0d0345d4f26f8f76bbe737f7c9e34644e825dc25ce32aa1c496b779600cc553ca4dd759963188c9521d0e50b90f82e5 SHA512 b934e990776ca0251a7f093ab7d90e186dd5299278c7a2b7e886970e6bf3255c55c44a24eb3309693c6ba64e50bb546a35b2de3123599bc047bfd9b876673027
diff --git a/app-metrics/prometheus-lvm-exporter/files/prometheus-lvm-exporter.confd b/app-metrics/prometheus-lvm-exporter/files/prometheus-lvm-exporter.confd
new file mode 100644
index 000000000000..6bcabc1df256
--- /dev/null
+++ b/app-metrics/prometheus-lvm-exporter/files/prometheus-lvm-exporter.confd
@@ -0,0 +1,26 @@
+# /etc/conf.d/prometheus-lvm-exporter
+
+# PID file
+#EXPORTER_PIDFILE="/run/${RC_SVCNAME}.pid"
+
+# The termination timeout (start-stop-daemon parameter "retry") ensures
+# that the service will be terminated within a given time (60 + 5 seconds
+# per default) when you are stopping the service.
+#EXPORTER_TERMTIMEOUT="TERM/60/KILL/5"
+
+# User to run exporter as
+#EXPORTER_USER="prometheus-lvm-exporter"
+
+# User group to run exporter as
+#EXPORTER_GROUP="prometheus-lvm-exporter"
+
+# You can use this configuration option to pass additional options to the
+# start-stop-daemon, see start-stop-daemon(8) for more details.
+# Per default we wait 1000ms after we have started the service to ensure
+# that the daemon is really up and running.
+#EXPORTER_SSDARGS="--wait 1000"
+
+# Exporter flags
+# See `prometheus-lvm-exporter --help` for more details
+EXPORTER_FLAGS="--log.level=info"
+#EXPORTER_FLAGS="${EXPORTER_FLAGS} --yourAdditionalFlag"
diff --git a/app-metrics/prometheus-lvm-exporter/files/prometheus-lvm-exporter.initd b/app-metrics/prometheus-lvm-exporter/files/prometheus-lvm-exporter.initd
new file mode 100644
index 000000000000..1fa73569ac7b
--- /dev/null
+++ b/app-metrics/prometheus-lvm-exporter/files/prometheus-lvm-exporter.initd
@@ -0,0 +1,49 @@
+#!/sbin/openrc-run
+# Copyright 2016-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Prometheus exporter for LVM metrics"
+
+EXPORTER_FLAGS=${EXPORTER_FLAGS:-""}
+#EXPORTER_USER=${EXPORTER_USER:-"prometheus-lvm-exporter"}
+#EXPORTER_GROUP=${EXPORTER_GROUP:-"prometheus-lvm-exporter"}
+EXPORTER_PIDFILE=${EXPORTER_PIDFILE:-"/run/${RC_SVCNAME}.pid"}
+EXPORTER_SSDARGS=${EXPORTER_SSDARGS:-"--wait 1000"}
+EXPORTER_TERMTIMEOUT=${EXPORTER_TERMTIMEOUT:-"TERM/60/KILL/5"}
+
+command="/usr/bin/prometheus-lvm-exporter"
+command_args="${EXPORTER_FLAGS}"
+command_background="true"
+start_stop_daemon_args="${EXPORTER_SSDARGS}"
+start_stop_daemon_args="${start_stop_daemon_args} ${EXPORTER_USER:+--user }${EXPORTER_USER}"
+start_stop_daemon_args="${start_stop_daemon_args} ${EXPORTER_GROUP:+--group }${EXPORTER_GROUP}"
+
+getconfig() {
+ local key="$1"
+ local value_default="$2"
+ local value=
+
+ if service_started; then
+ value="$(service_get_value "${key}")"
+ fi
+
+ if [ -z "${value}" ]; then
+ # Value not explicitly set
+ echo "${value_default}"
+ else
+ echo "${value}"
+ fi
+
+ return 0
+}
+
+pidfile="$(getconfig pidfile ${EXPORTER_PIDFILE})"
+retry="$(getconfig retry ${EXPORTER_TERMTIMEOUT})"
+
+depend() {
+ after net lvm lvm-monitoring
+}
+
+start_post() {
+ service_set_value retry "${EXPORTER_TERMTIMEOUT}"
+}
diff --git a/app-metrics/prometheus-lvm-exporter/metadata.xml b/app-metrics/prometheus-lvm-exporter/metadata.xml
new file mode 100644
index 000000000000..1b74e7a99779
--- /dev/null
+++ b/app-metrics/prometheus-lvm-exporter/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>robbat2@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">hansmi/prometheus-lvm-exporter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-metrics/prometheus-lvm-exporter/prometheus-lvm-exporter-0.3.2.ebuild b/app-metrics/prometheus-lvm-exporter/prometheus-lvm-exporter-0.3.2.ebuild
new file mode 100644
index 000000000000..0edb7138c79d
--- /dev/null
+++ b/app-metrics/prometheus-lvm-exporter/prometheus-lvm-exporter-0.3.2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit go-module
+# uncomment the first setting of MY_PV for a normal release
+# MY_PV="v${PV/_rc/-rc.}"
+# set MY_PV to the full commit hash for a snapshot release
+MY_PV_HASH=
+HOMEPAGE="https://github.com/hansmi/prometheus-lvm-exporter"
+if [[ -n "${MY_PV_HASH}" ]]; then
+ MY_PV=${MY_PV_HASH}
+ MYSQLD_EXPORTER_COMMIT=${MY_PV_HASH:0:8}
+ SRC_URI_UPSTREAM="${HOMEPAGE}/archive/${MY_PV}.tar.gz"
+else
+ MY_PV=${PV}
+ MYSQLD_EXPORTER_COMMIT=
+ SRC_URI_UPSTREAM="${HOMEPAGE}/archive/refs/tags/v${PV}.tar.gz"
+fi
+MY_P=${PN}-${MY_PV}
+SRC_URI_VENDOR="https://dev.gentoo.org/~robbat2/distfiles/${MY_P}-vendor.tar.xz"
+
+DESCRIPTION="Prometheus exporter for LVM metrics"
+SRC_URI="
+ ${SRC_URI_UPSTREAM} -> ${P}.tar.gz
+ ${SRC_URI_VENDOR}
+ "
+
+LICENSE="Apache-2.0 BSD MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+BDEPEND=""
+DEPEND=""
+# lvm is explicitly not included here; this could be installed before it safely.
+RDEPEND=""
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+PATCHES=( )
+
+src_prepare() {
+ default
+ sed -i -e '/kingpin.Flag.*\<command\>.*/s,/usr/sbin/lvm,/sbin/lvm,g' "${S}"/main.go || die
+}
+
+src_compile() {
+ default
+ go build .
+}
+
+src_install() {
+ default
+ dobin ${PN}
+ dodoc README.md
+
+ # TODO: more secure config would be a dedicated user AND a sudo command, so
+ # the daemon can run 'sudo lvm ...'.
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
+
+src_test() {
+ go test .
+}