diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-12 19:09:37 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-12 19:09:37 -0500 |
| commit | b590c8d7572b727d565cc0b8ff660d43569845de (patch) | |
| tree | 06f7a4102ea4e845df8b66660f252920d52952f9 /app-metrics | |
| parent | 24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff) | |
| download | baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip | |
Adding metadata
Diffstat (limited to 'app-metrics')
259 files changed, 7670 insertions, 0 deletions
diff --git a/app-metrics/alertmanager/Manifest b/app-metrics/alertmanager/Manifest new file mode 100644 index 000000000000..45654f586dfb --- /dev/null +++ b/app-metrics/alertmanager/Manifest @@ -0,0 +1,6 @@ +DIST alertmanager-0.24.0-deps.tar.xz 194175652 BLAKE2B 01095b5a4f6edee4c30f97f2ed3f949149885118532d421da8ac87fdee58cc65278ad9cebd07defb67006ff4acc1043505017e8fcbdf1d989d054584aeb21c14 SHA512 8170c3f27691b5a59f2e9a1d7f4cfb323cd0137eb4a604f224012e9a0065dca956e2d9ee9e138cc5061b561bcdc2d8329dbbb0beafa18274eaed81cbdd73fe97 +DIST alertmanager-0.24.0.tar.gz 2135257 BLAKE2B 5726595a14da5e228cd5704dc2aa3518a86d1e07ff6ce886ddcf3b8621d3112d10899c6fa6df3004b2a46017d07f28587ac815e8f9ef03aff3e8bfcee793e96f SHA512 97147f15c8879eacc2744a11a1db0edd04f532650b3e8f397e8ab6f7f4868203f212d1c33f596aa52876e190db84247a60b39b25a72fbceabcc5b3efae0eb920 +DIST alertmanager-0.26.0-deps.tar.xz 93946412 BLAKE2B 65d0b53bdd011c12f5a78daa046e8d8e27a43f66027eaa764e6a758208ffad8c1cac890fc2a5fe8b972186d313f8f7fd1028ea0528d2e1719e0bdafaf5467dc7 SHA512 f85567c2d2c698dcf58a0669e5b501fecddc8eb4d2248d9ddc0dd3a947c0bcdeef230592f3700ee0c181823338bae2463dc064c8843f414609ba2952155b33f7 +DIST alertmanager-0.26.0.tar.gz 2176877 BLAKE2B bb22c57c39dcb00f08f4e24d09f07fce3f59e1ce31cde8b439bb44fd7c6349ab3ebf5371db9bec97574836ed941ba57f5c69d6f5857062a365fda01618d1c594 SHA512 b5568f0cebe487b5c81b56febad30bbe84918ed0e3e8be2ecd7820d13d7c5373b17e00238a9817072c59040a5618307811280ac00ef6efa3e3439f9f3378f464 +DIST alertmanager-0.28.0-deps.tar.xz 69823876 BLAKE2B 679ead2f3e19c2e49bad4c9eaf1eef79139cc35ef41ee6d7c50b4de4b0b2956a2a07f41cf06198af30a5c671b8c22ac2e4364492b0e63f1cea2d949b25223912 SHA512 694e009aa76fd301a9521eb673c6c6785097543218ee70566a387d8a1c657959cad1e66afc159b446c8d3ff9d555439d5e0f2569f3fc6d6ed7143060c790c7d7 +DIST alertmanager-0.28.0.tar.gz 2908067 BLAKE2B 9ca40011c306c07615cd975b6102a6f02f6c8d6310fc9e454e94c01b46b0b408dd863143171aab6806df70d8a9a0bddde4257c5fe55722b85622965a605017f2 SHA512 3da9aa60ff12240113444beaea53bdeee825f049543e26f8bca276e01952ce4cd63f18b893d5bff15af4d8cb86a0820a1f1405ebffc61c2c4dcf0ea019f91859 diff --git a/app-metrics/alertmanager/alertmanager-0.24.0.ebuild b/app-metrics/alertmanager/alertmanager-0.24.0.ebuild new file mode 100644 index 000000000000..3a3cce2d4491 --- /dev/null +++ b/app-metrics/alertmanager/alertmanager-0.24.0.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module systemd +GIT_COMMIT=f484b17f +MY_PV="${PV/_rc/-rc.}" + +DESCRIPTION="Alertmanager for alerts sent by client applications such as Prometheus" +HOMEPAGE="https://github.com/prometheus/alertmanager" +SRC_URI="https://github.com/prometheus/alertmanager/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="Apache-2.0 BSD BSD-2 MIT MPL-2.0" +SLOT="0" +KEYWORDS="amd64" + +RESTRICT+=" test" + +BDEPEND="dev-util/promu" + +DEPEND=" + acct-group/alertmanager + acct-user/alertmanager" + RDEPEND="${DEPEND}" + +src_prepare() { + default + sed -i -e "s/{{.Revision}}/${GIT_COMMIT}/" .promu.yml || die +} + +src_compile() { + promu build -v --prefix bin || die +} + +src_install() { + dobin bin/* + dodoc {README,CHANGELOG}.md + insinto /etc/alertmanager/ + newins doc/examples/simple.yml config.yml + keepdir /var/lib/alertmanager /var/log/alertmanager + systemd_dounit "${FILESDIR}"/alertmanager.service + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + fowners ${PN}:${PN} /etc/alertmanager /var/lib/alertmanager /var/log/alertmanager +} diff --git a/app-metrics/alertmanager/alertmanager-0.26.0.ebuild b/app-metrics/alertmanager/alertmanager-0.26.0.ebuild new file mode 100644 index 000000000000..27e863cd07fa --- /dev/null +++ b/app-metrics/alertmanager/alertmanager-0.26.0.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module systemd +GIT_COMMIT=d7b4f0c7 +MY_PV="${PV/_rc/-rc.}" + +DESCRIPTION="Alertmanager for alerts sent by client applications such as Prometheus" +HOMEPAGE="https://github.com/prometheus/alertmanager" +SRC_URI="https://github.com/prometheus/alertmanager/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="Apache-2.0 BSD BSD-2 MIT MPL-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm64" + +RESTRICT+=" test" + +BDEPEND="dev-util/promu" + +DEPEND=" + acct-group/alertmanager + acct-user/alertmanager" + RDEPEND="${DEPEND}" + +src_prepare() { + default + sed -i -e "s/{{.Revision}}/${GIT_COMMIT}/" .promu.yml || die +} + +src_compile() { + promu build -v --prefix bin || die +} + +src_install() { + dobin bin/* + dodoc {README,CHANGELOG}.md + insinto /etc/alertmanager/ + newins doc/examples/simple.yml config.yml + keepdir /var/lib/alertmanager /var/log/alertmanager + systemd_dounit "${FILESDIR}"/alertmanager.service + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + fowners ${PN}:${PN} /etc/alertmanager /var/lib/alertmanager /var/log/alertmanager +} diff --git a/app-metrics/alertmanager/alertmanager-0.28.0.ebuild b/app-metrics/alertmanager/alertmanager-0.28.0.ebuild new file mode 100644 index 000000000000..0b641f94c07a --- /dev/null +++ b/app-metrics/alertmanager/alertmanager-0.28.0.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module systemd + +GIT_COMMIT=4ce04fb0 +MY_PV="${PV/_rc/-rc.}" + +DESCRIPTION="Alertmanager for alerts sent by client applications such as Prometheus" +HOMEPAGE="https://github.com/prometheus/alertmanager" +SRC_URI="https://github.com/prometheus/alertmanager/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="Apache-2.0 BSD BSD-2 MIT MPL-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm64" + +RESTRICT+=" test" + +BDEPEND="dev-util/promu" + +DEPEND=" + acct-group/alertmanager + acct-user/alertmanager" + RDEPEND="${DEPEND}" + +src_prepare() { + default + sed -i -e "s/{{.Revision}}/${GIT_COMMIT}/" .promu.yml || die +} + +src_compile() { + promu build -v --prefix bin || die +} + +src_install() { + dobin bin/* + dodoc {README,CHANGELOG}.md + insinto /etc/alertmanager/ + newins doc/examples/simple.yml config.yml + keepdir /var/lib/alertmanager /var/log/alertmanager + systemd_dounit "${FILESDIR}"/alertmanager.service + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + fowners ${PN}:${PN} /etc/alertmanager /var/lib/alertmanager /var/log/alertmanager +} diff --git a/app-metrics/alertmanager/files/alertmanager.confd b/app-metrics/alertmanager/files/alertmanager.confd new file mode 100644 index 000000000000..57c769e41a76 --- /dev/null +++ b/app-metrics/alertmanager/files/alertmanager.confd @@ -0,0 +1,2 @@ +# arguments for prometheus alertmanager +command_args="--config.file=/etc/alertmanager/config.yml --storage.path=/var/lib/alertmanager" diff --git a/app-metrics/alertmanager/files/alertmanager.initd b/app-metrics/alertmanager/files/alertmanager.initd new file mode 100644 index 000000000000..5d625ac57bb8 --- /dev/null +++ b/app-metrics/alertmanager/files/alertmanager.initd @@ -0,0 +1,28 @@ +#!/sbin/openrc-run +# Copyright 2016-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Prometheus alertmanager" +pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"} +user=${user:-${RC_SVCNAME}} +group=${group:-${RC_SVCNAME}} + +command="/usr/bin/alertmanager" +command_args="${command_args:---config.file=/etc/alertmanager/config.yml --storage.path=/var/lib/alertmanager}" +command_background="true" +start_stop_daemon_args="--user ${user} --group ${group} \ + --stdout /var/log/alertmanager/${RC_SVCNAME}.log \ + --stderr /var/log/alertmanager/${RC_SVCNAME}.log" + +extra_started_commands="reload" + +depend() { + after net +} + +reload() { + ebegin "Reloading ${SVCNAME}" + start-stop-daemon --signal HUP --pidfile "${pidfile}" + eend $? "Failed to stop ${SVCNAME}" +} + diff --git a/app-metrics/alertmanager/files/alertmanager.service b/app-metrics/alertmanager/files/alertmanager.service new file mode 100644 index 000000000000..b97976dd8dc8 --- /dev/null +++ b/app-metrics/alertmanager/files/alertmanager.service @@ -0,0 +1,28 @@ +[Unit] +Description=Alertmanager for prometheus +Documentation=https://prometheus.io/docs/alerting/alertmanager/ +Requires=network-online.target +After=network-online.target + +[Service] +User=alertmanager +ExecStart=/usr/bin/alertmanager --cluster.listen-address= --config.file=/etc/alertmanager/config.yml --storage.path=/var/lib/alertmanager/ +ExecReload=/bin/kill -HUP $MAINPID + +NoNewPrivileges=true +ProtectHome=true +ProtectSystem=full +ProtectHostname=true +ProtectControlGroups=true +ProtectKernelModules=true +ProtectKernelTunables=true +LockPersonality=true +PrivateTmp=true +PrivateDevices=True +RestrictRealtime=true +CapabilityBoundingSet= +SystemCallArchitectures=native +MemoryDenyWriteExecute=true + +[Install] +WantedBy=multi-user.target diff --git a/app-metrics/alertmanager/metadata.xml b/app-metrics/alertmanager/metadata.xml new file mode 100644 index 000000000000..654e042edf6e --- /dev/null +++ b/app-metrics/alertmanager/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <upstream> + <remote-id type="cpe">cpe:/a:prometheus:alertmanager</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/bind_exporter/Manifest b/app-metrics/bind_exporter/Manifest new file mode 100644 index 000000000000..119452926740 --- /dev/null +++ b/app-metrics/bind_exporter/Manifest @@ -0,0 +1,2 @@ +DIST bind_exporter-0.8.0-deps.tar.xz 40418500 BLAKE2B 68150ebd654de67b00ecf75acb846dca37a647149b1a53c9fc8d1b26ea6d0807d1690d721cb14c9f4411cc592454465664e7754e822934a302e08c81d7c57a4c SHA512 a6540110d1bba9c08caa4c0f9682a22e29a0058a38adfd0984f97cb214ff245f801cbc01fd962029493329679dbb955e1f1f498b687c8a750080434fa7ab7686 +DIST bind_exporter-0.8.0.tar.gz 43098 BLAKE2B d6a1ecf0cd42509aac8f8755c55f9a405d549a4de60ae45ebdf9933b0be73986e24fbffd3b255445c4121ca762e672e76d0629910c6e116e245136ba16e436b5 SHA512 2b54ceed99ad386d699961a821bd0f1061f487536029cfa5dd1192c9cb6fc485bbf4a82548c8dcd70c602e7e38e905cbe24968649923eede77be7dc7aaf05cc6 diff --git a/app-metrics/bind_exporter/bind_exporter-0.8.0.ebuild b/app-metrics/bind_exporter/bind_exporter-0.8.0.ebuild new file mode 100644 index 000000000000..a04e9f6b08b3 --- /dev/null +++ b/app-metrics/bind_exporter/bind_exporter-0.8.0.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo go-module systemd + +GIT_COMMIT=5cc1b62b9c866184193007a0f7ec3b2eb31460bf + +DESCRIPTION="Prometheus exporter for BIND" +HOMEPAGE="https://github.com/prometheus-community/bind_exporter" +SRC_URI=" + https://github.com/prometheus-community/bind_exporter/archive/refs/tags/v${PV}.tar.gz + -> ${P}.tar.gz +" +SRC_URI+=" https://dev.gentoo.org/~arthurzam/distfiles/app-metrics/${PN}/${P}-deps.tar.xz" + +LICENSE="Apache-2.0 BSD MIT" +SLOT="0" +KEYWORDS="amd64" + +DEPEND=" + acct-group/bind_exporter + acct-user/bind_exporter +" +RDEPEND="${DEPEND}" +BDEPEND="dev-util/promu" + +src_prepare() { + default + sed -i .promu.yml -e "s/{{.Revision}}/${GIT_COMMIT}/" || die +} + +src_compile() { + mkdir -p bin || die + edo promu build -v --prefix bin +} + +src_test() { + emake test-flags= test +} + +src_install() { + dobin bin/${PN} + dodoc {README,CHANGELOG}.md + + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + systemd_dounit "${FILESDIR}"/${PN}.service + keepdir /var/log/${PN} + fowners ${PN}:${PN} /var/log/${PN} +} + +pkg_postinst() { + elog "Make sure BIND was built with libxml2 support. You can check with the" + elog "following command: named -V | grep libxml2." + elog "Configure BIND to open a statistics channel. It's recommended to run" + elog "the bind_exporter next to BIND, so it's only necessary to open a port" + elog "locally." + elog "" + elog "statistics-channels {" + elog "inet 127.0.0.1 port 8053 allow { 127.0.0.1; };" + elog "};" +} diff --git a/app-metrics/bind_exporter/files/bind_exporter.confd b/app-metrics/bind_exporter/files/bind_exporter.confd new file mode 100644 index 000000000000..e1cc826703e4 --- /dev/null +++ b/app-metrics/bind_exporter/files/bind_exporter.confd @@ -0,0 +1,2 @@ +# arguments for prometheus bind exporter +command_args="" diff --git a/app-metrics/bind_exporter/files/bind_exporter.initd b/app-metrics/bind_exporter/files/bind_exporter.initd new file mode 100644 index 000000000000..1167b2430573 --- /dev/null +++ b/app-metrics/bind_exporter/files/bind_exporter.initd @@ -0,0 +1,19 @@ +#!/sbin/openrc-run +# Copyright 2016-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Prometheus bind exporter" +pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"} +user=${user:-${RC_SVCNAME}} +group=${group:-${RC_SVCNAME}} + +command="/usr/bin/bind_exporter" +command_args="${command_args:-}" +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() { + after net +} diff --git a/app-metrics/bind_exporter/files/bind_exporter.service b/app-metrics/bind_exporter/files/bind_exporter.service new file mode 100644 index 000000000000..ad2a237a061a --- /dev/null +++ b/app-metrics/bind_exporter/files/bind_exporter.service @@ -0,0 +1,11 @@ +[Unit] +Description=Bind Exporter +Documentation="https://github.com/prometheus-community/bind_exporter" + +[Service] +User=bind_exporter +EnvironmentFile=/etc/sysconfig/bind_exporter +ExecStart=/usr/sbin/bind_exporter $OPTIONS + +[Install] +WantedBy=multi-user.target diff --git a/app-metrics/bind_exporter/metadata.xml b/app-metrics/bind_exporter/metadata.xml new file mode 100644 index 000000000000..17492b5107c4 --- /dev/null +++ b/app-metrics/bind_exporter/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/blackbox_exporter/Manifest b/app-metrics/blackbox_exporter/Manifest new file mode 100644 index 000000000000..93da8ebf138b --- /dev/null +++ b/app-metrics/blackbox_exporter/Manifest @@ -0,0 +1,4 @@ +DIST blackbox_exporter-0.24.0-deps.tar.xz 44271112 BLAKE2B acda81de9f45e7558c554566cef767c25ba59788ff31859bca16bb6bb8e64a8e7405969482ce96d64ee7df425264a253b6ca5364b91795b77a785d7d304a1964 SHA512 21e2c709ee44d4aedf796fd9a8d2eccd884978ccd770e1776653e7c5cc16a885f3f985b59705f4862d71520b9e78bce7d7fdb876531c27ccf8d9cf13da14febd +DIST blackbox_exporter-0.24.0.tar.gz 69061 BLAKE2B a82137bfe8b911468ec05360f69a612e3bf2bb4094ce0d44b7499345484159beac06fc0d7f657ff4982b839d2d90759c04590eea1f3192a1e84d3dfb9a3ccfa8 SHA512 0c2c19d5a44465838d17c46318804416d32ed229c9d882d064559c2fec41d82029d0f5b7e5c8e6fb6e3473c41b53ae2a4a6c6e65ffacac3afe4263a48c698c29 +DIST blackbox_exporter-0.25.0-deps.tar.xz 13647408 BLAKE2B 2f1f59eb2019931748632cc2d721bf2b69e885709432720328d02ef8ab738366b2a35816d742e8548167705ca7ab29e5f6ae0f1fba4a47c59ec975e5d891bb7c SHA512 dfc829910424067b7cbd1be5357f5a0fe51b1113d9928755689dc0857bb06b2ed68e3eda879ea7b5a82d45117646005cd3aac0e9b8bd91a917b797f7daa88ca0 +DIST blackbox_exporter-0.25.0.tar.gz 71065 BLAKE2B fccbd67ca02ab9e491974616348179ff35a30dcdfdab1ff252b2691743c7992bf29fba7802c2f8ebcb6d4c42fa8724e520b7ca05835b32ada5d11630b1c93130 SHA512 86edb5c6aac213c5d5821ee58233a72043ac6abe5c5b2a8695f33160127d7126ab27de1d83fdd99d3053447efae41d2ba260bff7c84687dcea30df6439970630 diff --git a/app-metrics/blackbox_exporter/blackbox_exporter-0.24.0.ebuild b/app-metrics/blackbox_exporter/blackbox_exporter-0.24.0.ebuild new file mode 100644 index 000000000000..75990f9a088e --- /dev/null +++ b/app-metrics/blackbox_exporter/blackbox_exporter-0.24.0.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit fcaps go-module systemd +GIT_COMMIT=0dd0455 +MY_PV="v${PV/_rc/-rc.}" + +DESCRIPTION="Prometheus exporter for blackbox probing via HTTP, HTTPS, DNS, TCP and ICMP" +HOMEPAGE="https://github.com/prometheus/blackbox_exporter" +SRC_URI="https://github.com/prometheus/blackbox_exporter/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~ajak/dist/${CATEGORY}/${PN}/${P}-deps.tar.xz" + +LICENSE="Apache-2.0 BSD BSD-2 MIT" +SLOT="0" +KEYWORDS="amd64" + +COMMON_DEPEND="acct-group/blackbox_exporter + acct-user/blackbox_exporter" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND}" +BDEPEND="dev-util/promu" + +FILECAPS=( + cap_net_raw usr/bin/blackbox_exporter +) + +# tests require the network +RESTRICT+=" test " + +src_prepare() { + default + sed -i \ + -e "s/{{.Branch}}/Head/" \ + -e "s/{{.Revision}}/${GIT_COMMIT}/" \ + -e "s/{{.Version}}/${PV}/" .promu.yml || die +} + +src_compile() { + promu build -v --prefix bin || die +} + +src_install() { + newbin bin/${P} ${PN} + dodoc {README,CHANGELOG,CONFIGURATION}.md blackbox.yml + insinto /etc/blackbox_exporter + newins example.yml blackbox.yml + keepdir /var/lib/blackbox_exporter /var/log/blackbox_exporter + systemd_dounit "${FILESDIR}"/blackbox_exporter.service + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}/${PN}.logrotated" "${PN}" + fowners ${PN}:${PN} /var/lib/blackbox_exporter /var/log/blackbox_exporter +} diff --git a/app-metrics/blackbox_exporter/blackbox_exporter-0.25.0.ebuild b/app-metrics/blackbox_exporter/blackbox_exporter-0.25.0.ebuild new file mode 100644 index 000000000000..86d760ce08c0 --- /dev/null +++ b/app-metrics/blackbox_exporter/blackbox_exporter-0.25.0.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit fcaps go-module systemd +GIT_COMMIT=ef3ff4f +MY_PV="v${PV/_rc/-rc.}" + +DESCRIPTION="Prometheus exporter for blackbox probing via HTTP, HTTPS, DNS, TCP and ICMP" +HOMEPAGE="https://github.com/prometheus/blackbox_exporter" +SRC_URI="https://github.com/prometheus/blackbox_exporter/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="Apache-2.0 BSD BSD-2 MIT" +SLOT="0" +KEYWORDS="amd64" + +COMMON_DEPEND="acct-group/blackbox_exporter + acct-user/blackbox_exporter" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND}" +BDEPEND="dev-util/promu" + +FILECAPS=( + cap_net_raw usr/bin/blackbox_exporter +) + +# tests require the network +RESTRICT+=" test " + +src_prepare() { + default + sed -i \ + -e "s/{{.Branch}}/Head/" \ + -e "s/{{.Revision}}/${GIT_COMMIT}/" \ + -e "s/{{.Version}}/${PV}/" .promu.yml || die +} + +src_compile() { + promu build -v --prefix bin || die +} + +src_install() { + newbin bin/${P} ${PN} + dodoc {README,CHANGELOG,CONFIGURATION}.md blackbox.yml + insinto /etc/blackbox_exporter + newins example.yml blackbox.yml + keepdir /var/lib/blackbox_exporter /var/log/blackbox_exporter + systemd_dounit "${FILESDIR}"/blackbox_exporter.service + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}/${PN}.logrotated" "${PN}" + fowners ${PN}:${PN} /var/lib/blackbox_exporter /var/log/blackbox_exporter +} diff --git a/app-metrics/blackbox_exporter/files/blackbox_exporter.confd b/app-metrics/blackbox_exporter/files/blackbox_exporter.confd new file mode 100644 index 000000000000..39887477dff9 --- /dev/null +++ b/app-metrics/blackbox_exporter/files/blackbox_exporter.confd @@ -0,0 +1,2 @@ +# arguments for prometheus blackbox exporter +command_args="--config.file=/etc/blackbox_exporter/blackbox.yml" diff --git a/app-metrics/blackbox_exporter/files/blackbox_exporter.initd b/app-metrics/blackbox_exporter/files/blackbox_exporter.initd new file mode 100644 index 000000000000..ab001d41abe9 --- /dev/null +++ b/app-metrics/blackbox_exporter/files/blackbox_exporter.initd @@ -0,0 +1,19 @@ +#!/sbin/openrc-run +# Copyright 2016-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Prometheus blackbox exporter" +pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"} +user=${user:-${RC_SVCNAME}} +group=${group:-${RC_SVCNAME}} + +command="/usr/bin/blackbox_exporter" +command_args="${command_args:---config.file=/etc/blackbox_exporter/blackbox.yml}" +command_background="true" +start_stop_daemon_args="--user ${user} --group ${group} \ + --stdout /var/log/blackbox_exporter/${RC_SVCNAME}.log \ + --stderr /var/log/blackbox_exporter/${RC_SVCNAME}.log" + +depend() { + after net +} diff --git a/app-metrics/blackbox_exporter/files/blackbox_exporter.logrotated b/app-metrics/blackbox_exporter/files/blackbox_exporter.logrotated new file mode 100644 index 000000000000..03eb13a13873 --- /dev/null +++ b/app-metrics/blackbox_exporter/files/blackbox_exporter.logrotated @@ -0,0 +1,7 @@ +/var/log/blackbox_exporter/blackbox_exporter.log { + missingok + size 5M + rotate 3 + compress + copytruncate +} diff --git a/app-metrics/blackbox_exporter/files/blackbox_exporter.service b/app-metrics/blackbox_exporter/files/blackbox_exporter.service new file mode 100644 index 000000000000..a29ee2b7c24a --- /dev/null +++ b/app-metrics/blackbox_exporter/files/blackbox_exporter.service @@ -0,0 +1,29 @@ +[Unit] +Description=Prometheus blackbox Exporter +After=network.target + +[Service] +User=blackbox_exporter +Group=blackbox_exporter +ExecStart=/usr/bin/blackbox_exporter --config.file="/etc/blackbox_exporter/blackbox.yml" +ExecReload=/bin/kill -HUP $MAINPID +DynamicUser=true + +NoNewPrivileges=true +ProtectSystem=full +ProtectKernelModules=true +ProtectKernelTunables=true +PrivateTmp=true +LockPersonality=true +ProtectHostname=true +ProtectHome=true +ProtectControlGroups=true +ProtectKernelLogs=true +PrivateDevices=true +RestrictRealtime=true +CapabilityBoundingSet= +MemoryDenyWriteExecute=true +CapabilityBoundingSet=CAP_NET_RAW +AmbientCapabilities=CAP_NET_RAW + +[Install] diff --git a/app-metrics/blackbox_exporter/metadata.xml b/app-metrics/blackbox_exporter/metadata.xml new file mode 100644 index 000000000000..b7b884d552f7 --- /dev/null +++ b/app-metrics/blackbox_exporter/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <upstream> + <remote-id type="cpe">cpe:/a:prometheus:blackbox_exporter</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/carbonapi-booking/Manifest b/app-metrics/carbonapi-booking/Manifest new file mode 100644 index 000000000000..62f1090c5598 --- /dev/null +++ b/app-metrics/carbonapi-booking/Manifest @@ -0,0 +1,2 @@ +DIST carbonapi-booking-0.3.0.tar.gz 1395080 BLAKE2B e5ebe20a4833f17919f0a14e091b06b5270d7dd8880fa87600454ac33b7df7600d1428f0b2e06c65a1a36796e2eb026e8c47b98444dce168cec0e965ebee9d69 SHA512 327af89fd86661ccca9d7250e70b66f03089841b20e3c51128bcbb835a91d553d952928d991424f9bbe1fea235cd9e6242784d8cbd828725ba5b2cfb64328487 +DIST carbonapi-booking-0.3.0_p20250201.tar.gz 4408797 BLAKE2B 617012a5ff6387bf0730a14774297794db1d72be40cef2a9aa038f8dcfc40c9f623e7436921f73e27c26a8dcdfbb92cd794ca2390e94a942b69f0f9c69499b1a SHA512 16cb94f644e2d3e84cafaf005a3aab8b48b076468ddee7ea65a353438a693d254e4d6e68816b2fc78dce57e9b67f08eda4b896cf6cfe2505a7fbc932600840f8 diff --git a/app-metrics/carbonapi-booking/carbonapi-booking-0.3.0-r1.ebuild b/app-metrics/carbonapi-booking/carbonapi-booking-0.3.0-r1.ebuild new file mode 100644 index 000000000000..cb8dd0c332a6 --- /dev/null +++ b/app-metrics/carbonapi-booking/carbonapi-booking-0.3.0-r1.ebuild @@ -0,0 +1,57 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module + +MY_PN=${PN%-booking} +DESCRIPTION="High-performance Graphite front-end, Booking.com fork" +HOMEPAGE="https://github.com/bookingcom/carbonapi" +SRC_URI="https://github.com/bookingcom/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +S="${WORKDIR}/${MY_PN}-${PV}" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=" + app-arch/bzip2 + dev-libs/expat + media-libs/fontconfig + media-libs/freetype + media-libs/libpng + x11-libs/cairo + x11-libs/libX11 + x11-libs/libXau + x11-libs/libxcb + x11-libs/libXdmcp + x11-libs/libXext + x11-libs/libXrender + x11-libs/pixman +" +RDEPEND="${DEPEND} + acct-group/carbon + acct-user/carbon" + +src_prepare() { + export VERSION="gentoo-${PVR}" + + # bug 904051: disable data-race detection, conflicts with + # go-module's -buildmode=pie + sed -i -e 's/ -race / /' Makefile || die + + eapply "${FILESDIR}"/${P}-logfile.patch + eapply "${FILESDIR}"/${P}-colours.patch + + eapply_user +} + +src_install() { + insinto /etc/carbonapi + doins -r "${S}"/config/* + dobin carbonapi carbonzipper + + newinitd "${FILESDIR}"/${PN}.initd carbonapi + newconfd "${FILESDIR}"/${PN}.confd carbonapi +} diff --git a/app-metrics/carbonapi-booking/carbonapi-booking-0.3.0_p20250201.ebuild b/app-metrics/carbonapi-booking/carbonapi-booking-0.3.0_p20250201.ebuild new file mode 100644 index 000000000000..65b45b2d0e0f --- /dev/null +++ b/app-metrics/carbonapi-booking/carbonapi-booking-0.3.0_p20250201.ebuild @@ -0,0 +1,58 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module + +COMMIT=8881b346c8579862a34c4ab46314501117e339dc +MY_PN=${PN%-booking} +DESCRIPTION="High-performance Graphite front-end, Booking.com fork" +HOMEPAGE="https://github.com/bookingcom/carbonapi" +SRC_URI="https://github.com/bookingcom/carbonapi/archive/${COMMIT}.tar.gz -> ${P}.tar.gz" + +S="${WORKDIR}/${MY_PN}-${COMMIT}" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=" + app-arch/bzip2 + dev-libs/expat + media-libs/fontconfig + media-libs/freetype + media-libs/libpng + x11-libs/cairo[X] + x11-libs/libX11 + x11-libs/libXau + x11-libs/libxcb + x11-libs/libXdmcp + x11-libs/libXext + x11-libs/libXrender + x11-libs/pixman +" +RDEPEND="${DEPEND} + acct-group/carbon + acct-user/carbon" + +src_prepare() { + export VERSION="gentoo-${PVR}" + + # bug 904051: disable data-race detection, conflicts with + # go-module's -buildmode=pie + sed -i -e 's/ -race / /' Makefile || die + + eapply "${FILESDIR}"/${P}-logfile.patch + eapply "${FILESDIR}"/${P}-colours.patch + + eapply_user +} + +src_install() { + insinto /etc/carbonapi + doins -r "${S}"/config/* + dobin carbonapi + + newinitd "${FILESDIR}"/${PN}.initd carbonapi + newconfd "${FILESDIR}"/${PN}.confd carbonapi +} diff --git a/app-metrics/carbonapi-booking/files/carbonapi-booking-0.3.0-colours.patch b/app-metrics/carbonapi-booking/files/carbonapi-booking-0.3.0-colours.patch new file mode 100644 index 000000000000..6fbbeeb181cb --- /dev/null +++ b/app-metrics/carbonapi-booking/files/carbonapi-booking-0.3.0-colours.patch @@ -0,0 +1,55 @@ +use colouring defaults from graphite-web-1.10 + +--- carbonapi-0.3.0/expr/functions/cairo/png/picture_params.go ++++ carbonapi-0.3.0/expr/functions/cairo/png/picture_params.go +@@ -351,10 +351,10 @@ + Height: 250, + Margin: 10, + LogBase: 0, +- FgColor: "white", +- BgColor: "black", +- MajorLine: "rose", +- MinorLine: "grey", ++ FgColor: "black", ++ BgColor: "white", ++ MajorLine: "grey", ++ MinorLine: "rose", + FontName: "Sans", + FontSize: 10, + FontBold: FontWeightNormal, +@@ -414,8 +414,8 @@ + LeftDashed: false, + LeftColor: "", + +- MajorGridLineColor: "white", +- MinorGridLineColor: "grey", ++ MajorGridLineColor: "grey", ++ MinorGridLineColor: "rose", + } + + var templates = map[string]PictureParams{ +@@ -424,10 +424,10 @@ + Height: 250, + Margin: 10, + LogBase: 0, +- FgColor: "white", +- BgColor: "black", +- MajorLine: "rose", +- MinorLine: "grey", ++ FgColor: "black", ++ BgColor: "white", ++ MajorLine: "grey", ++ MinorLine: "rose", + FontName: "Sans", + FontSize: 10, + FontBold: FontWeightNormal, +@@ -487,7 +487,7 @@ + LeftDashed: false, + LeftColor: "", + +- MajorGridLineColor: "white", +- MinorGridLineColor: "grey", ++ MajorGridLineColor: "grey", ++ MinorGridLineColor: "rose", + }, + } diff --git a/app-metrics/carbonapi-booking/files/carbonapi-booking-0.3.0-logfile.patch b/app-metrics/carbonapi-booking/files/carbonapi-booking-0.3.0-logfile.patch new file mode 100644 index 000000000000..5e1015cf67dd --- /dev/null +++ b/app-metrics/carbonapi-booking/files/carbonapi-booking-0.3.0-logfile.patch @@ -0,0 +1,14 @@ +- don't log to stdout +- change log to be under subdir so ebuild can manage its permissions + +--- carbonapi-0.3.0/config/carbonapi.yaml ++++ carbonapi-0.3.0/config/carbonapi.yaml +@@ -130,7 +130,7 @@ + - X-Real-Ip + - X-Webauth-User + loggerConfig: +- outputPaths: ["stdout", "/var/log/carbonapi.log"] ++ outputPaths: ["/var/log/carbonapi/carbonapi.log"] + level: "info" + encoding: "json" + diff --git a/app-metrics/carbonapi-booking/files/carbonapi-booking-0.3.0_p20250201-colours.patch b/app-metrics/carbonapi-booking/files/carbonapi-booking-0.3.0_p20250201-colours.patch new file mode 100644 index 000000000000..7726853e17ab --- /dev/null +++ b/app-metrics/carbonapi-booking/files/carbonapi-booking-0.3.0_p20250201-colours.patch @@ -0,0 +1,55 @@ +use colouring defaults from graphite-web-1.10 + +--- carbonapi-0.3.0/pkg/expr/functions/cairo/png/picture_params.go ++++ carbonapi-0.3.0/pkg/expr/functions/cairo/png/picture_params.go +@@ -351,10 +351,10 @@ + Height: 250, + Margin: 10, + LogBase: 0, +- FgColor: "white", +- BgColor: "black", +- MajorLine: "rose", +- MinorLine: "grey", ++ FgColor: "black", ++ BgColor: "white", ++ MajorLine: "grey", ++ MinorLine: "rose", + FontName: "Sans", + FontSize: 10, + FontBold: FontWeightNormal, +@@ -414,8 +414,8 @@ + LeftDashed: false, + LeftColor: "", + +- MajorGridLineColor: "white", +- MinorGridLineColor: "grey", ++ MajorGridLineColor: "grey", ++ MinorGridLineColor: "rose", + } + + var templates = map[string]PictureParams{ +@@ -424,10 +424,10 @@ + Height: 250, + Margin: 10, + LogBase: 0, +- FgColor: "white", +- BgColor: "black", +- MajorLine: "rose", +- MinorLine: "grey", ++ FgColor: "black", ++ BgColor: "white", ++ MajorLine: "grey", ++ MinorLine: "rose", + FontName: "Sans", + FontSize: 10, + FontBold: FontWeightNormal, +@@ -487,7 +487,7 @@ + LeftDashed: false, + LeftColor: "", + +- MajorGridLineColor: "white", +- MinorGridLineColor: "grey", ++ MajorGridLineColor: "grey", ++ MinorGridLineColor: "rose", + }, + } diff --git a/app-metrics/carbonapi-booking/files/carbonapi-booking-0.3.0_p20250201-logfile.patch b/app-metrics/carbonapi-booking/files/carbonapi-booking-0.3.0_p20250201-logfile.patch new file mode 100644 index 000000000000..c365e8317c8d --- /dev/null +++ b/app-metrics/carbonapi-booking/files/carbonapi-booking-0.3.0_p20250201-logfile.patch @@ -0,0 +1,14 @@ +- don't log to stdout +- change log to be under subdir so ebuild can manage its permissions + +--- carbonapi-0.3.0/config/carbonapi.yaml ++++ carbonapi-0.3.0/config/carbonapi.yaml +@@ -130,7 +130,7 @@ + - X-Real-Ip + - X-Webauth-User + loggerConfig: +- outputPaths: ["stdout"] ++ outputPaths: ["/var/log/carbonapi/carbonapi.log"] + level: "info" + encoding: "json" + diff --git a/app-metrics/carbonapi-booking/files/carbonapi-booking.confd b/app-metrics/carbonapi-booking/files/carbonapi-booking.confd new file mode 100644 index 000000000000..2f9ca1ba6bd5 --- /dev/null +++ b/app-metrics/carbonapi-booking/files/carbonapi-booking.confd @@ -0,0 +1,8 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +#CONFIG_FILE=/etc/carbonapi/carbonapi.yaml + +# user and group to run carbonapi as +#USER=carbon +#GROUP=carbon diff --git a/app-metrics/carbonapi-booking/files/carbonapi-booking.initd b/app-metrics/carbonapi-booking/files/carbonapi-booking.initd new file mode 100644 index 000000000000..63184b2a6cf8 --- /dev/null +++ b/app-metrics/carbonapi-booking/files/carbonapi-booking.initd @@ -0,0 +1,44 @@ +#!/sbin/openrc-run +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +description="Graphite whisper metrics renderer." + +carbonapi_config=${CONFIG_FILE:-/etc/carbonapi/${SVCNAME}.yaml} + +command="/usr/bin/carbonapi" +command_args="-config ${carbonapi_config}" +pidfile="/run/carbonapi/${SVCNAME}.pid" +user=${USER:-carbon} +group=${GROUP:-carbon} + +depend() { + need net + use dns +} + +start_pre() { + mkdir -p "${pidfile%/*}" + mkdir -p /var/log/carbonapi + chown ${user}:${group} "${pidfile%/*}" /var/log/carbonapi +} + +stop_post() { + rm -f "${pidfile}" +} + +start() { + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --pidfile "${pidfile}" \ + --make-pidfile --background \ + --user ${user} --group ${group} \ + --exec ${command} -- \ + ${command_args} + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --exec ${command} --pidfile "${pidfile}" + eend $? +} diff --git a/app-metrics/carbonapi-booking/metadata.xml b/app-metrics/carbonapi-booking/metadata.xml new file mode 100644 index 000000000000..54612510c31f --- /dev/null +++ b/app-metrics/carbonapi-booking/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>grobian@gentoo.org</email> + <name>Fabian Groffen</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/carbonapi-web/Manifest b/app-metrics/carbonapi-web/Manifest new file mode 100644 index 000000000000..9e84439323d9 --- /dev/null +++ b/app-metrics/carbonapi-web/Manifest @@ -0,0 +1 @@ +DIST carbonapi-web-1.1.tar.gz 1027235 BLAKE2B be56d94b680282618c74b3b332cbd85de2e7430831c1de3242b99e061f6232f404c15045b3e4990e51b20f3193564a9fa9c324774ee46abeecad084b4dc9fc79 SHA512 b60ba3d23d84051f9b5e6445117a425f36a5740e3758555c08dfe0c6b1bebb06ad665e057c570a55f6d3ab9073930026b614740cde4fe57b15b06f56f33cc042 diff --git a/app-metrics/carbonapi-web/carbonapi-web-1.1.ebuild b/app-metrics/carbonapi-web/carbonapi-web-1.1.ebuild new file mode 100644 index 000000000000..5b854a847cc2 --- /dev/null +++ b/app-metrics/carbonapi-web/carbonapi-web-1.1.ebuild @@ -0,0 +1,24 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit webapp + +DESCRIPTION="graphite-web fork for standalone usage with carbonapi" +HOMEPAGE="https://github.com/grobian/carbonapi-web" +SRC_URI="https://github.com/grobian/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +KEYWORDS="~amd64" + +src_install() { + webapp_src_preinst + + insinto "${MY_HTDOCSDIR}" + doins -r webapp/content/* + + webapp_postinst_txt en "${FILESDIR}"/postinstall-en.txt + + webapp_src_install +} diff --git a/app-metrics/carbonapi-web/files/postinstall-en.txt b/app-metrics/carbonapi-web/files/postinstall-en.txt new file mode 100644 index 000000000000..26cd2dc8abb0 --- /dev/null +++ b/app-metrics/carbonapi-web/files/postinstall-en.txt @@ -0,0 +1,12 @@ +1. install and setup a Graphite resolving and rendering instance such as + app-metrics/carbonapi-booking +2. setup a vhost that: + - uses default index file browser.html + - proxies these paths down to the Graphite rendering instance: + * /render/ + * /metrics/ + * /info/ + * /functions/ + * /tags/ +3. the combined setup should load the web browser and interact with your + Graphite install diff --git a/app-metrics/carbonapi-web/metadata.xml b/app-metrics/carbonapi-web/metadata.xml new file mode 100644 index 000000000000..54612510c31f --- /dev/null +++ b/app-metrics/carbonapi-web/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>grobian@gentoo.org</email> + <name>Fabian Groffen</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/ceph_exporter/Manifest b/app-metrics/ceph_exporter/Manifest new file mode 100644 index 000000000000..bf4afb1109e1 --- /dev/null +++ b/app-metrics/ceph_exporter/Manifest @@ -0,0 +1,4 @@ +DIST ceph_exporter-4.1.1-deps.tar.xz 7386488 BLAKE2B d5ccacba93ae8ee0f03f349860e02e19bb52a5bd6af7ec1b2c6209d29834a74a6934f19a9435f5be1539e6f141ec41e1219b62660aff90a529513b91a3d0649e SHA512 a6f9a8053d3a8957bd03535089c3bb3c818f153f69c2488db08d0fc9a63f7d30ff3b490b0f0fd81399153a19c853239a9744564881c159bc88f5cf91807e10b0 +DIST ceph_exporter-4.1.1.tar.gz 146022 BLAKE2B d833b59418148efb1008d7d444f27a9310d1214197abfb022f74c8fd7af15eceb04c26bab8307eca80bbb4c60b54e7469da74562e38e06cbf7c3559f01d2e0d2 SHA512 1f840d02b50c6cd55c1fb78d44a9fb0beafd241168d3c1d4ad2a9ede67a4fd67b48311de8af0b637a07b04a562938afb72a3379a3c40d765f73923024a8ddd62 +DIST ceph_exporter-4.2.5-deps.tar.xz 2600208 BLAKE2B 1f0610e0a61fa31f2345d72b50256199124e41cbeeab4c77e91c2405c4155a96a0de9f071b2b66b7c3028a5f9855fd4e6da207e8eed6e56f2b9b334af38ed94e SHA512 d1fd1e00ad2527bb93e77c0fa6a59e5e982c2da8b95d07cdfb4d26c5ea7024a055db3036f676d16e331cf5b39b66a947f3c226ac1d0f6de5646f6bcf77f5c3f7 +DIST ceph_exporter-4.2.5.tar.gz 150843 BLAKE2B 8d78709b9eabe1fa022f1a30354fea60142fc896bdbaeb9803929673a28a7930e731ce57acc7b4810ac8b0f8a593e0b951f6f0db1a7e121c5e76db35925ec75d SHA512 d904b6d852e9b1b309d59f3e512b87e8c75ebcf8dc3caac9b5156aa141a98dc7f4905d5d1a56322b874a69350c2e20f910512486b9dfa464425902c6d6fbfb78 diff --git a/app-metrics/ceph_exporter/ceph_exporter-4.1.1-r1.ebuild b/app-metrics/ceph_exporter/ceph_exporter-4.1.1-r1.ebuild new file mode 100644 index 000000000000..c81f82f998d2 --- /dev/null +++ b/app-metrics/ceph_exporter/ceph_exporter-4.1.1-r1.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module + +DESCRIPTION="Prometheus exporter that scrapes metrics from a ceph cluster" +HOMEPAGE="https://github.com/digitalocean/ceph_exporter" +SRC_URI="https://github.com/digitalocean/ceph_exporter/archive/${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + acct-group/ceph + acct-user/ceph + sys-cluster/ceph +" +DEPEND="${RDEPEND}" +BDEPEND=">=dev-lang/go-1.18" + +src_compile() { + go build -o bin/ceph_exporter || die +} + +src_install() { + dobin bin/ceph_exporter + dodoc {README,CONTRIBUTING}.md exporter.yml + newconfd "${FILESDIR}"/${PN}.confd ${PN} + newinitd "${FILESDIR}"/${PN}.initd ${PN} + keepdir /var/lib/ceph_exporter /var/log/ceph_exporter + fowners ceph:ceph /var/lib/ceph_exporter /var/log/ceph_exporter +} diff --git a/app-metrics/ceph_exporter/ceph_exporter-4.2.5.ebuild b/app-metrics/ceph_exporter/ceph_exporter-4.2.5.ebuild new file mode 100644 index 000000000000..03c4c41455d7 --- /dev/null +++ b/app-metrics/ceph_exporter/ceph_exporter-4.2.5.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module + +DESCRIPTION="Prometheus exporter that scrapes metrics from a ceph cluster" +HOMEPAGE="https://github.com/digitalocean/ceph_exporter" +SRC_URI="https://github.com/digitalocean/ceph_exporter/archive/${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + acct-group/ceph + acct-user/ceph + sys-cluster/ceph +" +DEPEND="${RDEPEND}" + +src_compile() { + ego build -o bin/ceph_exporter +} + +src_install() { + dobin bin/ceph_exporter + dodoc {README,CONTRIBUTING}.md exporter.yml + newconfd "${FILESDIR}"/${PN}.confd ${PN} + newinitd "${FILESDIR}"/${PN}.initd ${PN} + keepdir /var/lib/ceph_exporter /var/log/ceph_exporter + fowners ceph:ceph /var/lib/ceph_exporter /var/log/ceph_exporter +} diff --git a/app-metrics/ceph_exporter/files/ceph_exporter.confd b/app-metrics/ceph_exporter/files/ceph_exporter.confd new file mode 100644 index 000000000000..46da635f4264 --- /dev/null +++ b/app-metrics/ceph_exporter/files/ceph_exporter.confd @@ -0,0 +1,2 @@ +# arguments for ceph exporter +# command_args="" diff --git a/app-metrics/ceph_exporter/files/ceph_exporter.initd b/app-metrics/ceph_exporter/files/ceph_exporter.initd new file mode 100644 index 000000000000..980779c5f935 --- /dev/null +++ b/app-metrics/ceph_exporter/files/ceph_exporter.initd @@ -0,0 +1,18 @@ +#!/sbin/openrc-run +# Copyright 2016-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Prometheus ceph metrics exporter" +pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"} +user=${user:-ceph} +group=${group:-ceph} + +command="/usr/bin/ceph_exporter" +command_background="true" +output_log="/var/log/ceph_exporter/${RC_SVCNAME}.log" +error_log="/var/log/ceph_exporter/${RC_SVCNAME}.log" +start_stop_daemon_args="--user ${user} --group ${group}" + +depend() { + after net +} diff --git a/app-metrics/ceph_exporter/metadata.xml b/app-metrics/ceph_exporter/metadata.xml new file mode 100644 index 000000000000..17492b5107c4 --- /dev/null +++ b/app-metrics/ceph_exporter/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/chrony_exporter/Manifest b/app-metrics/chrony_exporter/Manifest new file mode 100644 index 000000000000..a2b1bab2dbba --- /dev/null +++ b/app-metrics/chrony_exporter/Manifest @@ -0,0 +1,2 @@ +DIST chrony_exporter-0.13.3-vendor.tar.xz 1293040 BLAKE2B c08140373492a24b898d14b318196c0db9b2283f71c46f02e57d858f889e54d37be37fbd85380d4d8f85c6e0e8b44d8e810406c82ec31f1ee2f72a8f7d32ecdf SHA512 09851ef44173ef7e3230a33f4e516269975305e613fbb110fd98b953e1ae86e5faa9e4bbbc6d1075452d608c1376c23edb6198cd07f0b2a09170844a8172f63f +DIST chrony_exporter-0.13.3.tar.gz 26328 BLAKE2B 69ad127514c1f090a6cff8ca53c7c0e3b13fad4c428c800104c83e6bea4bd14e64070823383f7d3c850d64f242ca04887b17986794a2e205d0b080b327605a73 SHA512 d1fac18cf88ca3cc8b87463611ffae88d64d7bf804bbd14d9bba8e6f11e80162f0b37233d870427665522f14f4c944980b8d0924c40210eabf83980d39b65379 diff --git a/app-metrics/chrony_exporter/chrony_exporter-0.13.3.ebuild b/app-metrics/chrony_exporter/chrony_exporter-0.13.3.ebuild new file mode 100644 index 000000000000..45846426344b --- /dev/null +++ b/app-metrics/chrony_exporter/chrony_exporter-0.13.3.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module + +DESCRIPTION="Chrony NTP exporter for Prometheus" +HOMEPAGE="https://github.com/SuperQ/chrony_exporter" + +SRC_URI="https://github.com/SuperQ/chrony_exporter/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/gentoo-golang-dist/chrony_exporter/releases/download/v${PV}/${P}-vendor.tar.xz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64" + +DEPEND="acct-group/chrony_exporter + acct-user/chrony_exporter" + +BDEPEND=" + >=dev-lang/go-1.25.0 + dev-util/promu +" + +PATCHES=( "${FILESDIR}/0.13.3-promu-config.patch" ) + +src_prepare() { + default + # No need to enable the race detector for tests (#935442) + sed -i -e '/test-flags := -race/d' Makefile.common || die +} + +src_compile() { + promu build -v || die +} + +src_install() { + dobin ${PN} + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} +} diff --git a/app-metrics/chrony_exporter/files/0.13.3-promu-config.patch b/app-metrics/chrony_exporter/files/0.13.3-promu-config.patch new file mode 100644 index 000000000000..21bb008a4003 --- /dev/null +++ b/app-metrics/chrony_exporter/files/0.13.3-promu-config.patch @@ -0,0 +1,22 @@ +--- a/.promu.yml ++++ b/.promu.yml +@@ -2,15 +2,19 @@ go: + # Whenever the Go version is updated here, + # .circleci/config.yml should also be updated. + version: 1.26 ++ cgo: true + repository: + path: github.com/superq/chrony_exporter + build: ++ binaries: ++ - name: chrony_exporter + ldflags: | + -X github.com/prometheus/common/version.Version={{.Version}} + -X github.com/prometheus/common/version.Revision={{.Revision}} + -X github.com/prometheus/common/version.Branch={{.Branch}} + -X github.com/prometheus/common/version.BuildUser={{user}}@{{host}} + -X github.com/prometheus/common/version.BuildDate={{date "20060102-15:04:05"}} ++ static: false + tarball: + files: + - LICENSE diff --git a/app-metrics/chrony_exporter/files/chrony_exporter.confd b/app-metrics/chrony_exporter/files/chrony_exporter.confd new file mode 100644 index 000000000000..0fa8c6ec9b45 --- /dev/null +++ b/app-metrics/chrony_exporter/files/chrony_exporter.confd @@ -0,0 +1,2 @@ +# arguments for chrony_exporter +command_args="--collector.tracking --collector.sources" diff --git a/app-metrics/chrony_exporter/files/chrony_exporter.initd b/app-metrics/chrony_exporter/files/chrony_exporter.initd new file mode 100644 index 000000000000..7cddf925322e --- /dev/null +++ b/app-metrics/chrony_exporter/files/chrony_exporter.initd @@ -0,0 +1,17 @@ +#!/sbin/openrc-run +# Copyright 2016-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +description="Prometheus chrony metrics exporter" +pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"} +user=${user:-${RC_SVCNAME}} +group=${group:-${RC_SVCNAME}} + +command="/usr/bin/chrony_exporter" +command_args="${command_args}" +command_background="true" +start_stop_daemon_args="--user ${user} --group ${group}" + +depend() { + after chronyd +} diff --git a/app-metrics/chrony_exporter/metadata.xml b/app-metrics/chrony_exporter/metadata.xml new file mode 100644 index 000000000000..f76957f1a8a7 --- /dev/null +++ b/app-metrics/chrony_exporter/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>holger@applied-asynchrony.com</email> + <name>Holger Hoffstätte</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/collectd/Manifest b/app-metrics/collectd/Manifest new file mode 100644 index 000000000000..c3666c8289f9 --- /dev/null +++ b/app-metrics/collectd/Manifest @@ -0,0 +1 @@ +DIST collectd-5.12.0.tar.bz2 1902756 BLAKE2B 9567c55b47c0ea5b7836c0d858c16a637c4a2054486a9d9ca6cd9951a92381bdf4f49d7dc0be0c9c9131802120d0af2e542a3997f01484c89ba135b3c46db795 SHA512 7a15e4c0ae587db4987d673a790a4f3bea1cab29ce24a506fb21fa7bd2f60bfec70867eaa1c1395cb5b0e0ae81a024fb6109b064da0ef50e7c146d2198871c70 diff --git a/app-metrics/collectd/collectd-5.12.0-r12.ebuild b/app-metrics/collectd/collectd-5.12.0-r12.ebuild new file mode 100644 index 000000000000..55fb310c2c6e --- /dev/null +++ b/app-metrics/collectd/collectd-5.12.0-r12.ebuild @@ -0,0 +1,562 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_OPT_USE="collectd_plugins_java" +LUA_COMPAT=( lua5-{1,3,4} luajit ) +PYTHON_COMPAT=( python3_{13..14} ) + +inherit autotools fcaps java-pkg-opt-2 linux-info lua-single perl-functions python-single-r1 systemd tmpfiles udev + +DESCRIPTION="Collects system statistics and provides mechanisms to store the values" + +HOMEPAGE="https://www.collectd.org/" +SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.bz2" + +LICENSE="MIT GPL-2 GPL-2+ GPL-3 GPL-3+" +SLOT="0" +KEYWORDS="~alpha amd64 arm ~arm64 x86" +IUSE="contrib debug java perl selinux static-libs udev xfs" + +# The plugin lists have to follow here since they extend IUSE + +# Plugins that don't build (e.g. dependencies not in Gentoo) +# apple_sensors: Requires libIOKit +# amqp1: Requires libqpid-proton +# aquaero: Requires aerotools-ng/libaquaero5 +# barometer: Requires libi2c (i2c_smbus_read_i2c_block_data) +# dpdkevents: Requires dpdk +# dpdkstat: Requires dpdk +# dpdk_telemetry: Requires dpdk +# grpc: Requires libgrpc +# intel_pmu: Requires libjevents (pmu-tools) +# intel_rdt: Requires libpqos from intel-cmt-cat project +# lpar: Requires libperfstat (AIX only) +# mic: Requires Intel Many Integrated Core Architecture API +# (part of Intel's Xeon Phi software) +# netapp: Requires libnetapp (http://communities.netapp.com/docs/DOC-1110) +# onewire: Requires sys-fs/owfs which was removed from repository +# pf: Requires BSD packet filter +# pinba: Requires MySQL Pinba engine (http://pinba.org/) +# redfish: Requires libredfish +# tape: Requires libkstat (Solaris only) +# tokyotyrant: Requires tokyotyrant +# write_riemann: Requires riemann-c-client +# xmms: Requires libxmms (v1) +# zone: Solaris only... +COLLECTD_IMPOSSIBLE_PLUGINS="apple_sensors amqp1 aquaero barometer + dpdkevents dpdkstat dpdk_telemetry grpc intel_pmu intel_rdt lpar + mic netapp onewire pf pinba redfish tape tokyotyrant write_riemann + xmms zone" + +# Plugins that have been (compile) tested and can be enabled via COLLECTD_PLUGINS +COLLECTD_TESTED_PLUGINS="aggregation amqp apache apcups ascent battery bind + buddyinfo capabilities ceph cgroups check_uptime chrony connectivity + conntrack contextswitch cpu cpufreq cpusleep csv curl curl_json + curl_xml dbi df disk dns drbd email entropy ethstat exec fhcount + filecount fscache gps gpu_nvidia hddtemp hugepages interface ipc + ipmi iptables ipvs irq java lua load logfile logparser log_logstash + madwifi match_empty_counter match_hashed match_regex match_timediff + match_value mbmon mcelog md memcachec memcached memory modbus mqtt + multimeter mysql netlink network network nfs nginx notify_desktop + notify_email notify_nagios ntpd numa nut olsrd onewire openldap + openvpn oracle ovs_events ovs_stats pcie_errors perl ping postgresql + powerdns procevent processes protocols python redis routeros + rrdcached rrdtool sensors serial sigrok smart snmp snmp_agent + statsd swap synproxy sysevent syslog table tail tail_csv + target_notification target_replace target_scale target_set tcpconns + teamspeak2 ted thermal threshold turbostat ubi unixsock uptime users + uuid varnish virt vmem vserver wireless write_graphite write_http + write_influxdb_udp write_kafka write_log write_mongodb write_prometheus + write_redis write_sensu write_stackdriver write_syslog write_tsdb + xencpu zfs_arc zookeeper" + +COLLECTD_DISABLED_PLUGINS="${COLLECTD_IMPOSSIBLE_PLUGINS}" + +COLLECTD_ALL_PLUGINS=${COLLECTD_TESTED_PLUGINS} + +for plugin in ${COLLECTD_ALL_PLUGINS}; do + IUSE="${IUSE} collectd_plugins_${plugin}" +done +unset plugin + +# Now come the dependencies. + +COMMON_DEPEND=" + acct-group/collectd + acct-user/collectd + dev-libs/libgcrypt:= + dev-libs/libltdl:0= + sys-libs/libcap + perl? ( || ( >=dev-lang/perl-5.38.2-r3[perl_features_ithreads] <dev-lang/perl-5.38.2-r3[ithreads] ) dev-lang/perl:= ) + udev? ( virtual/udev ) + xfs? ( sys-fs/xfsprogs ) + collectd_plugins_amqp? ( net-libs/rabbitmq-c ) + collectd_plugins_apache? ( net-misc/curl:0= ) + collectd_plugins_ascent? ( net-misc/curl:0= dev-libs/libxml2:2= ) + collectd_plugins_bind? ( net-misc/curl:0= dev-libs/libxml2:2= ) + collectd_plugins_ceph? ( dev-libs/yajl:= ) + collectd_plugins_capabilities? ( dev-libs/jansson net-libs/libmicrohttpd:= ) + collectd_plugins_connectivity? ( dev-libs/yajl:= net-libs/libmnl ) + collectd_plugins_curl? ( net-misc/curl:0= ) + collectd_plugins_curl_json? ( net-misc/curl:0= dev-libs/yajl:= ) + collectd_plugins_curl_xml? ( net-misc/curl:0= dev-libs/libxml2:2= ) + collectd_plugins_dbi? ( dev-db/libdbi ) + collectd_plugins_dns? ( net-libs/libpcap ) + collectd_plugins_gps? ( sci-geosciences/gpsd:= ) + collectd_plugins_gpu_nvidia? ( dev-util/nvidia-cuda-toolkit ) + collectd_plugins_ipmi? ( >=sys-libs/openipmi-2.0.16-r1 ) + collectd_plugins_iptables? ( >=net-firewall/iptables-1.4.13:0= ) + collectd_plugins_log_logstash? ( dev-libs/yajl:= ) + collectd_plugins_lua? ( ${LUA_DEPS} ) + collectd_plugins_memcachec? ( || ( dev-libs/libmemcached-awesome dev-libs/libmemcached ) ) + collectd_plugins_modbus? ( dev-libs/libmodbus ) + collectd_plugins_mqtt? ( app-misc/mosquitto ) + collectd_plugins_mysql? ( dev-db/mysql-connector-c:= ) + collectd_plugins_netlink? ( net-libs/libmnl ) + collectd_plugins_nginx? ( net-misc/curl:0= ) + collectd_plugins_notify_desktop? ( x11-libs/libnotify ) + collectd_plugins_notify_email? ( net-libs/libesmtp:= ) + collectd_plugins_nut? ( >=sys-power/nut-2.7.2-r2 ) + collectd_plugins_openldap? ( net-nds/openldap:= ) + collectd_plugins_oracle? ( dev-db/oracle-instantclient[sdk] ) + collectd_plugins_ovs_events? ( dev-libs/yajl:= ) + collectd_plugins_ovs_stats? ( dev-libs/yajl:= ) + collectd_plugins_perl? ( || ( >=dev-lang/perl-5.38.2-r3[perl_features_ithreads] <dev-lang/perl-5.38.2-r3[ithreads] ) dev-lang/perl:= ) + collectd_plugins_ping? ( net-libs/liboping ) + collectd_plugins_postgresql? ( dev-db/postgresql:= ) + collectd_plugins_procevent? ( dev-libs/yajl:= ) + collectd_plugins_python? ( ${PYTHON_DEPS} ) + collectd_plugins_redis? ( dev-libs/hiredis:= ) + collectd_plugins_routeros? ( net-libs/librouteros ) + collectd_plugins_rrdcached? ( net-analyzer/rrdtool:= ) + collectd_plugins_rrdtool? ( net-analyzer/rrdtool:= ) + collectd_plugins_sensors? ( sys-apps/lm-sensors:= ) + collectd_plugins_sigrok? ( >=sci-libs/libsigrok-0.4:= dev-libs/glib:2 ) + collectd_plugins_smart? ( dev-libs/libatasmart:0= ) + collectd_plugins_snmp? ( net-analyzer/net-snmp:= ) + collectd_plugins_snmp_agent? ( net-analyzer/net-snmp:= ) + collectd_plugins_sysevent? ( dev-libs/yajl:= ) + collectd_plugins_varnish? ( <www-servers/vinyl-cache-9.0.0:= ) + collectd_plugins_virt? ( app-emulation/libvirt:= dev-libs/libxml2:2= ) + collectd_plugins_write_http? ( net-misc/curl:0= dev-libs/yajl:= ) + collectd_plugins_write_kafka? ( >=dev-libs/librdkafka-0.9.0.99:= dev-libs/yajl:= ) + collectd_plugins_write_mongodb? ( >=dev-libs/mongo-c-driver-1.8.2:= ) + collectd_plugins_write_prometheus? ( >=dev-libs/protobuf-c-1.2.1-r1:= net-libs/libmicrohttpd:= ) + collectd_plugins_write_redis? ( dev-libs/hiredis:= ) + collectd_plugins_write_stackdriver? ( net-misc/curl:0= dev-libs/yajl:= ) + collectd_plugins_xencpu? ( app-emulation/xen-tools:= ) +" + +# FIXME: should virtual/jdk be here as well? +BDEPEND="virtual/pkgconfig" + +# Enforcing !=sys-kernel/linux-headers-4.5 > due to #577846 +DEPEND="${COMMON_DEPEND} + collectd_plugins_iptables? ( || ( <=sys-kernel/linux-headers-4.4 >=sys-kernel/linux-headers-4.6 ) ) + collectd_plugins_java? ( >=virtual/jdk-1.8:* )" + +RDEPEND="${COMMON_DEPEND} + collectd_plugins_java? ( >=virtual/jre-1.8:* ) + collectd_plugins_syslog? ( virtual/logger ) + selinux? ( sec-policy/selinux-collectd )" + +REQUIRED_USE=" + collectd_plugins_lua? ( ${LUA_REQUIRED_USE} ) + collectd_plugins_python? ( ${PYTHON_REQUIRED_USE} ) + collectd_plugins_smart? ( udev ) + contrib? ( perl )" + +PATCHES=( + "${FILESDIR}"/${PN}-5.11.0-libsigrok-0.4+.patch + "${FILESDIR}"/${PN}-5.12.0-python3_11.patch + "${FILESDIR}"/${PN}-5.12.0-clang16-configure.patch + "${FILESDIR}"/${PN}-5.12.0-nut-c99.patch +) + +# @FUNCTION: collectd_plugin_kernel_linux +# @DESCRIPTION: +# USAGE: <plugin name> <kernel_options> <severity> +# kernel_options is a list of kernel configurations options; the check tests whether at least +# one of them is enabled. If no, depending on the third argument an elog, ewarn, or eerror message +# is emitted. +collectd_plugin_kernel_linux() { + local multi_opt opt + if has ${1} ${COLLECTD_ALL_PLUGINS}; then + if use collectd_plugins_${1}; then + for opt in ${2}; do + if linux_chkconfig_present ${opt}; then + return 0; + fi + done + multi_opt=${2//\ /\ or\ } + case ${3} in + (info) + elog "The ${1} plugin can use kernel features that are disabled now; enable ${multi_opt} in your kernel" + ;; + (warn) + ewarn "The ${1} plugin uses kernel features that are disabled now; enable ${multi_opt} in your kernel" + ;; + (error) + eerror "The ${1} plugin needs kernel features that are disabled now; enable ${multi_opt} in your kernel" + ;; + (*) + die "function collectd_plugin_kernel_linux called with invalid third argument" + ;; + esac + fi + fi +} + +collectd_linux_kernel_checks() { + if ! linux_chkconfig_present PROC_FS; then + ewarn "/proc file system support is disabled, many plugins will not be able to read any statistics from your system unless you enable PROC_FS in your kernel" + fi + + if ! linux_chkconfig_present SYSFS; then + ewarn "/sys file system support is disabled, many plugins will not be able to read any statistics from your system unless you enable SYSFS in your kernel" + fi + + # battery.c: /proc/pmu/battery_%i + # battery.c: /proc/acpi/battery + collectd_plugin_kernel_linux battery ACPI_BATTERY warn + + # cgroups.c: /sys/fs/cgroup/ + collectd_plugin_kernel_linux cgroups CGROUPS warn + + # cpufreq.c: /sys/devices/system/cpu/cpu%d/cpufreq/ + collectd_plugin_kernel_linux cpufreq SYSFS warn + collectd_plugin_kernel_linux cpufreq CPU_FREQ_STAT warn + + # drbd.c: /proc/drbd + collectd_plugin_kernel_linux drbd BLK_DEV_DRBD warn + + # conntrack.c: /proc/sys/net/netfilter/* + collectd_plugin_kernel_linux conntrack NETFILTER warn + + # fscache.c: /proc/fs/fscache/stats + collectd_plugin_kernel_linux fscache FSCACHE warn + + # nfs.c: /proc/net/rpc/nfs + # nfs.c: /proc/net/rpc/nfsd + collectd_plugin_kernel_linux nfs NFS_COMMON warn + + # serial.c: /proc/tty/driver/serial + # serial.c: /proc/tty/driver/ttyS + collectd_plugin_kernel_linux serial SERIAL_CORE warn + + # swap.c: /proc/meminfo + collectd_plugin_kernel_linux swap SWAP warn + + # thermal.c: /proc/acpi/thermal_zone + # thermal.c: /sys/class/thermal + collectd_plugin_kernel_linux thermal ACPI_THERMAL warn + + # turbostat.c: /dev/cpu/%d/msr + collectd_plugin_kernel_linux turbostat X86_MSR warn + + # vmem.c: /proc/vmstat + collectd_plugin_kernel_linux vmem VM_EVENT_COUNTERS warn + + # vserver.c: /proc/virtual + collectd_plugin_kernel_linux vserver VSERVER warn + + # uuid.c: /sys/hypervisor/uuid + collectd_plugin_kernel_linux uuid SYSFS info + + # wireless.c: /proc/net/wireless + collectd_plugin_kernel_linux wireless "WIRELESS MAC80211 IEEE80211" warn + + # zfs_arc.c: /proc/spl/kstat/zfs/arcstats + collectd_plugin_kernel_linux zfs_arc "SPL ZFS" warn +} + +pkg_setup() { + if use kernel_linux; then + linux-info_pkg_setup + + if linux_config_exists; then + einfo "Checking your linux kernel configuration:" + collectd_linux_kernel_checks + else + elog "Cannot find a linux kernel configuration. Continuing anyway." + fi + fi + + if use collectd_plugins_java; then + java-pkg-opt-2_pkg_setup + fi + + use collectd_plugins_lua && lua-single_pkg_setup + use collectd_plugins_python && python-single-r1_pkg_setup +} + +src_prepare() { + default + + # There's some strange prefix handling in the default config file, resulting in + # paths like "/usr/var/..." + sed -i -e "s:@prefix@/var:/var:g" src/collectd.conf.in || die + + # Adjust upstream's systemd unit + # - Get rid of EnvironmentFile directive; These files don't exist on Gentoo! + # - Add User=collectd to run collectd as user "collectd" per default + sed -i \ + -e '/^EnvironmentFile=.*/d' \ + -e '/^\[Service\]/aUser=collectd' \ + contrib/systemd.${PN}.service || die + + eautoreconf +} + +src_configure() { + # Now come the lists of os-dependent plugins. Any plugin that is not listed anywhere here + # should work independent of the operating system. + + local linux_plugins="barometer battery cpu cpufreq disk + drbd entropy ethstat hugepages interface iptables + ipvs irq ipc load memory md netlink nfs numa processes + serial swap tcpconns thermal turbostat users vmem wireless + zfc_arc" + + local need_libstatgrab=0 + local libstatgrab_plugins="cpu disk interface load memory swap users" + local bsd_plugins="cpu tcpconns ${libstatgrab_plugins} zfc_arc" + + local darwin_plugins="apple_sensors battery cpu disk interface memory processes tcpconns" + + local osdependent_plugins="${linux_plugins} ${bsd_plugins} ${darwin_plugins}" + local myos_plugins="" + if use kernel_linux; then + einfo "Enabling Linux plugins." + myos_plugins=${linux_plugins} + elif use kernel_Darwin; then + einfo "Enabling Darwin plugins." + myos_plugins=${darwin_plugins} + fi + + local myconf="--disable-werror" + + # Do we debug? + myconf+=" $(use_enable debug)" + + # udev support? + # Required for smart plugin via REQUIRED_USE; Optional for disk plugin + if use udev; then + myconf+=" --with-libudev" + else + myconf+=" --without-libudev" + fi + + local plugin + + # Disable what needs to be disabled. + for plugin in ${COLLECTD_DISABLED_PLUGINS}; do + if [[ "${plugin}" == 'dpdkstat' ]]; then + myconf+=" --without-libdpdk" + else + myconf+=" --disable-${plugin}" + fi + done + + # Set enable/disable for each single plugin. + for plugin in ${COLLECTD_ALL_PLUGINS}; do + if has ${plugin} ${osdependent_plugins}; then + # plugin is os-dependent ... + if has ${plugin} ${myos_plugins}; then + # ... and available in this os + myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})" + else + # ... and NOT available in this os + if use collectd_plugins_${plugin}; then + ewarn "You try to enable the ${plugin} plugin, but it is not available for this" + ewarn "kernel. Disabling it automatically." + fi + myconf+=" --disable-${plugin}" + fi + elif [[ "${plugin}" = "collectd_plugins_perl" ]]; then + if use collectd_plugins_perl && ! use perl; then + ewarn "Perl plugin disabled as perl bindings disabled by -perl use flag" + myconf+= --disable-perl + else + myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})" + fi + else + myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})" + fi + done + + if [ "${need_libstatgrab}" -eq 1 ]; then + myconf+=" --with-libstatgrab" + else + myconf+=" --without-libstatgrab" + fi + + # JAVA_HOME is set by eclasses. + if use collectd_plugins_java; then + myconf+=" --with-java" + fi + + # Need libiptc ONLY for iptables. If we try to use it otherwise bug 340109 happens. + # lots of libs are only needed for plugins, if they are disabled, also disable the lib + use collectd_plugins_iptables || myconf+=" --with-libiptc=no" + use collectd_plugins_openldap || myconf+=" --with-libldap=no" + use collectd_plugins_redis || use collectd_plugins_write_redis || myconf+=" --with-libhiredis=no" + use collectd_plugins_smart || myconf+=" --with-libatasmart=no" + use collectd_plugins_gps || myconf+=" --with-libgps=no" + + if use collectd_plugins_gpu_nvidia; then + myconf+=" --with-cuda=${EPREFIX}/opt/cuda" + else + myconf+=" --with-cuda=no" + fi + + if use perl; then + myconf+=" --with-perl-bindings=INSTALLDIRS=vendor" + else + myconf+=" --without-perl-bindings" + fi + + # No need for v5upgrade + myconf+=" --disable-target_v5upgrade" + + # Python + if use collectd_plugins_python; then + myconf+=" --with-libpython=yes" + export PYTHON_CONFIG=$(python_get_PYTHON_CONFIG) + else + myconf+=" --with-libpython=no" + fi + + # XFS support + myconf+=" $(use_enable xfs)" + + # Finally, run econf. + KERNEL_DIR="${KERNEL_DIR}" econf --config-cache \ + $(use_enable static-libs static) \ + --localstatedir=/var ${myconf} +} + +src_install() { + emake DESTDIR="${D}" install + + perl_delete_localpod + + find "${ED}"/usr/ -name "*.la" -delete || die + + if use collectd_plugins_java; then + java-pkg_regjar "${ED}"/usr/share/${PN}/java/*.jar + fi + + if use collectd_plugins_disk && use udev; then + udev_newrules contrib/99-storage-collectd.rules 60-persistent-storage-collectd.rules + fi + + fowners root:collectd /etc/collectd.conf + fperms u=rw,g=r,o= /etc/collectd.conf + + einstalldocs + + if use contrib; then + insinto /usr/share/${PN} + doins -r contrib + fi + + keepdir /var/lib/${PN} + fowners collectd:collectd /var/lib/${PN} + + newinitd "${FILESDIR}/${PN}.initd-r3" ${PN} + newconfd "${FILESDIR}/${PN}.confd-r2" ${PN} + systemd_newunit "contrib/systemd.${PN}.service" ${PN}.service + + insinto /etc/logrotate.d + newins "${FILESDIR}/${PN}.logrotate" ${PN} + + newtmpfiles "${FILESDIR}"/${PN}.tmpfile ${PN}.conf + + sed \ + -e 's:^.*PIDFile "/var/run/collectd.pid":#PIDFile "/run/collectd.pid":' \ + -i "${ED}"/etc/collectd.conf || die + sed \ + -e 's:^# SocketFile "/var/run/collectd-unixsock":# SocketFile "/run/collectd/collectd.socket":' \ + -i "${ED}"/etc/collectd.conf || die + sed \ + -e 's:^.*LoadPlugin perl$:# The new, correct way to load the perl plugin -- \n# <LoadPlugin perl>\n# Globals true\n# </LoadPlugin>:' \ + -i "${ED}"/etc/collectd.conf || die + sed \ + -e 's:^.*LoadPlugin python$:# The new, correct way to load the python plugin -- \n# <LoadPlugin python>\n# Globals true\n# </LoadPlugin>:' \ + -i "${ED}"/etc/collectd.conf || die +} + +pkg_postinst() { + tmpfiles_process "${PN}.conf" + + if use filecaps; then + local caps=() + use collectd_plugins_ceph && caps+=('CAP_DAC_OVERRIDE') + use collectd_plugins_exec && caps+=('CAP_SETUID' 'CAP_SETGID') + use collectd_plugins_iptables && caps+=('CAP_NET_ADMIN') + use collectd_plugins_filecount && caps+=('CAP_DAC_READ_SEARCH') + + if use collectd_plugins_dns || use collectd_plugins_ping; then + caps+=('CAP_NET_RAW') + fi + + if use collectd_plugins_turbostat || use collectd_plugins_smart; then + caps+=('CAP_SYS_RAWIO') + fi + + if [ ${#caps[@]} -gt 0 ]; then + local caps_str=$(IFS=","; echo "${caps[*]}") + fcaps ${caps_str} usr/sbin/collectd + elog "Capabilities for ${EROOT}/usr/sbin/collectd set to:" + elog " ${caps_str}+EP" + elog + + local systemd_unit="$(systemd_get_systemunitdir)/collectd.service" + if [[ -e "${systemd_unit}" ]]; then + caps_str="${caps[*]}" + sed -i -e "s:^CapabilityBoundingSet=.*:CapabilityBoundingSet=${caps_str}:" "${systemd_unit}" || \ + die "Failed to set CapabilityBoundingSet in '${systemd_unit}'" + + elog "CapabilityBoundingSet in '${systemd_unit}'" + elog "updated to match capabilities set above." + elog + else + if has_version "sys-apps/systemd"; then + # Bug 596852 + ewarn "Failed to update CapabilityBoundingSet in '${systemd_unit}'" + ewarn "because unit was not found. Please file a bug about this." + fi + fi + fi + fi + + elog "Note: Collectd is only the collector." + elog " You need to install 'data' sources (applications) locally or" + elog " remotely on your own." + + elog + elog "Collectd is configured to run as unprivileged user by default." + elog "You may want to revisit the configuration." + elog + + if use collectd_plugins_email; then + ewarn "The email plug-in is deprecated. To submit statistics please use the unixsock plugin." + fi + + if use collectd_plugins_smart; then + elog "" + elog "If you are using smart plugin and don't run collectd as root make sure" + elog "that the collectd user is allowed to access the disk you want to monitor" + elog "(can be done via udev rule for example) and that collectd has the required" + elog "capabilities set (which is the default when package was emerged with" + elog "'filecaps' USE flag set)." + fi + + if use contrib; then + elog "The scripts in /usr/share/doc/${PF}/collection3 for generating graphs need dev-perl/HTML-Parser," + elog "dev-perl/CGI, dev-perl/Config-General and net-analyzer/rrdtool[perl] to be installed." + fi +} diff --git a/app-metrics/collectd/files/collectd-5.11.0-libsigrok-0.4+.patch b/app-metrics/collectd/files/collectd-5.11.0-libsigrok-0.4+.patch new file mode 100644 index 000000000000..981864e81c32 --- /dev/null +++ b/app-metrics/collectd/files/collectd-5.11.0-libsigrok-0.4+.patch @@ -0,0 +1,157 @@ +Backport of https://github.com/u1f35c/collectd/commit/9e36cd85a2bbd6daa55f1f392f60f9c95573ae2c +aka https://github.com/collectd/collectd/issues/1574 + +--- a/configure.ac ++++ b/configure.ac +@@ -5367,7 +5367,7 @@ AC_SUBST([BUILD_WITH_LIBSENSORS_LIBS]) + # libsigrok {{{ + AC_SUBST([LIBSIGROK_CFLAGS]) + AC_SUBST([LIBSIGROK_LIBS]) +-PKG_CHECK_MODULES([LIBSIGROK], [libsigrok < 0.4], ++PKG_CHECK_MODULES([LIBSIGROK], [libsigrok >= 0.4], + [with_libsigrok="yes"], + [with_libsigrok="no (pkg-config could not find libsigrok)"] + ) +--- a/src/sigrok.c ++++ b/src/sigrok.c +@@ -127,22 +127,22 @@ static int sigrok_config(oconfig_item_t *ci) { + return 0; + } + +-static const char *sigrok_value_type(const struct sr_datafeed_analog *analog) { ++static const char *sigrok_value_type(const struct sr_analog_meaning *meaning) { + const char *s; + +- if (analog->mq == SR_MQ_VOLTAGE) ++ if (meaning->mq == SR_MQ_VOLTAGE) + s = "voltage"; +- else if (analog->mq == SR_MQ_CURRENT) ++ else if (meaning->mq == SR_MQ_CURRENT) + s = "current"; +- else if (analog->mq == SR_MQ_FREQUENCY) ++ else if (meaning->mq == SR_MQ_FREQUENCY) + s = "frequency"; +- else if (analog->mq == SR_MQ_POWER) ++ else if (meaning->mq == SR_MQ_POWER) + s = "power"; +- else if (analog->mq == SR_MQ_TEMPERATURE) ++ else if (meaning->mq == SR_MQ_TEMPERATURE) + s = "temperature"; +- else if (analog->mq == SR_MQ_RELATIVE_HUMIDITY) ++ else if (meaning->mq == SR_MQ_RELATIVE_HUMIDITY) + s = "humidity"; +- else if (analog->mq == SR_MQ_SOUND_PRESSURE_LEVEL) ++ else if (meaning->mq == SR_MQ_SOUND_PRESSURE_LEVEL) + s = "spl"; + else + s = "gauge"; +@@ -172,7 +172,7 @@ static void sigrok_feed_callback(const struct sr_dev_inst *sdi, + ERROR("sigrok plugin: Received data from driver \"%s\" but " + "can't find a configuration / device matching " + "it.", +- sdi->driver->name); ++ sr_dev_inst_driver_get(sdi)->name); + return; + } + +@@ -191,11 +191,11 @@ static void sigrok_feed_callback(const struct sr_dev_inst *sdi, + + /* Ignore all but the first sample on the first probe. */ + analog = packet->payload; +- vl.values = &(value_t){.gauge = analog->data[0]}; ++ vl.values = &(value_t){.gauge = ((float *) analog->data)[0]}; + vl.values_len = 1; + sstrncpy(vl.plugin, "sigrok", sizeof(vl.plugin)); + sstrncpy(vl.plugin_instance, cfdev->name, sizeof(vl.plugin_instance)); +- sstrncpy(vl.type, sigrok_value_type(analog), sizeof(vl.type)); ++ sstrncpy(vl.type, sigrok_value_type(&analog->meaning[0]), sizeof(vl.type)); + + plugin_dispatch_values(&vl); + cfdev->last_dispatch = cdtime(); +@@ -207,6 +207,7 @@ static void sigrok_free_drvopts(struct sr_config *src) { + } + + static int sigrok_init_driver(struct config_device *cfdev, ++ struct sr_session *session, + struct sr_dev_driver *drv) { + struct sr_config *src; + GSList *devlist, *drvopts; +@@ -248,21 +249,22 @@ static int sigrok_init_driver(struct config_device *cfdev, + cfdev->sdi = devlist->data; + g_slist_free(devlist); + ssnprintf(hwident, sizeof(hwident), "%s %s %s", +- cfdev->sdi->vendor ? cfdev->sdi->vendor : "", +- cfdev->sdi->model ? cfdev->sdi->model : "", +- cfdev->sdi->version ? cfdev->sdi->version : ""); ++ sr_dev_inst_vendor_get(cfdev->sdi), ++ sr_dev_inst_model_get(cfdev->sdi), ++ sr_dev_inst_version_get(cfdev->sdi)); + INFO("sigrok plugin: Device \"%s\" is a %s", cfdev->name, hwident); + + if (sr_dev_open(cfdev->sdi) != SR_OK) + return -1; + +- if (sr_session_dev_add(cfdev->sdi) != SR_OK) ++ if (sr_session_dev_add(session, cfdev->sdi) != SR_OK) + return -1; + + return 1; + } + + static void *sigrok_read_thread(void *arg __attribute__((unused))) { ++ struct sr_session *session; + struct sr_dev_driver *drv, **drvlist; + GSList *l; + struct config_device *cfdev; +@@ -277,11 +279,11 @@ static void *sigrok_read_thread(void *arg __attribute__((unused))) { + return NULL; + } + +- if (!sr_session_new()) ++ if (!sr_session_new(sr_ctx, &session)) + return NULL; + + num_devices = 0; +- drvlist = sr_driver_list(); ++ drvlist = sr_driver_list(sr_ctx); + for (l = config_devices; l; l = l->next) { + cfdev = l->data; + drv = NULL; +@@ -296,7 +298,7 @@ static void *sigrok_read_thread(void *arg __attribute__((unused))) { + return NULL; + } + +- if ((ret = sigrok_init_driver(cfdev, drv)) < 0) ++ if ((ret = sigrok_init_driver(cfdev, session, drv)) < 0) + /* Error was already logged. */ + return NULL; + +@@ -305,21 +307,22 @@ static void *sigrok_read_thread(void *arg __attribute__((unused))) { + + if (num_devices > 0) { + /* Do this only when we're sure there's hardware to talk to. */ +- if (sr_session_datafeed_callback_add(sigrok_feed_callback, NULL) != SR_OK) ++ if (sr_session_datafeed_callback_add(session, sigrok_feed_callback, ++ NULL) != SR_OK) + return NULL; + + /* Start acquisition on all devices. */ +- if (sr_session_start() != SR_OK) ++ if (sr_session_start(session) != SR_OK) + return NULL; + + /* Main loop, runs forever. */ +- sr_session_run(); ++ sr_session_run(session); + +- sr_session_stop(); +- sr_session_dev_remove_all(); ++ sr_session_stop(session); ++ sr_session_dev_remove_all(session); + } + +- sr_session_destroy(); ++ sr_session_destroy(session); + + sr_exit(sr_ctx); + diff --git a/app-metrics/collectd/files/collectd-5.12.0-clang16-configure.patch b/app-metrics/collectd/files/collectd-5.12.0-clang16-configure.patch new file mode 100644 index 000000000000..578099579c47 --- /dev/null +++ b/app-metrics/collectd/files/collectd-5.12.0-clang16-configure.patch @@ -0,0 +1,127 @@ +https://bugs.gentoo.org/879633 +https://bugs.gentoo.org/900392 +https://github.com/collectd/collectd/pull/4106 + +From f23164e589502ff675b3b54fa598bd9efd1422ed Mon Sep 17 00:00:00 2001 +From: Florian Weimer <fweimer@redhat.com> +Date: Thu, 6 Apr 2023 19:00:08 +0200 +Subject: [PATCH] Fix glibc feature macro handling for timegm + +The way strptime is activated using feature macros, _DEFAULT_SOURCE +(successor to _BSD_SOURCE) is disabled implicitly, so timegm is +hidden. Defining _DEFAULT_SOURCE at the same time as the other +feature macros solves this, and removes the need for the +TIMEGM_NEEDS_BSD configure macro. + +This avoids an implicit declaration of timegm in src/bind.c, and build +failures with future compilers. +--- + configure.ac | 53 ++++++++++++---------------------------------------- + src/bind.c | 10 +++++----- + 2 files changed, 17 insertions(+), 46 deletions(-) + +diff --git a/configure.ac b/configure.ac +index bbe65a7e99..78bbff6624 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -974,6 +974,12 @@ if test "x$have_strptime" = "xyes" && test "x$c_cv_have_strptime_default" = "xno + #ifndef _XOPEN_SOURCE + # define _XOPEN_SOURCE 500 + #endif ++ # ifndef _BSD_SOURCE ++ # define _BSD_SOURCE ++ # endif ++ # ifndef _DEFAULT_SOURCE ++ # define _DEFAULT_SOURCE ++ # endif + #include <time.h> + ]], + [[ +@@ -1024,6 +1030,12 @@ AC_CACHE_CHECK([for timegm], + # ifndef _XOPEN_SOURCE + # define _XOPEN_SOURCE 500 + # endif ++# ifndef _BSD_SOURCE ++# define _BSD_SOURCE ++# endif ++# ifndef _DEFAULT_SOURCE ++# define _DEFAULT_SOURCE ++# endif + #endif + #include <time.h> + ]]], +@@ -1039,50 +1051,9 @@ AC_CACHE_CHECK([for timegm], + ) + ) + +-if test "x$c_cv_have_timegm" != "xyes" +-then +- AC_CACHE_CHECK([for timegm with _BSD_SOURCE], +- [c_cv_have_timegm_bsd], +- AC_LINK_IFELSE( +- [AC_LANG_PROGRAM( +-[[[ +-#if STRPTIME_NEEDS_STANDARDS +-# ifndef _ISOC99_SOURCE +-# define _ISOC99_SOURCE 1 +-# endif +-# ifndef _POSIX_C_SOURCE +-# define _POSIX_C_SOURCE 200112L +-# endif +-# ifndef _XOPEN_SOURCE +-# define _XOPEN_SOURCE 500 +-# endif +-#endif +-#ifndef _BSD_SOURCE +-# define _BSD_SOURCE 1 +-#endif +-#include <time.h> +-]]], +-[[[ +- time_t t = timegm(&(struct tm){0}); +- if (t == ((time_t) -1)) { +- return 1; +- } +-]]] +- )], +- [c_cv_have_timegm_bsd="yes" +- c_cv_have_timegm="yes"], +- [c_cv_have_timegm_bsd="no"] +- ) +- ) +-fi +- + if test "x$c_cv_have_timegm" = "xyes" + then + AC_DEFINE(HAVE_TIMEGM, 1, [Define if the timegm(3) function is available.]) +- if test "x$c_cv_have_timegm_bsd" = "xyes" +- then +- AC_DEFINE(TIMEGM_NEEDS_BSD, 1, [Set to true if timegm is only exported in BSD mode.]) +- fi + fi + + CFLAGS="$SAVE_CFLAGS" +diff --git a/src/bind.c b/src/bind.c +index a246f1aacf..4a7c024253 100644 +--- a/src/bind.c ++++ b/src/bind.c +@@ -33,13 +33,13 @@ + #ifndef _XOPEN_SOURCE + #define _XOPEN_SOURCE 500 + #endif +-#endif /* STRPTIME_NEEDS_STANDARDS */ +- +-#if TIMEGM_NEEDS_BSD + #ifndef _BSD_SOURCE +-#define _BSD_SOURCE 1 ++#define _BSD_SOURCE + #endif +-#endif /* TIMEGM_NEEDS_BSD */ ++#ifndef _DEFAULT_SOURCE ++#define _DEFAULT_SOURCE ++#endif ++#endif /* STRPTIME_NEEDS_STANDARDS */ + + #include "collectd.h" + + diff --git a/app-metrics/collectd/files/collectd-5.12.0-nut-c99.patch b/app-metrics/collectd/files/collectd-5.12.0-nut-c99.patch new file mode 100644 index 000000000000..0935eed070e9 --- /dev/null +++ b/app-metrics/collectd/files/collectd-5.12.0-nut-c99.patch @@ -0,0 +1,143 @@ +https://github.com/collectd/collectd/commit/d409ffa2a64cac3fc2abe2bb86ec3a80cb34d0a6 + +From d409ffa2a64cac3fc2abe2bb86ec3a80cb34d0a6 Mon Sep 17 00:00:00 2001 +From: Jim Klimov <jimklimov+nut@gmail.com> +Date: Wed, 31 Aug 2022 11:40:01 +0200 +Subject: [PATCH] configure.ac, src/nut.c: detect int types required by NUT API + we build against + +Either use the stricter int types required by NUT headers since v2.8.0 release, +or the relaxed (arch-dependent) types required by older NUT releases - depending +on which NUT API version the collectd is building against at the moment. + +Inspired by discussion at https://github.com/networkupstools/nut/issues/1638 +--- a/configure.ac ++++ b/configure.ac +@@ -5881,6 +5881,106 @@ if test "x$with_libupsclient" = "xyes"; then + CPPFLAGS="$SAVE_CPPFLAGS" + fi + ++if test "x$with_libupsclient" = "xyes"; then ++ dnl The m4 script logic below is modelled after NUT_FUNC_GETNAMEINFO_ARGTYPES ++ dnl further originating in curl autoconf scripts or beyond. See there for an ++ dnl example of general-case logic to handle matching of numerous possible ++ dnl data types for each argument in supported API variants. ++ dnl Note: techically compiler complains here not about int types themselves, ++ dnl but about pointers to such data. We know "out of band" that e.g. NUT ++ dnl change to "size_t" happened at once for all arguments in the API, so ++ dnl simplify the handling here and now with that assumption. ++ AC_LANG_PUSH([C]) ++ SAVE_CPPFLAGS="$CPPFLAGS" ++ SAVE_LDFLAGS="$LDFLAGS" ++ SAVE_CFLAGS="$CFLAGS" ++ CPPFLAGS="$CPPFLAGS $with_libupsclient_cflags" ++ LDFLAGS="$LDFLAGS $with_libupsclient_libs" ++ CFLAGS="$CFLAGS $with_libupsclient_cflags" ++ if test "x$GCC" = "xyes"; then ++ CFLAGS="$CFLAGS -Wall -Werror" ++ fi ++ ++ dnl upscli_splitname() *is* there forever (2007 or older) ++ dnl but int types e.g. "port" changed in NUT 2.8.0 ++ dnl Also this is the UPSCONN_t::port field type: ++ AC_CACHE_CHECK([int type of port argument for NUT upscli_splitname], ++ [collectd_cv_func_upscli_splitname_args], [ ++ collectd_cv_func_upscli_splitname_args="unknown" ++ for port_arg in 'uint16_t' 'int' ; do ++ AC_COMPILE_IFELSE([ ++ AC_LANG_PROGRAM([ ++#include <upsclient.h> ++/* int upscli_splitname(const char *buf, char **upsname, char **hostname, <port_arg> *port); */ ++ ],[ ++const char *origname = "ups@localhost:3493"; ++$port_arg port=0; ++char *hostname; ++char *upsname; ++int res = upscli_splitname(origname, &upsname, &hostname, &port); ++return(res); ++ ]) ++ ],[ ++ collectd_cv_func_upscli_splitname_args="$port_arg" ++ break ++ ]) ++ done ++ ]) ++ ++ AS_IF([test x"$collectd_cv_func_upscli_splitname_args" = xunknown], ++ [AC_MSG_WARN([Can not find proper port type for upscli_splitname()]) ++ with_libupsclient="no (required data types for NUT API were not detected)"], ++ [AC_DEFINE_UNQUOTED(NUT_PORT_TYPE, $collectd_cv_func_upscli_splitname_args, ++ [Define to the integer type for TCP/IP ports used by NUT API we build against]) ++ ]) ++ ++ ++ AC_CACHE_CHECK([int type of length/numbering arguments for NUT upscli_list_next], ++ [collectd_cv_func_upscli_list_next_args], [ ++ collectd_cv_func_upscli_list_next_args="unknown" ++ for size_arg in 'size_t' 'unsigned int' 'int' ; do ++ AC_COMPILE_IFELSE([ ++ AC_LANG_PROGRAM([ ++#include <upsclient.h> ++/* int upscli_list_next(UPSCONN_t *ups, <size_arg> numq, const char **query, <size_arg> *numa, char ***answer); */ ++ ++#if HAVE_UPSCONN_T ++typedef UPSCONN_t collectd_upsconn_t; ++#elif HAVE_UPSCONN ++typedef UPSCONN collectd_upsconn_t; ++#else ++#error "Unable to determine the UPS connection type." ++#endif ++ ],[ ++$size_arg query_num=0; ++$size_arg answer_num=0; ++const char * query; ++char** answer; ++collectd_upsconn_t ups; ++int res = upscli_list_next(&ups, query_num, &query, &answer_num, &answer); ++return(res); ++ ]) ++ ],[ ++ collectd_cv_func_upscli_list_next_args="$size_arg" ++ break ++ ]) ++ done ++ ]) ++ ++ AS_IF([test x"$collectd_cv_func_upscli_list_next_args" = xunknown], ++ [AC_MSG_WARN([Can not find proper type for array sizes and string lengths used by upscli_list_next()]) ++ with_libupsclient="no (required data types for NUT API were not detected)"], ++ [AC_DEFINE_UNQUOTED(NUT_SIZE_TYPE, $collectd_cv_func_upscli_list_next_args, ++ [Define to the integer type for array sizes and string lengths used by NUT API we build against]) ++ ]) ++ ++ ++ CPPFLAGS="$SAVE_CPPFLAGS" ++ LDFLAGS="$SAVE_LDFLAGS" ++ CFLAGS="$SAVE_CFLAGS" ++ AC_LANG_POP([C]) ++fi ++ + if test "x$with_libupsclient" = "xyes"; then + BUILD_WITH_LIBUPSCLIENT_CFLAGS="$with_libupsclient_cflags" + BUILD_WITH_LIBUPSCLIENT_LIBS="$with_libupsclient_libs" +--- a/src/nut.c ++++ b/src/nut.c +@@ -46,7 +46,7 @@ struct nut_ups_s { + collectd_upsconn_t *conn; + char *upsname; + char *hostname; +- int port; ++ NUT_PORT_TYPE port; + nut_ups_t *next; + }; + +@@ -250,7 +250,7 @@ static int nut_read(user_data_t *user_data) { + const char *query[3] = {"VAR", ups->upsname, NULL}; + unsigned int query_num = 2; + char **answer; +- unsigned int answer_num; ++ NUT_SIZE_TYPE answer_num; + int status; + + /* (Re-)Connect if we have no connection */ + diff --git a/app-metrics/collectd/files/collectd-5.12.0-python3_11.patch b/app-metrics/collectd/files/collectd-5.12.0-python3_11.patch new file mode 100644 index 000000000000..3c0572889559 --- /dev/null +++ b/app-metrics/collectd/files/collectd-5.12.0-python3_11.patch @@ -0,0 +1,33 @@ +From 623e95394e0e62e7f9ced2104b786d21e9c0bf53 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= + <congdanhqx@gmail.com> +Date: Wed, 21 Sep 2022 22:21:58 +0700 +Subject: [PATCH] cpython: fix build with Python 3.11 + +Python 3.11 moves longintrepr.h into cpython sub-directory. +However, in this version, longintrepr.h is always included. +--- + src/cpython.h | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/src/cpython.h b/src/cpython.h +index 11e64fa62f..bcfa406feb 100644 +--- a/src/cpython.h ++++ b/src/cpython.h +@@ -24,9 +24,15 @@ + * Sven Trenkel <collectd at semidefinite.de> + **/ + ++#include <Python.h> + /* Some python versions don't include this by default. */ +- ++#if PY_VERSION_HEX < 0x030B0000 ++/* ++ * Python 3.11 move longintrepr.h to cpython/longintrepr.h ++ * And it's always included ++ */ + #include <longintrepr.h> ++#endif /* PY_VERSION_HEX < 0x030B0000 */ + + /* These two macros are basically Py_BEGIN_ALLOW_THREADS and + * Py_BEGIN_ALLOW_THREADS diff --git a/app-metrics/collectd/files/collectd.confd-r2 b/app-metrics/collectd/files/collectd.confd-r2 new file mode 100644 index 000000000000..38fb9a6057e6 --- /dev/null +++ b/app-metrics/collectd/files/collectd.confd-r2 @@ -0,0 +1,49 @@ +# Distributed under the terms of the GNU General Public License v2 + +# Nice value used to launch collectd, to change priority of the process. As +# you usually we want to run it in background, a default of 5 is used. +# +#COLLECTD_NICELEVEL=5 + +# Location of configuration file. Modify if you don't like the standard +# one. +# +#COLLECTD_CONFIGFILE="/etc/collectd.conf" + +# File used to store the PID file. Usually you won't need to touch it. +# If you are going to change PID file location make sure that *only* +# root is allowed to write into that directory. +# +#COLLECTD_PIDFILE="/run/collectd.pid" + +# User to run collectd as (default is collectd, change to root or give +# collectd user appropriate privileges if you use one of the plugins that +# require it, as e.g. ping or iptables plugins) +# +#COLLECTD_USER="collectd" + +# The default collectd UNIX socket location in /run/collectd is now +# maintained via tmpfiles service. Therefore, the COLLECTD_GROUP setting +# isn't used anymore. +# If you are going to change UNIX socket location or change COLLECTD_USER +# setting above, make sure you overwrite /usr/lib/tmpfiles.d/collectd.conf +# via copy in /usr/lib/tmpfiles.d/collectd.conf to match your setup. +#COLLECTD_GROUP="collectd" + +# 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. +#COLLECTD_SSDARGS="--wait 1000" + +# The termination timeout (start-stop-daemon parameter "retry") ensures +# that the service will be terminated within a given time (25 + 5 seconds +# per default) when you are stopping the service. +#COLLECTD_TERMTIMEOUT="TERM/25/KILL/5" + +# Options to collectd +# See collectd(8) for more details +# Notes: +# * Do not specify another PIDFILE but use the variable above to change the location +# * Do not specify another CONFIGFILE but use the variable above to change the location +#COLLECTD_OPTS="" diff --git a/app-metrics/collectd/files/collectd.initd-r3 b/app-metrics/collectd/files/collectd.initd-r3 new file mode 100644 index 000000000000..aa3396d5a451 --- /dev/null +++ b/app-metrics/collectd/files/collectd.initd-r3 @@ -0,0 +1,71 @@ +#!/sbin/openrc-run +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +COLLECTD_CONFIGFILE=${COLLECTD_CONFIGFILE:-"/etc/collectd.conf"} +COLLECTD_PIDFILE=${COLLECTD_PIDFILE:-"/run/collectd.pid"} +COLLECTD_NICELEVEL=${COLLECTD_NICELEVEL:-5} +COLLECTD_USER=${COLLECTD_USER:-"collectd"} +COLLECTD_GROUP=${COLLECTD_GROUP:-"collectd"} +COLLECTD_SSDARGS=${COLLECTD_SSDARGS:-"--wait 1000"} +COLLECTD_TERMTIMEOUT=${COLLECTD_TERMTIMEOUT:-"TERM/25/KILL/5"} +COLLECTD_OPTS=${COLLECTD_OPTS:-""} + +command="/usr/sbin/collectd" +command_args="${COLLECTD_OPTS} -C \"${COLLECTD_CONFIGFILE}\" -f" +command_background=true +command_group="${COLLECTD_GROUP}" +command_user="${COLLECTD_USER}" +start_stop_daemon_args="${COLLECTD_SSDARGS} --nice ${COLLECTD_NICELEVEL}" +pidfile="${COLLECTD_PIDFILE}" +retry="${COLLECTD_TERMTIMEOUT}" + +extra_commands="configtest" +description_configtest="Run collectd's internal config check." + +required_files="\"${COLLECTD_CONFIGFILE}\"" + +depend() { + use dns +} + +_checkconfig() { + if [ $(sed '/^$\|^#/d' "${COLLECTD_CONFIGFILE}" | grep 'LoadPlugin[[:space:]]\+oracle' | wc -l) -ge 1 ] ; then + if [ -e /etc/env.d/50oracle-instantclient-basic ] ; then + . /etc/env.d/50oracle-instantclient-basic + export ORACLE_HOME + export TNS_ADMIN + else + ewarn "Unable to set Oracle environment, Oracle plugin wont work" + fi + fi + + local test_command="${command} -t -C \"${COLLECTD_CONFIGFILE}\"" + + eval ${test_command} 1>/dev/null 2>&1 + ret=$? + if [ $ret -ne 0 ]; then + eerror "${SVCNAME} has detected an error in your configuration:" + eval ${test_command} + fi + + return $ret +} + +configtest() { + ebegin "Checking ${SVCNAME} configuration" + _checkconfig + eend $? +} + +start_pre() { + if [ "${RC_CMD}" != "restart" ]; then + configtest || return 1 + fi +} + +stop_pre() { + if [ "${RC_CMD}" = "restart" ]; then + configtest || return 1 + fi +} diff --git a/app-metrics/collectd/files/collectd.logrotate b/app-metrics/collectd/files/collectd.logrotate new file mode 100644 index 000000000000..5d344f6208f1 --- /dev/null +++ b/app-metrics/collectd/files/collectd.logrotate @@ -0,0 +1,9 @@ +# +# /etc/logrotate.d/collectd +# +/var/log/collectd.log { + daily + rotate 5 + notifempty + missingok +} diff --git a/app-metrics/collectd/files/collectd.tmpfile b/app-metrics/collectd/files/collectd.tmpfile new file mode 100644 index 000000000000..4524a56ec183 --- /dev/null +++ b/app-metrics/collectd/files/collectd.tmpfile @@ -0,0 +1 @@ +d /run/collectd 0770 collectd collectd diff --git a/app-metrics/collectd/metadata.xml b/app-metrics/collectd/metadata.xml new file mode 100644 index 000000000000..01fe3556ab5a --- /dev/null +++ b/app-metrics/collectd/metadata.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>conikost@gentoo.org</email> + <name>Conrad Kostecki</name> + </maintainer> + <longdescription lang="en"> + Collectd gathers statistics about the system it is running on and stores this + information. Those statistics can then be used to find current performance + bottlenecks (i.e. performance analysis) and predict future system load (i.e. + capacity planning). Or if you just want pretty graphs of your private server + and are fed up with some homegrown solution you're at the right place. + </longdescription> + <upstream> + <bugs-to>https://github.com/collectd/collectd/issues</bugs-to> + <doc lang="en">https://collectd.org/documentation.shtml</doc> + <remote-id type="cpe">cpe:/a:collectd:collectd</remote-id> + </upstream> + <use> + <flag name="contrib">Install user-contributed files in the doc directory</flag> + <flag name="filecaps">When set collectd daemon will have set required capabilities to run most plugins even if run as unprivileged user</flag> + <flag name="java">Must be set (workaround for java-pkg-opt-2 eclass limitation) when you want java or genericjmx plugin</flag> + <flag name="udev">Enable optional udev usage in disk plugin; Required for smart plugin</flag> + <flag name="xfs">Enable optional capability to filter on XFS file system in df plugin; Requires XFS headers from <pkg>sys-fs/xfsprogs</pkg> + </flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/consul_exporter/Manifest b/app-metrics/consul_exporter/Manifest new file mode 100644 index 000000000000..f241a01ea496 --- /dev/null +++ b/app-metrics/consul_exporter/Manifest @@ -0,0 +1,2 @@ +DIST consul_exporter-0.13.0-deps.tar.xz 41437028 BLAKE2B 35491dc107030d0d705aad68df69c3deed121564464373c820cc10990beb70d6043ae72c65d3289081a0356b5a302500da8c74fc9a5692cc06032a2db1c8514e SHA512 497db1db0ca37c38da293d5186274dcc4e5b20741a048a9bb07338d2f158fef43f8bcb5647cbc14065946eb00fc3a0e5f6b0e06616004b14d6084526fc838437 +DIST consul_exporter-0.13.0.tar.gz 34832 BLAKE2B d85e0320827852493c24be4108786e054f59fac0dd509b84bfd57a99ff239dd93c7a35bb211a83b5020613116519c22f70e1e0913d505eff387d67aac2f3f9b9 SHA512 8ff923350fd935ee79aae582f955565c8127ac2f734d246714db4f47b1e2dca00312a8194cd59f835a3c173e66ff1b1c8f59d8576b27bcc4019b17a64224b3d5 diff --git a/app-metrics/consul_exporter/consul_exporter-0.13.0.ebuild b/app-metrics/consul_exporter/consul_exporter-0.13.0.ebuild new file mode 100644 index 000000000000..60c30b9cd20f --- /dev/null +++ b/app-metrics/consul_exporter/consul_exporter-0.13.0.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module + +CONSUL_EXPORTER_COMMIT=11bf27e69d + +MY_PV="v${PV/_rc/-rc.}" + +DESCRIPTION="Prometheus exporter for consul metrics" +HOMEPAGE="https://github.com/prometheus/consul_exporter" +SRC_URI="https://github.com/prometheus/consul_exporter/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="Apache-2.0 BSD BSD-2 MIT MPL-2.0" +SLOT="0" +KEYWORDS="~amd64" + +COMMON_DEPEND="acct-group/consul_exporter + acct-user/consul_exporter" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND}" +BDEPEND="dev-util/promu" + +RESTRICT+=" test" + +src_prepare() { + default + sed -i \ + -e "s/{{.Revision}}/${CONSUL_EXPORTER_COMMIT}/" \ + -e "s/{{.Version}}/${PV}/" \ + .promu.yml || die "Sed failed" +} + +src_compile() { + promu build -v || die +} + +src_install() { + dobin ${PN} + dodoc {README,CONTRIBUTING}.md + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + keepdir /var/log/consul_exporter + fowners ${PN}:${PN} /var/log/consul_exporter +} diff --git a/app-metrics/consul_exporter/files/consul_exporter.confd b/app-metrics/consul_exporter/files/consul_exporter.confd new file mode 100644 index 000000000000..eb5fbdeb0cd3 --- /dev/null +++ b/app-metrics/consul_exporter/files/consul_exporter.confd @@ -0,0 +1,3 @@ +# Please set the flags you wish to pass to consul_exporter in +# command_args +# command_args="" diff --git a/app-metrics/consul_exporter/files/consul_exporter.initd b/app-metrics/consul_exporter/files/consul_exporter.initd new file mode 100644 index 000000000000..dbbbfa9c2479 --- /dev/null +++ b/app-metrics/consul_exporter/files/consul_exporter.initd @@ -0,0 +1,15 @@ +#!/sbin/openrc-run +# Copyright 2016-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +description="Consul Exporter for Prometheus" +command="/usr/bin/consul_exporter" +command_background=true +command_user="${RC_SVCNAME}:${RC_SVCNAME}" +error_log=/var/log/consul_exporter/${RC_SVCNAME}.log +output_log=/var/log/consul_exporter/${RC_SVCNAME}.log +pidfile=/var/run/${RC_SVCNAME}.pid + +depend() { + after consul net +} diff --git a/app-metrics/consul_exporter/metadata.xml b/app-metrics/consul_exporter/metadata.xml new file mode 100644 index 000000000000..17492b5107c4 --- /dev/null +++ b/app-metrics/consul_exporter/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/dnsmasq_exporter/Manifest b/app-metrics/dnsmasq_exporter/Manifest new file mode 100644 index 000000000000..26035c37a7dc --- /dev/null +++ b/app-metrics/dnsmasq_exporter/Manifest @@ -0,0 +1,2 @@ +DIST dnsmasq_exporter-0.3.0-deps.tar.xz 152635028 BLAKE2B 47e7be4fd997c717e3737aa6a5074588d8d00b1415d68c8848758af4d2d17e602ff936866ff0e125bfbc239474842d063929ba6be761c6b397740f170036fd02 SHA512 359775e5ad9d8c38fc8acb4ffbc225178593c28de99d40c1227e3d12400dba1a57c817b791d3039f5cc7eaa2c12f6c4a47d1ecb9de6da39439385b95196987be +DIST dnsmasq_exporter-0.3.0.tar.gz 30721 BLAKE2B 77f2fa32b6e7319a8b1a51075136cbc0aadb0fc2d74b68f6f36fd1a8108a2645a7c0b551786d15704ed552c777a68f3937272e6a47615f333b1ccb4ab4b20c16 SHA512 070ae329884646d3a30b0b8e37ecf2f7a5acee982e616b45117fbe684bf236d40777a517676dba8071a57f4d5f55aa1e5bb821bd3fa248ffaf923a80c7bf089b diff --git a/app-metrics/dnsmasq_exporter/dnsmasq_exporter-0.3.0.ebuild b/app-metrics/dnsmasq_exporter/dnsmasq_exporter-0.3.0.ebuild new file mode 100644 index 000000000000..7761bab78363 --- /dev/null +++ b/app-metrics/dnsmasq_exporter/dnsmasq_exporter-0.3.0.ebuild @@ -0,0 +1,39 @@ +# Copyright 2019-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module + +DESCRIPTION="prometheus exporter for dnsmasq" +HOMEPAGE="https://github.com/google/dnsmasq_exporter" +SRC_URI="https://github.com/google/dnsmasq_exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz +https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="BSD MIT Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=" + acct-group/dnsmasq_exporter + acct-user/dnsmasq_exporter" + RDEPEND="${DEPEND}" + +src_compile() { + ego build +} + +src_install() { + dobin dnsmasq_exporter + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + keepdir /var/log/dnsmasq_exporter + fowners ${PN}:${PN} /var/log/dnsmasq_exporter +} + +pkg_postinst() { + if [[ -e "${EROOT}"/var/log/ddnsmasq_exporter ]]; then + elog "The log directory is now ${EROOT}/var/log/dnsmasq_exporter" + elog "in order to fix a typo." + fi +} diff --git a/app-metrics/dnsmasq_exporter/files/dnsmasq_exporter.confd b/app-metrics/dnsmasq_exporter/files/dnsmasq_exporter.confd new file mode 100644 index 000000000000..f655cc32abfe --- /dev/null +++ b/app-metrics/dnsmasq_exporter/files/dnsmasq_exporter.confd @@ -0,0 +1,3 @@ +# Please set the flags you wish to pass to dnsmasq_exporter in +# command_args +# command_args="" diff --git a/app-metrics/dnsmasq_exporter/files/dnsmasq_exporter.initd b/app-metrics/dnsmasq_exporter/files/dnsmasq_exporter.initd new file mode 100644 index 000000000000..7c600efdbbaf --- /dev/null +++ b/app-metrics/dnsmasq_exporter/files/dnsmasq_exporter.initd @@ -0,0 +1,15 @@ +#!/sbin/openrc-run +# Copyright 2016-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +description="dnsmasq Exporter for Prometheus" +command="/usr/bin/dnsmasq_exporter" +command_background=true +command_user="${RC_SVCNAME}:${RC_SVCNAME}" +error_log=/var/log/dnsmasq_exporter/${RC_SVCNAME}.log +output_log=/var/log/dnsmasq_exporter/${RC_SVCNAME}.log +pidfile=/var/run/${RC_SVCNAME}.pid + +depend() { + after dnsmasq net +} diff --git a/app-metrics/dnsmasq_exporter/metadata.xml b/app-metrics/dnsmasq_exporter/metadata.xml new file mode 100644 index 000000000000..17492b5107c4 --- /dev/null +++ b/app-metrics/dnsmasq_exporter/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/elasticsearch_exporter/Manifest b/app-metrics/elasticsearch_exporter/Manifest new file mode 100644 index 000000000000..01992dabedde --- /dev/null +++ b/app-metrics/elasticsearch_exporter/Manifest @@ -0,0 +1,4 @@ +DIST elasticsearch_exporter-1.3.0-deps.tar.xz 106387304 BLAKE2B d67e8b746ecf9f05310194485ac99b95768b813a7265b3ec445261d52708551c37bc14718021ee67306c84fedc323f5ef4e87cba043354b3b49c9ba0764e5575 SHA512 0374030189927deb14c8bd34b6472e9be8f7025aea525394a5eca5d6899311296e7eeefb7d05a2b4a75549c4590b9590dd592ab3c0aaf008c311922a01ea81d5 +DIST elasticsearch_exporter-1.3.0.tar.gz 93489 BLAKE2B 33e2dbe9608bd052bc4f31fc2a38774981d96f30fd54465bd2b10d075f0fade29fe6c40d2e32370a38edc41d04b3772100c39f5670c302a0a334e2a7d5ee6463 SHA512 a88ec20cd7f2f9859d2e169f7813b84c3286b65dfc3a625545608416dbee5f96d4e223e7d2ea2f2b788be766ead1abb11b795d3059a628d0c3c56f567eebea00 +DIST elasticsearch_exporter-1.8.0-deps.tar.xz 9361520 BLAKE2B 67b89d1dd7d2fb3751cb8f64f55b851dfbebe0629f1efc90428145783d80b2e815ef6c317acb6920da366ba68ed3b8079311addea020e3ed0342b1e20177f294 SHA512 40050c678f4bd71d1c6bc23947d47434d23838f127476649a0bc533cf2a5db3f9195bf31b1f197b9ee80347be4de9cfa92cbe7ebee478780d25d3bd66267ac56 +DIST elasticsearch_exporter-1.8.0.tar.gz 111232 BLAKE2B 50a32a27492a7c21f5bd0f5022087566733fbc1a477011cfd19a7be7601fe01ec0c993a5c71ca32bd7e09ba28e00f45be4f546ab95cf78207b8542e41de681e9 SHA512 d9c0e582b566f1cdd025da2fda812b458c96f14db9f05a4e82238ddc581c5b30d4685e8f5d40e41c0c919b66e7af810ba01b649cd34537cf8d2995bd4b49045c diff --git a/app-metrics/elasticsearch_exporter/elasticsearch_exporter-1.3.0.ebuild b/app-metrics/elasticsearch_exporter/elasticsearch_exporter-1.3.0.ebuild new file mode 100644 index 000000000000..f0848da7b21d --- /dev/null +++ b/app-metrics/elasticsearch_exporter/elasticsearch_exporter-1.3.0.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +GIT_COMMIT=fe20e49 +MY_PV=${PV/_/} +inherit go-module +DESCRIPTION="Elasticsearch stats exporter for Prometheus" +HOMEPAGE="https://github.com/justwatchcom/elasticsearch_exporter" +SRC_URI="https://github.com/justwatchcom/elasticsearch_exporter/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="Apache-2.0 BSD MIT" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND="acct-group/elasticsearch_exporter + acct-user/elasticsearch_exporter" + RDEPEND="${DEPEND}" +BDEPEND="dev-util/promu" + +src_prepare() { + default + sed -i -e "/-s$/d" -e "s/{{.Revision}}/${GIT_COMMIT}/" .promu.yml || die +} + +src_compile() { + promu build --prefix bin || die +} + +src_test() { + emake test-flags= test +} + +src_install() { + dobin bin/elasticsearch_exporter + dodoc {README,CHANGELOG}.md + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + keepdir /var/log/elasticsearch_exporter + fowners ${PN}:${PN} /var/log/elasticsearch_exporter +} diff --git a/app-metrics/elasticsearch_exporter/elasticsearch_exporter-1.8.0.ebuild b/app-metrics/elasticsearch_exporter/elasticsearch_exporter-1.8.0.ebuild new file mode 100644 index 000000000000..dfb7077974a5 --- /dev/null +++ b/app-metrics/elasticsearch_exporter/elasticsearch_exporter-1.8.0.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module + +GIT_COMMIT=fd25030ff5 + +MY_PV=${PV/_/} +DESCRIPTION="Elasticsearch stats exporter for Prometheus" +HOMEPAGE="https://github.com/justwatchcom/elasticsearch_exporter" +SRC_URI="https://github.com/justwatchcom/elasticsearch_exporter/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="Apache-2.0 BSD MIT" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND="acct-group/elasticsearch_exporter + acct-user/elasticsearch_exporter" + RDEPEND="${DEPEND}" +BDEPEND="dev-util/promu" + +src_prepare() { + default + sed -i -e "/-s$/d" -e "s/{{.Revision}}/${GIT_COMMIT}/" .promu.yml || die +} + +src_compile() { + promu build --prefix bin || die +} + +src_test() { + emake test-flags= test +} + +src_install() { + dobin bin/elasticsearch_exporter + dodoc {README,CHANGELOG}.md + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + keepdir /var/log/elasticsearch_exporter + fowners ${PN}:${PN} /var/log/elasticsearch_exporter +} diff --git a/app-metrics/elasticsearch_exporter/files/elasticsearch_exporter.confd b/app-metrics/elasticsearch_exporter/files/elasticsearch_exporter.confd new file mode 100644 index 000000000000..9a4dcce5b4b2 --- /dev/null +++ b/app-metrics/elasticsearch_exporter/files/elasticsearch_exporter.confd @@ -0,0 +1,2 @@ +# arguments for prometheus elasticsearch exporter +command_args="--es.uri=http://localhost:9200" diff --git a/app-metrics/elasticsearch_exporter/files/elasticsearch_exporter.initd b/app-metrics/elasticsearch_exporter/files/elasticsearch_exporter.initd new file mode 100644 index 000000000000..fe932b923d14 --- /dev/null +++ b/app-metrics/elasticsearch_exporter/files/elasticsearch_exporter.initd @@ -0,0 +1,19 @@ +#!/sbin/openrc-run +# Copyright 2016-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Prometheus elasticsearch exporter" +pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"} +user=${user:-${RC_SVCNAME}} +group=${group:-${RC_SVCNAME}} + +command="/usr/bin/elasticsearch_exporter" +command_args="${command_args:---es.uri=http://localhost:9200}" +command_background="true" +start_stop_daemon_args="--user ${user} --group ${group} \ + --stdout /var/log/elasticsearch_exporter/${RC_SVCNAME}.log \ + --stderr /var/log/elasticsearch_exporter/${RC_SVCNAME}.log" + +depend() { + after net +} diff --git a/app-metrics/elasticsearch_exporter/metadata.xml b/app-metrics/elasticsearch_exporter/metadata.xml new file mode 100644 index 000000000000..17492b5107c4 --- /dev/null +++ b/app-metrics/elasticsearch_exporter/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/exabgp_exporter/Manifest b/app-metrics/exabgp_exporter/Manifest new file mode 100644 index 000000000000..46d3ed3598af --- /dev/null +++ b/app-metrics/exabgp_exporter/Manifest @@ -0,0 +1,2 @@ +DIST exabgp_exporter-1.1.3-deps.tar.xz 6513860 BLAKE2B 171180eac9880f23d9e26275e546234595c224dfa1f5350ce1fb196bf8360cf7818f5438b94d587470e307230b2fb8b0386bc8713e91d8be27a0ea3b81ea9e9f SHA512 00278fee0b6a214f41e0ff47879961f5092d07d4b45aa593e23b8c55f4732bd269385e692a6156c47ed1c92c1b9ee50fbf659e2e6f05c62fe1fd42e2db83bd1b +DIST exabgp_exporter-1.1.3.tar.gz 102411 BLAKE2B 936a1aabaf52c9ee1ff02e14f899e00d481b178b492aabb53a531387c730b7fe6bbe90c3b3568c89323cb7d414b050a51cbb06d363ab0b93fdef93f71f88c1dc SHA512 55d19c5d305aa277797d3b6fe92f0a43bedf44916a24719c722316ad31079a5df6d69bca319475fcd2b6c9cbd7f7ad5b9acb10b46e188d45c84ed9bb99528c04 diff --git a/app-metrics/exabgp_exporter/exabgp_exporter-1.1.3.ebuild b/app-metrics/exabgp_exporter/exabgp_exporter-1.1.3.ebuild new file mode 100644 index 000000000000..87ba58aa1fa2 --- /dev/null +++ b/app-metrics/exabgp_exporter/exabgp_exporter-1.1.3.ebuild @@ -0,0 +1,33 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module systemd + +DESCRIPTION="Prometheus exporter for exabgp" +HOMEPAGE="https://github.com/gizmoguy/exabgp_exporter" +SRC_URI="https://github.com/gizmoguy/exabgp_exporter/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~zmedico/dist/${P}-deps.tar.xz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +src_compile() { + CGO_ENABLED=0 go build \ + -ldflags "-X github.com/prometheus/common/version.Version=${PV%_*} + -X github.com/prometheus/common/version.Branch=master \ + -X github.com/prometheus/common/version.BuildUser=$(whoami) + -X github.com/prometheus/common/version.BuildDate=$(date -u +'%FT%T%z')" \ + -o ./bin/${PN} ./cmd/exabgp_exporter/main.go || die +} + +src_install() { + dobin ./bin/${PN} + dodoc README.md + systemd_dounit "${FILESDIR}/${PN}.service" + systemd_newunit "${FILESDIR}/${PN}_at.service" "${PN}@.service" + newinitd "${FILESDIR}/${PN}.initd" "${PN}" + newconfd "${FILESDIR}/${PN}.confd" "${PN}" +} diff --git a/app-metrics/exabgp_exporter/files/exabgp_exporter.confd b/app-metrics/exabgp_exporter/files/exabgp_exporter.confd new file mode 100644 index 000000000000..213b394ea25a --- /dev/null +++ b/app-metrics/exabgp_exporter/files/exabgp_exporter.confd @@ -0,0 +1,2 @@ +#command_args="standalone" +#command_user="exabgp:exabgp" diff --git a/app-metrics/exabgp_exporter/files/exabgp_exporter.initd b/app-metrics/exabgp_exporter/files/exabgp_exporter.initd new file mode 100644 index 000000000000..b54e95b46222 --- /dev/null +++ b/app-metrics/exabgp_exporter/files/exabgp_exporter.initd @@ -0,0 +1,21 @@ +#!/sbin/openrc-run +# Copyright 2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +description="Prometheus exporter for exabgp" +command="/usr/bin/exabgp_exporter" +command_user="${command_user:-exabgp:exabgp}" +command_args="${command_args:-standalone}" +command_background=yes +error_log="${error_log:-/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log}" +output_log="${output_log:-/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log}" +pidfile="${pidfile:-/run/${RC_SVCNAME}.pid}" +start_stop_daemon_args="--user ${command_user%:*} --group ${command_user#*:}" +: "${supervisor:=supervise-daemon}" +: "${respawn_delay:=5}" +: "${respawn_max:=0}" + +start() { + checkpath --directory --owner "${command_user}" "${error_log%/*}" "${output_log%/*}" + default_start +} diff --git a/app-metrics/exabgp_exporter/files/exabgp_exporter.service b/app-metrics/exabgp_exporter/files/exabgp_exporter.service new file mode 100644 index 000000000000..f5c7d0d6f82a --- /dev/null +++ b/app-metrics/exabgp_exporter/files/exabgp_exporter.service @@ -0,0 +1,14 @@ +[Unit] +Description=Prometheus exporter for exabgp +Documentation=https://github.com/lusis/exabgp_exporter/blob/master/README.md + +[Install] +WantedBy=multi-user.target + +[Service] +EnvironmentFile=-/etc/systemd/system/exabgp_exporter.service.env +Environment=command_args="standalone" +TimeoutStartSec=0 +Restart=always +RestartSec=5s +ExecStart=/usr/bin/exabgp_exporter $command_args diff --git a/app-metrics/exabgp_exporter/files/exabgp_exporter_at.service b/app-metrics/exabgp_exporter/files/exabgp_exporter_at.service new file mode 100644 index 000000000000..17b13f089611 --- /dev/null +++ b/app-metrics/exabgp_exporter/files/exabgp_exporter_at.service @@ -0,0 +1,14 @@ +[Unit] +Description=Prometheus exporter for exabgp instance %i +Documentation=https://github.com/lusis/exabgp_exporter/blob/master/README.md + +[Install] +WantedBy=multi-user.target + +[Service] +EnvironmentFile=-/etc/systemd/system/exabgp_exporter@%i.service.env +Environment=command_args="standalone" +TimeoutStartSec=0 +Restart=always +RestartSec=5s +ExecStart=/usr/bin/exabgp_exporter $command_args diff --git a/app-metrics/exabgp_exporter/metadata.xml b/app-metrics/exabgp_exporter/metadata.xml new file mode 100644 index 000000000000..591131b1265f --- /dev/null +++ b/app-metrics/exabgp_exporter/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>zmedico@gentoo.org</email> + <name>Zac Medico</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/fritzbox_smarthome_exporter/Manifest b/app-metrics/fritzbox_smarthome_exporter/Manifest new file mode 100644 index 000000000000..d1060f342b48 --- /dev/null +++ b/app-metrics/fritzbox_smarthome_exporter/Manifest @@ -0,0 +1,2 @@ +DIST fritzbox_smarthome_exporter-0.4.3-deps.tar.xz 4487704 BLAKE2B 87c9ec8bba0768ec92efcdaa9ca8dd0aae723849d506e1c3c8b17c918f20d03f0fd27d25cbaed008ee3c0e09870caf692b96eeea0cf95df60512c810a9dff15e SHA512 801582c74ed8ae25dca8cf24a333ac4281a1a77630ce973d339f66d062a91b22d29b3e061bd9283849382546c6b930eb5d3b7fa257d2aa451203d5913e6ed0aa +DIST fritzbox_smarthome_exporter-0.4.3.tar.gz 35339 BLAKE2B 4ce01b831c5e72687eb8704859d227b3ea04b18d2dd21b74d7b5d7b451d89f39c4a1105d9c1109005f4ac9c01cc6e4ccbd58544f0e443f30e11f0a8612651ed8 SHA512 ab674b48ccfa32ecf9ef45674a612a0e3052bfc614ae40865158b9c32cc6c4714858edcdfe063ec91a8ea5a8a8f993f1b52a90764d07b9f52d18154efd04a5bd diff --git a/app-metrics/fritzbox_smarthome_exporter/files/fritzbox_smarthome_exporter.confd b/app-metrics/fritzbox_smarthome_exporter/files/fritzbox_smarthome_exporter.confd new file mode 100644 index 000000000000..7e70595ec3ce --- /dev/null +++ b/app-metrics/fritzbox_smarthome_exporter/files/fritzbox_smarthome_exporter.confd @@ -0,0 +1,35 @@ +# /etc/conf.d/fritzbox_smarthome_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="fritzbox_smarthome_exporter" + +# User group to run exporter as +#EXPORTER_GROUP="fritzbox_smarthome_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 `fritzbox_smarthome_exporter --help` for more details. +# For username and password use dedicated variables below. +EXPORTER_FLAGS="-url=\"https://fritz.box\"" +EXPORTER_FLAGS="${EXPORTER_FLAGS} -cert=/path/to/your/FRITZ!box/certificate.pem" + +# FRITZ!Box user +# Restricted user account for the exporter to use to connect to your FRITZ!Box. +FRITZBOX_USERNAME="smarthome_exporter" + +# FRITZ!Box user password +# Password for FRITZBOX_USERNAME (see above). +FRITZBOX_PASSWORD="secret_smarthome_exporter_user_password" diff --git a/app-metrics/fritzbox_smarthome_exporter/files/fritzbox_smarthome_exporter.initd b/app-metrics/fritzbox_smarthome_exporter/files/fritzbox_smarthome_exporter.initd new file mode 100644 index 000000000000..fa20e7b5cc47 --- /dev/null +++ b/app-metrics/fritzbox_smarthome_exporter/files/fritzbox_smarthome_exporter.initd @@ -0,0 +1,58 @@ +#!/sbin/openrc-run +# Copyright 2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +description="Prometheus exporter for FRITZ!Box Smart Home" + +EXPORTER_FLAGS=${EXPORTER_FLAGS:-""} +EXPORTER_USER=${EXPORTER_USER:-"fritzbox_smarthome_exporter"} +EXPORTER_GROUP=${EXPORTER_GROUP:-"fritzbox_smarthome_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/fritzbox_smarthome_exporter" +command_args="${EXPORTER_FLAGS}" +command_background="true" +start_stop_daemon_args="${EXPORTER_SSDARGS}" +start_stop_daemon_args="${start_stop_daemon_args} --user ${EXPORTER_USER}" +start_stop_daemon_args="${start_stop_daemon_args} --group ${EXPORTER_GROUP}" + +start_stop_daemon_args="${start_stop_daemon_args} --stdout /var/log/fritzbox_smarthome_exporter/${RC_SVCNAME}.log" +start_stop_daemon_args="${start_stop_daemon_args} --stderr /var/log/fritzbox_smarthome_exporter/${RC_SVCNAME}.log" + +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 +} + +pidfile="$(getconfig pidfile ${EXPORTER_PIDFILE})" +retry="$(getconfig retry ${EXPORTER_TERMTIMEOUT})" + +depend() { + after net + use dns +} + +start_pre() { + if [ -n "${FRITZBOX_USERNAME}" ] && [ -n "${FRITZBOX_PASSWORD}" ] ; then + export USERNAME="${FRITZBOX_USERNAME}" + export PASSWORD="${FRITZBOX_PASSWORD}" + fi +} + +start_post() { + service_set_value retry "${EXPORTER_TERMTIMEOUT}" +} diff --git a/app-metrics/fritzbox_smarthome_exporter/files/fritzbox_smarthome_exporter.logrotate b/app-metrics/fritzbox_smarthome_exporter/files/fritzbox_smarthome_exporter.logrotate new file mode 100644 index 000000000000..8d5ee32096c9 --- /dev/null +++ b/app-metrics/fritzbox_smarthome_exporter/files/fritzbox_smarthome_exporter.logrotate @@ -0,0 +1,5 @@ +/var/log/fritzbox_smarthome_exporter/*.log { + missingok + notifempty + size 30k +} diff --git a/app-metrics/fritzbox_smarthome_exporter/fritzbox_smarthome_exporter-0.4.3.ebuild b/app-metrics/fritzbox_smarthome_exporter/fritzbox_smarthome_exporter-0.4.3.ebuild new file mode 100644 index 000000000000..4a66f10f62ff --- /dev/null +++ b/app-metrics/fritzbox_smarthome_exporter/fritzbox_smarthome_exporter-0.4.3.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module + +DESCRIPTION="Prometheus exporter for FRITZ!Box Smart Home" +HOMEPAGE="https://github.com/jayme-github/fritzbox_smarthome_exporter" +SRC_URI="https://github.com/jayme-github/fritzbox_smarthome_exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="Apache-2.0 BSD GPL-3 MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +DEPEND="acct-group/fritzbox_smarthome_exporter + acct-user/fritzbox_smarthome_exporter" + +RDEPEND="${DEPEND}" + +src_compile() { + ego build -v -o bin/${PN} +} + +src_test() { + ego test -v ./... +} + +src_install() { + dobin bin/* + einstalldocs + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + # restrict access because conf.d entry could contain + # FRITZ!Box credentials + fperms 0640 /etc/conf.d/${PN} + insinto /etc/logrotate.d/ + newins "${FILESDIR}"/${PN}.logrotate ${PN} + keepdir /var/log/${PN} + fowners ${PN}:${PN} /var/log/${PN} +} diff --git a/app-metrics/fritzbox_smarthome_exporter/metadata.xml b/app-metrics/fritzbox_smarthome_exporter/metadata.xml new file mode 100644 index 000000000000..fd062d5d1135 --- /dev/null +++ b/app-metrics/fritzbox_smarthome_exporter/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <name>William Hubbs</name> + <email>williamh@gentoo.org</email> + </maintainer> + <upstream> + <bugs-to>https://github.com/jayme-github/fritzbox_smarthome_exporter/issues</bugs-to> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/fusioninventory-agent/Manifest b/app-metrics/fusioninventory-agent/Manifest new file mode 100644 index 000000000000..0b2878274ac1 --- /dev/null +++ b/app-metrics/fusioninventory-agent/Manifest @@ -0,0 +1 @@ +DIST fusioninventory-agent-2.5.2.tar.gz 2728830 BLAKE2B c6a26c4adb6b8e6bdaf829e46dffa47cc629731411f8b6e55a17eb83bd69536ca0e07899c5e3536ee3962326e643157c60ab8825971b2f44995e42f04e689321 SHA512 5bd39652fd3b857a4364fa300b07b8a2580bdafc6b84f95ab852b60b887ce8278bd99f85b74991b6da5cc21e1636f33c7125dbc27a02df915df4ea6f0ceffaed diff --git a/app-metrics/fusioninventory-agent/files/fusioninventory-agent-2.5.2-dirs.patch b/app-metrics/fusioninventory-agent/files/fusioninventory-agent-2.5.2-dirs.patch new file mode 100644 index 000000000000..a3a6b439713c --- /dev/null +++ b/app-metrics/fusioninventory-agent/files/fusioninventory-agent-2.5.2-dirs.patch @@ -0,0 +1,51 @@ +diff -urN a/lib/FusionInventory/Agent/Config.pm b/lib/FusionInventory/Agent/Config.pm +--- a/lib/FusionInventory/Agent/Config.pm 2020-05-27 11:09:31.969999393 -0000 ++++ b/lib/FusionInventory/Agent/Config.pm 2020-05-27 11:09:39.833332729 -0000 +@@ -67,7 +67,7 @@ + my ($class, %params) = @_; + + my $self = { +- '_confdir' => undef, # SYSCONFDIR replaced here from Makefile ++ '_confdir' => '/etc/fusioninventory', # SYSCONFDIR replaced here from Makefile + }; + bless $self, $class; + $self->_loadDefaults(); +diff -urN a/lib/setup.pm b/lib/setup.pm +--- a/lib/setup.pm 2020-05-27 11:09:31.989999393 -0000 ++++ b/lib/setup.pm 2020-05-27 11:11:02.233332727 -0000 +@@ -11,9 +11,9 @@ + our @EXPORT = ('%setup'); + + our %setup = ( +- datadir => './share', ++ datadir => '/usr/share/fusioninventory', + libdir => './lib', +- vardir => './var', ++ vardir => '/var/lib/fusioninventory', + ); + + # Compute directly libdir from this setup file as it should be installed +diff -urN a/Makefile.PL b/Makefile.PL +--- a/Makefile.PL 2020-05-27 11:09:31.966666059 -0000 ++++ b/Makefile.PL 2020-05-27 11:09:39.833332729 -0000 +@@ -170,18 +170,15 @@ + INSTALLSCRIPT => '$(PREFIX)/bin', + INSTALLSITESCRIPT => '$(PREFIX)/bin', + INSTALLVENDORSCRIPT => '$(PREFIX)/bin', +- INSTALLLIB => '$(DATADIR)/lib', +- INSTALLSITELIB => '$(DATADIR)/lib', +- INSTALLVENDORLIB => '$(DATADIR)/lib', + INSTALLMAN1DIR => '$(PREFIX)/share/man/man1', + INSTALLSITEMAN1DIR => '$(PREFIX)/share/man/man1', + INSTALLVENDORMAN1DIR => '$(PREFIX)/share/man/man1', + INSTALLMAN3DIR => '$(PREFIX)/share/man/man3', + INSTALLSITEMAN3DIR => '$(PREFIX)/share/man/man3', + INSTALLVENDORMAN3DIR => '$(PREFIX)/share/man/man3', +- SYSCONFDIR => '$(PREFIX)/etc/fusioninventory', ++ SYSCONFDIR => '/etc/fusioninventory', + DATADIR => '$(PREFIX)/share/fusioninventory', +- LOCALSTATEDIR => '$(PREFIX)/var/fusioninventory', ++ LOCALSTATEDIR => '/var/lib/fusioninventory', + ); + + # allow variables defined on command line to override defaults diff --git a/app-metrics/fusioninventory-agent/files/fusioninventory-agent.confd b/app-metrics/fusioninventory-agent/files/fusioninventory-agent.confd new file mode 100644 index 000000000000..8a68458e346c --- /dev/null +++ b/app-metrics/fusioninventory-agent/files/fusioninventory-agent.confd @@ -0,0 +1,2 @@ +# additional args for fusioninventory-agent +FUSIONINVENTORY_OPTIONS="" diff --git a/app-metrics/fusioninventory-agent/files/fusioninventory-agent.initd b/app-metrics/fusioninventory-agent/files/fusioninventory-agent.initd new file mode 100644 index 000000000000..58bd3bbf2b45 --- /dev/null +++ b/app-metrics/fusioninventory-agent/files/fusioninventory-agent.initd @@ -0,0 +1,21 @@ +#!/sbin/openrc-run +# Copyright 2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +pidfile=${RC_PREFIX%/}/run/${SVCNAME}.pid + +name="fusioninventory-agent daemon" +description="FusionInventroy agent" +command=/usr/bin/fusioninventory-agent +command_args="--daemon --pidfile ${pidfile} ${FUSIONINVENTORY_OPTIONS}" +extra_started_commands="reload" + +depend() { + need net +} + +reload() { + ebegin "Reloading ${SVCNAME}" + start-stop-daemon --signal HUP --pidfile "${pidfile}" + eend $? +} diff --git a/app-metrics/fusioninventory-agent/fusioninventory-agent-2.5.2.ebuild b/app-metrics/fusioninventory-agent/fusioninventory-agent-2.5.2.ebuild new file mode 100644 index 000000000000..9756d4073782 --- /dev/null +++ b/app-metrics/fusioninventory-agent/fusioninventory-agent-2.5.2.ebuild @@ -0,0 +1,57 @@ +# Copyright 2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit perl-module systemd + +DESCRIPTION="The FusionInventory agent is a generic management agent" +HOMEPAGE="http://fusioninventory.org/" +SRC_URI="https://github.com/fusioninventory/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND=" + dev-perl/libwww-perl + dev-perl/File-Which + dev-perl/Net-IP + dev-perl/Text-Template + dev-perl/UNIVERSAL-require + dev-perl/XML-TreePP + dev-perl/XML-XPath + virtual/perl-IO-Compress + virtual/perl-threads + dev-perl/HTTP-Daemon + dev-perl/IO-Socket-SSL + dev-perl/LWP-Protocol-https + dev-perl/Proc-Daemon +" +RDEPEND="${DEPEND}" +BDEPEND=" + dev-perl/Module-Install + dev-perl/File-Copy-Recursive + app-portage/gentoolkit +" + +PATCHES=( "${FILESDIR}/${P}-dirs.patch" ) + +src_prepare() { + # gentoo has ip under /bin/ip and ifconfig under /bin/ifconfig + sed \ + -e "s:/sbin/ifconfig:/bin/ifconfig:g" \ + -e "s:/sbin/ip:/bin/ip:g" \ + -i lib/FusionInventory/Agent/Task/Inventory/Linux/Networks.pm \ + -i lib/FusionInventory/Agent/Tools/Linux.pm || die + default +} + +src_install() { + default + systemd_dounit contrib/unix/fusioninventory-agent.service + newinitd "${FILESDIR}/${PN}.initd" ${PN} + newconfd "${FILESDIR}/${PN}.confd" ${PN} + keepdir /var/lib/fusioninventory +} diff --git a/app-metrics/fusioninventory-agent/metadata.xml b/app-metrics/fusioninventory-agent/metadata.xml new file mode 100644 index 000000000000..7139acbaaca3 --- /dev/null +++ b/app-metrics/fusioninventory-agent/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>alexxy@gentoo.org</email> + <name>Alexey Shvetsov</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/github-exporter/Manifest b/app-metrics/github-exporter/Manifest new file mode 100644 index 000000000000..983ade9ccf52 --- /dev/null +++ b/app-metrics/github-exporter/Manifest @@ -0,0 +1,4 @@ +DIST github-exporter-1.0.3-deps.tar.xz 7786648 BLAKE2B 1dd1876f144e95602131f6f0ec11f4189a88a56821f4ee812b906a1d6d8494651465e416c409a998b19b48081ec8c53d5f11a51f8292002cb9fc50fc13fc4e81 SHA512 247b80369efe54e838868b0c94075031a4430d03f1c8ffefb686d94a6de70f5f288f79459a14f9c1331d2f1a3f9e865e5f7cbd658dc6f01bc7c6e893b5305af2 +DIST github-exporter-1.0.3.tar.gz 22089 BLAKE2B 69ac6a71fa8872c08cb24b6fa3e0aa79a8d49fdc626606f5ae1265cb654f73a320d53c1f934f3b2a116c713412f0cb278e27ed892da19b54ff09405abba5bfc4 SHA512 9b3ab36dc8c76e844afdb7f36099dca86f358072fb0ccc134e4ba6754b2a84122b700bb92607014eb2e21e1e3f3889f842e82cd612e66d223e31aef60d123220 +DIST github-exporter-1.3.1-deps.tar.xz 35415224 BLAKE2B e5cb1e520d240e80c8a1e79b875be9dc559c0d0a862c30b8470fea46d913dfdfa4c9df91ecb7f332dcf8e906bedb92e81206cb86051a614aff0f915ec72bf3f1 SHA512 8fd1cdde2e5418c9245cb9ce420e549a06963ff11c41c11c9cae7be031e46f3f6b25b8d0e727394ce23e831e92453c406633cdf8ad8b045a9b3af496041d5a1b +DIST github-exporter-1.3.1.tar.gz 23713 BLAKE2B 682545ca8d5ebf4f7baf0351a7a78009310259b5a64c1f4d917cc964cde1267019d995c96c7fd361bb3a127c7d6dcf475bde876aa9f07ebdb658c1ef0f697544 SHA512 d04f7b01ee1ddae9997273d116ab91b445c425cbd7cc73cd96563c7bfbb7f818ec2f7ab49c5c1f0f8e6d182568b23ce353e033c272d2aa43b5c5cf12d663db1c diff --git a/app-metrics/github-exporter/files/github-exporter.confd b/app-metrics/github-exporter/files/github-exporter.confd new file mode 100644 index 000000000000..35368901c8f1 --- /dev/null +++ b/app-metrics/github-exporter/files/github-exporter.confd @@ -0,0 +1,14 @@ +# settings for github-exporter + +# I will list the required variables here, but there are several more. +# Please see the README for all of them. + +# LISTEN_PORT specifies the port the exporter will use. Below is the default. +# LISTEN_PORT=9171 + +# ORGS should contain a list of github organizations you wish to monitor. +# ORGS="org1,org2" + +# REPOS should contain a list of github repos you want tomonitor. +# If neither ORGS nor REPOS is set, the exporter will refuse to run. +# REPOS="user1/repo1,user2/repo2" diff --git a/app-metrics/github-exporter/files/github-exporter.initd b/app-metrics/github-exporter/files/github-exporter.initd new file mode 100644 index 000000000000..45ea133260af --- /dev/null +++ b/app-metrics/github-exporter/files/github-exporter.initd @@ -0,0 +1,53 @@ +#!/sbin/openrc-run + +description="github exporter for Prometheus" +command=/usr/bin/github-exporter +command_background=yes +command_user=${RC_SVCNAME}:${RC_SVCNAME} +pidfile=/var/run/github-exporter.pid +error_log="/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log" +output_log="/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log" + +depend() { + after net +} + +start_pre() { + local env_args + if [ -z "${ORGS}" ] && [ -z "${REPOS}" ]; then + eerror "ORGS and / or REPOS must be set." + return 1 + fi + if [ -n "${GITHUB_TOKEN}" ] && [ -n "${GITHUB_TOKEN_FILE}" ]; then + eerror "Please set only one of GITHUB_TOKEN or GITHUB_TOKEN_FILE" + return 1 + fi + if [ -n "${API_URL}" ]; then + env_args="${env_args} -e API_URL=${API_URL}" + fi + if [ -n "${GITHUB_TOKEN}" ]; then + env_args="${env_args} -e GITHUB_TOKEN=${GITHUB_TOKEN}" + elif [ -n "${GITHUB_TOKEN_FILE}" ]; then + env_args="${env_args} -e GITHUB_TOKEN_FILE=${GITHUB_TOKEN_FILE}" + fi + if [ -z "${LISTEN_PORT}" ]; then + env_args="${env_args} -e LISTEN_PORT=9171" + else + env_args="${env_args} -e LISTEN_PORT=${LISTEN_PORT}" + fi + if [ -n "${LOG_LEVEL}" ]; then + env_args="${env_args} -e LOG_LEVEL=${LOG_LEVEL}" + fi + if [ -n "${METRICS_PATH}" ]; then + env_args="${env_args} -e METRICS_PATH=${METRICS_PATH}" + fi + if [ -n "${ORGS}" ]; then + env_args="${env_args} -e ORGS=${ORGS}" + fi + if [ -n "${REPOS}" ]; then + env_args="${env_args} -e REPOS=${REPOS}" + fi + start_stop_daemon_args="${start_stop_daemon_args} ${env_args}" + supervise_daemon_args="${supervise_daemon_args} ${env_args}" + return 0 +} diff --git a/app-metrics/github-exporter/github-exporter-1.0.3.ebuild b/app-metrics/github-exporter/github-exporter-1.0.3.ebuild new file mode 100644 index 000000000000..52f961aa7341 --- /dev/null +++ b/app-metrics/github-exporter/github-exporter-1.0.3.ebuild @@ -0,0 +1,39 @@ +# Copyright 2019-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module systemd +DESCRIPTION="Github statistics exporter for prometheus" +HOMEPAGE="https://github.com/infinityworks/github-exporter" +SRC_URI="https://github.com/infinityworks/github-exporter/archive/${PV}.tar.gz -> ${P}.tar.gz +https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="MIT Apache-2.0 BSD" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND="acct-group/github-exporter + acct-user/github-exporter" + + src_prepare() { + default + sed -i -e 's/-race//' Makefile || die 'sed failed' + } + +src_compile() { + ego build +} + +src_install() { + dobin ${PN} + dodoc *.md + newconfd "${FILESDIR}"/${PN}.confd ${PN} + newinitd "${FILESDIR}"/${PN}.initd ${PN} +} + +pkg_postinst() { + if [[ -z "${REPLACING_VERSIONS}" ]]; then + elog "Before you can use ${PN}, you must configure it in" + elog "${EROOT}/etc/conf.d/${PN}" + fi +} diff --git a/app-metrics/github-exporter/github-exporter-1.3.1.ebuild b/app-metrics/github-exporter/github-exporter-1.3.1.ebuild new file mode 100644 index 000000000000..cfda6938786e --- /dev/null +++ b/app-metrics/github-exporter/github-exporter-1.3.1.ebuild @@ -0,0 +1,39 @@ +# Copyright 2019-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module +DESCRIPTION="Github statistics exporter for prometheus" +HOMEPAGE="https://github.com/infinityworks/github-exporter" +SRC_URI="https://github.com/infinityworks/github-exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz +https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="MIT Apache-2.0 BSD" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND="acct-group/github-exporter + acct-user/github-exporter" + + src_prepare() { + default + sed -i -e 's/-race//' Makefile || die 'sed failed' + } + +src_compile() { + ego build +} + +src_install() { + dobin ${PN} + dodoc *.md + newconfd "${FILESDIR}"/${PN}.confd ${PN} + newinitd "${FILESDIR}"/${PN}.initd ${PN} +} + +pkg_postinst() { + if [[ -z "${REPLACING_VERSIONS}" ]]; then + elog "Before you can use ${PN}, you must configure it in" + elog "${EROOT}/etc/conf.d/${PN}" + fi +} diff --git a/app-metrics/github-exporter/metadata.xml b/app-metrics/github-exporter/metadata.xml new file mode 100644 index 000000000000..17492b5107c4 --- /dev/null +++ b/app-metrics/github-exporter/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/go-carbon/Manifest b/app-metrics/go-carbon/Manifest new file mode 100644 index 000000000000..09d89f593940 --- /dev/null +++ b/app-metrics/go-carbon/Manifest @@ -0,0 +1,2 @@ +DIST go-carbon-0.17.3.tar.gz 5426401 BLAKE2B 8f2ea61524b9fdc70c7d233d4e88c7190351c970cc787d80de14e51d4cc4ad94413774c7ca86fbf4910bffc3ad241b266772969305378afc289a146f7ad69318 SHA512 16e12099692da6a6b8df55816f5b7b91777c384ca292ea309c16513096e8601cb447e7ef4530466e6b989042efc4b31d8190290b35938d2e0e654f4ae6da70bb +DIST go-carbon-0.18.0.tar.gz 6228539 BLAKE2B 8019b8a6a3a67353f0ac10e88cb176c70b935d83f3853604245bdce78eaf241efa578ba7ebbbc4e4e9f3921c31e6732d70fd95402ca0ba96ce42caed1fe32c0d SHA512 a225fd742d4d59b72d153b57ecf77bfc3cc27bcb65af2ced8f5ed4f6970507f2a00dabd9f15872f90b89e9d7d97efe82123ca0b9fa9ebcf3562d0be3cec13413 diff --git a/app-metrics/go-carbon/files/go-carbon.confd b/app-metrics/go-carbon/files/go-carbon.confd new file mode 100644 index 000000000000..41e5838dd249 --- /dev/null +++ b/app-metrics/go-carbon/files/go-carbon.confd @@ -0,0 +1,8 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +#CONFIG_FILE=/etc/go-carbon/go-carbon.conf + +# user and group to run go-carbon as +#USER=carbon +#GROUP=carbon diff --git a/app-metrics/go-carbon/files/go-carbon.initd b/app-metrics/go-carbon/files/go-carbon.initd new file mode 100644 index 000000000000..c7fb95d36a2a --- /dev/null +++ b/app-metrics/go-carbon/files/go-carbon.initd @@ -0,0 +1,44 @@ +#!/sbin/openrc-run +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +description="Graphite whisper metrics storage and retrieval server." + +carbonapi_config=${CONFIG_FILE:-/etc/go-carbon/${SVCNAME}.conf} + +command="/usr/bin/go-carbon" +command_args="-config ${carbonapi_config}" +pidfile="/run/go-carbon/${SVCNAME}.pid" +user=${USER:-carbon} +group=${GROUP:-carbon} + +depend() { + need net + use dns +} + +start_pre() { + mkdir -p "${pidfile%/*}" + mkdir -p /var/log/go-carbon + chown ${user}:${group} "${pidfile%/*}" /var/log/go-carbon +} + +stop_post() { + rm -f "${pidfile}" +} + +start() { + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --pidfile "${pidfile}" \ + --make-pidfile --background \ + --user ${user} --group ${group} \ + --exec ${command} -- \ + ${command_args} + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --exec ${command} --pidfile "${pidfile}" + eend $? +} diff --git a/app-metrics/go-carbon/go-carbon-0.17.3.ebuild b/app-metrics/go-carbon/go-carbon-0.17.3.ebuild new file mode 100644 index 000000000000..2402f67a999f --- /dev/null +++ b/app-metrics/go-carbon/go-carbon-0.17.3.ebuild @@ -0,0 +1,40 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module + +DESCRIPTION="Golang implementation of Graphite/Carbon server" +HOMEPAGE="https://github.com/go-graphite/go-carbon" +SRC_URI="https://github.com/go-graphite/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND="" +RDEPEND="${DEPEND} + acct-group/carbon + acct-user/carbon" +BDEPEND="" + +src_prepare() { + export BUILD="gentoo-${PVR}" + + # bug 904050: -race conflicts with -buildmode=pie added by go-module + sed -i \ + -e '/make run-test COMMAND="test -race"/d' \ + -e '/make run-test COMMAND="vet"/d' \ + Makefile || die + + eapply_user +} + +src_install() { + insinto /etc/go-carbon + doins "${S}"/go-carbon.conf.example + dobin go-carbon + + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} +} diff --git a/app-metrics/go-carbon/go-carbon-0.18.0.ebuild b/app-metrics/go-carbon/go-carbon-0.18.0.ebuild new file mode 100644 index 000000000000..2402f67a999f --- /dev/null +++ b/app-metrics/go-carbon/go-carbon-0.18.0.ebuild @@ -0,0 +1,40 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module + +DESCRIPTION="Golang implementation of Graphite/Carbon server" +HOMEPAGE="https://github.com/go-graphite/go-carbon" +SRC_URI="https://github.com/go-graphite/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND="" +RDEPEND="${DEPEND} + acct-group/carbon + acct-user/carbon" +BDEPEND="" + +src_prepare() { + export BUILD="gentoo-${PVR}" + + # bug 904050: -race conflicts with -buildmode=pie added by go-module + sed -i \ + -e '/make run-test COMMAND="test -race"/d' \ + -e '/make run-test COMMAND="vet"/d' \ + Makefile || die + + eapply_user +} + +src_install() { + insinto /etc/go-carbon + doins "${S}"/go-carbon.conf.example + dobin go-carbon + + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} +} diff --git a/app-metrics/go-carbon/metadata.xml b/app-metrics/go-carbon/metadata.xml new file mode 100644 index 000000000000..54612510c31f --- /dev/null +++ b/app-metrics/go-carbon/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>grobian@gentoo.org</email> + <name>Fabian Groffen</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/grok_exporter/Manifest b/app-metrics/grok_exporter/Manifest new file mode 100644 index 000000000000..c4f4b7215cd5 --- /dev/null +++ b/app-metrics/grok_exporter/Manifest @@ -0,0 +1 @@ +DIST grok_exporter-1.0.0_rc5.tar.gz 2324696 BLAKE2B 2042067127e18fb63d2ecc412fa75184b410e27a755fd06c3634c7b345c13b1bd1d000e323467d10cc5a0cf13363b6782c4c98532875158a793111fe56a36edd SHA512 5b4772aa4b147dadc2d8298d043cc8329cbfeb081dc9bc686c34e16ae0c8a4fa30e55478a8328293349fda2d3f785a5feeda22d5ea1722ab3fa586375b696a92 diff --git a/app-metrics/grok_exporter/files/grok_exporter.initd b/app-metrics/grok_exporter/files/grok_exporter.initd new file mode 100644 index 000000000000..bd25c5170e9a --- /dev/null +++ b/app-metrics/grok_exporter/files/grok_exporter.initd @@ -0,0 +1,18 @@ +#!/sbin/openrc-run +# Copyright 2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +description="Unstructured log data exporter for Prometheus" +config_file="/etc/grok_exporter/${RC_SVCNAME}.yml" +command=/usr/bin/grok_exporter +command_background=yes +command_user=grok_exporter:grok_exporter +pidfile=/var/run/${RC_SVCNAME}.pid +error_log="/var/log/grok_exporter/${RC_SVCNAME}.log" +output_log="/var/log/grok_exporter/${RC_SVCNAME}.log" +required_files="${config_file}" +command_args="-config \"${config_file}\"" + +depend() { + after net +} diff --git a/app-metrics/grok_exporter/grok_exporter-1.0.0_rc5.ebuild b/app-metrics/grok_exporter/grok_exporter-1.0.0_rc5.ebuild new file mode 100644 index 000000000000..04782b54343c --- /dev/null +++ b/app-metrics/grok_exporter/grok_exporter-1.0.0_rc5.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +MY_PV=${PV/_rc/.RC} +inherit go-module + +DESCRIPTION="Unstructured log data exporter for Prometheus" +HOMEPAGE="https://github.com/fstab/Grok_exporter" +SRC_URI="https://github.com/fstab/grok_exporter/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0 BSD MIT" +SLOT="0" +KEYWORDS="~amd64" + +COMMON_DEPEND="acct-group/grok_exporter + acct-user/grok_exporter" +DEPEND="${COMMON_DEPEND} + >=dev-libs/oniguruma-6.9.0" +RDEPEND="${COMMON_DEPEND} + >=dev-libs/oniguruma-6.9.0:=" + +RESTRICT="strip" +S="${WORKDIR}/${PN}-${MY_PV}" + +src_compile() { + ego build . +} + +src_install() { + dobin ${PN} + dodoc -r *.md example + newinitd "${FILESDIR}"/${PN}.initd ${PN} +keepdir /etc/"${PN}" + keepdir /var/log/${PN} + fowners ${PN}:${PN} /var/log/${PN} +} + +pkg_postinst() { + if [[ -z "${REPLACING_VERSIONS}" ]]; then + elog "You need to create /etc/${PN}/${PN}.yml" + elog "Please see /usr/share/doc/${PVR} for examples" + fi +} diff --git a/app-metrics/grok_exporter/metadata.xml b/app-metrics/grok_exporter/metadata.xml new file mode 100644 index 000000000000..17492b5107c4 --- /dev/null +++ b/app-metrics/grok_exporter/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/memcached_exporter/Manifest b/app-metrics/memcached_exporter/Manifest new file mode 100644 index 000000000000..11c1ef1015f4 --- /dev/null +++ b/app-metrics/memcached_exporter/Manifest @@ -0,0 +1,4 @@ +DIST memcached_exporter-0.10.0-deps.tar.xz 24009256 BLAKE2B acdf45e6340e95601ecd5b1a7d5bc6d61ec5f323d01ebd0be54e151643a647dabe4705f70ad6b68c3df254deeb5103406809cf4f7080ca5f6c17765ed4024735 SHA512 e567b0a94d7ccc7b87b51bb08f165b88aae24338a2a28ca8f392057eda508407615d43d5d821ae7fd48ca2d50df2bf2b9d2acce3f7be23d12f79ac4ba09c7ed2 +DIST memcached_exporter-0.10.0.tar.gz 41003 BLAKE2B 497d1643ac7909cda5d82df5cb89dc09a7f961d3a6e7d60d8619f5f0ebce444e565bc00cb98843dd5f81a7618b38bc14dad9af4063bba58e24ae7e7db6a8de00 SHA512 53b913cb7f398dae5de5f3ccf6c468775a30528ff390cbd112dc7a9aba584c36cc7834b74ee1c1130e4ac19d63f01cc10ca5c6853480bdb130248ab7d0f0ba51 +DIST memcached_exporter-0.15.0-deps.tar.xz 40610668 BLAKE2B df1ca5a0548896d4728c12e7ade9390a8d9c0239291b02408bf612eb04bc04689bee7042d0e36a2e77175df77d4c7751992715e9385255fb9af635011d5212d0 SHA512 4c0cd5956402eae89095c0612df7677abd9951ca3e177d38b7c9ef2afcea11059f9fe13be0d6c80d669c2007861c318a093eab947f7ba88b7798494beed811f1 +DIST memcached_exporter-0.15.0.tar.gz 30762 BLAKE2B 55b01549ea1c97459fdaa548b95778202106b3830af416a959bde30cea3edd47f9892f1b14f9fc59d4f9c8ba3a5b43d029f2012947ba7e357b8317747e0aa03a SHA512 e6584fcce4f5b78524a44ab6a1bc1626560b80a47ca50c3e8754d1cfbce7ad70e71aaf9dcadef15e284ac45392734e8262204652ce90351931b5499802885020 diff --git a/app-metrics/memcached_exporter/files/memcached_exporter.confd b/app-metrics/memcached_exporter/files/memcached_exporter.confd new file mode 100644 index 000000000000..ec7b89ec9cfe --- /dev/null +++ b/app-metrics/memcached_exporter/files/memcached_exporter.confd @@ -0,0 +1,2 @@ +# arguments for prometheus memcached exporter +command_args="" diff --git a/app-metrics/memcached_exporter/files/memcached_exporter.initd b/app-metrics/memcached_exporter/files/memcached_exporter.initd new file mode 100644 index 000000000000..fa21bea18d19 --- /dev/null +++ b/app-metrics/memcached_exporter/files/memcached_exporter.initd @@ -0,0 +1,13 @@ +#!/sbin/openrc-run +# Copyright 2016-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +description="Prometheus memcached exporter" +pidfile="/var/run/${RC_SVCNAME}.pid" +command="/usr/bin/memcached_exporter" +command_user=${user:-${RC_SVCNAME}} +group=${group:-${RC_SVCNAME}} +command_background="true" +errror_log="/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log" +output_log="/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log" +start_stop_daemon_args="--group ${group}" diff --git a/app-metrics/memcached_exporter/memcached_exporter-0.10.0.ebuild b/app-metrics/memcached_exporter/memcached_exporter-0.10.0.ebuild new file mode 100644 index 000000000000..360145b9b2d3 --- /dev/null +++ b/app-metrics/memcached_exporter/memcached_exporter-0.10.0.ebuild @@ -0,0 +1,44 @@ +# Copyright 2021-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module +GIT_COMMIT=667bdef45c4e01380867f4be5bb0c7e0ece35dd6 + +DESCRIPTION="Prometheus exporter for memcached" +HOMEPAGE="https://github.com/prometheus/memcached_exporter" +SRC_URI="https://github.com/prometheus/memcached_exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="Apache-2.0 BSD BSD-2 MIT" +SLOT="0" +KEYWORDS="~amd64" + +BDEPEND="dev-util/promu" +DEPEND="acct-group/memcached_exporter + acct-user/memcached_exporter" +RDEPEND="${DEPEND}" + +# tests require the memcached_exporter daemon to be running locally +RESTRICT+=" test " + +src_prepare() { + default + sed -i \ + -e "s/{{.Branch}}/HEAD/" \ + -e "s/{{.Revision}}/${GIT_COMMIT}/" \ + .promu.yml || die "sed failed" +} + +src_compile() { + promu build -v --prefix bin || die +} + +src_install() { + dobin bin/* + dodoc *.md + keepdir /var/log/${PN} + fowners ${PN}:${PN} /var/log/${PN} + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} +} diff --git a/app-metrics/memcached_exporter/memcached_exporter-0.15.0.ebuild b/app-metrics/memcached_exporter/memcached_exporter-0.15.0.ebuild new file mode 100644 index 000000000000..202b78fe5c7e --- /dev/null +++ b/app-metrics/memcached_exporter/memcached_exporter-0.15.0.ebuild @@ -0,0 +1,44 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module +GIT_COMMIT=ceb946ecae3aace775a0becb8233ca3890a829c3 + +DESCRIPTION="Prometheus exporter for memcached" +HOMEPAGE="https://github.com/prometheus/memcached_exporter" +SRC_URI="https://github.com/prometheus/memcached_exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="Apache-2.0 BSD BSD-2 MIT" +SLOT="0" +KEYWORDS="~amd64" + +BDEPEND="dev-util/promu" +DEPEND="acct-group/memcached_exporter + acct-user/memcached_exporter" +RDEPEND="${DEPEND}" + +# tests require the memcached_exporter daemon to be running locally +RESTRICT+=" test " + +src_prepare() { + default + sed -i \ + -e "s/{{.Branch}}/HEAD/" \ + -e "s/{{.Revision}}/${GIT_COMMIT}/" \ + .promu.yml || die "sed failed" +} + +src_compile() { + promu build -v --prefix bin || die +} + +src_install() { + dobin bin/* + dodoc *.md + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + keepdir /var/log/${PN} + fowners ${PN}:${PN} /var/log/${PN} +} diff --git a/app-metrics/memcached_exporter/metadata.xml b/app-metrics/memcached_exporter/metadata.xml new file mode 100644 index 000000000000..17492b5107c4 --- /dev/null +++ b/app-metrics/memcached_exporter/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/mongodb_exporter/Manifest b/app-metrics/mongodb_exporter/Manifest new file mode 100644 index 000000000000..9a858b623d39 --- /dev/null +++ b/app-metrics/mongodb_exporter/Manifest @@ -0,0 +1,6 @@ +DIST mongodb_exporter-0.43.1-deps.tar.xz 104860652 BLAKE2B 3d40052ba11dea73aa67a2e72b303d4e27baec13f7429627684c44de3504909efdf2959ef1a658331cb346faaa5212e474c7c0d38fced0a60423843c66c8e7fc SHA512 c5443ebe1ecde6a571480acd2130f20bdcf23c6495ef9c304db545666bd1e18f41b5c377a59300ebeb2a06d38575046e506536856a35041c8447e37257da2fff +DIST mongodb_exporter-0.43.1.tar.gz 161862 BLAKE2B 337edcf34e6c44d5ffb9b9d2b6d1da7e72a12d1430561d070bfd7569816d34b2e918faa3fa5e32aea6e480208a27f200438c55a0fb6d80be3c9564ce8feccc79 SHA512 3a9437a61d588af6d971aa954bced247cbf59c17dcdaed833b03f95904bf583c56c8210f535b07ffa1fc46583f7d1e92465e0d7623601b463667a01ec8bcfca3 +DIST mongodb_exporter-0.47.1-vendor.tar.xz 5785900 BLAKE2B cb761b6d838d193f3e16944844ed0ab6f359867423b756c73b9e035c43aa0b7156d7f50eb33c428c0b622303b96b9752033c576673c0bb0fdd10870101f71a5f SHA512 e581bc4ca5a754a398de4156cb05d2dd04d4271cfc6fa2ef47857e5d3671817a7bc14bd1abc22a305341c60545e29d6f5779032315cf0d16172928daf4c8e31c +DIST mongodb_exporter-0.47.1.tar.gz 177076 BLAKE2B bffeec8ff2c9e9b2f68e6a472529dbbddeacc3f0247582598580525c2973dc8c531b9834ded90c3253de3210993aebc879df0d15995f95d05daecb0c0f161d73 SHA512 94d8a9066531340c3c2b0de53aec38b66667f7f7e8f485fb16b28cadcbf5d164ee3a43dfeaa57e82bc390db3c3cce5cbc35d0f1552901994efe8d292d08f0b25 +DIST mongodb_exporter-0.51.0-vendor.tar.xz 6119316 BLAKE2B e34dbee909b1616bb996aeed06e66bbca22e91c8d51dd734e0f2e8e7075dba67f6ec42dbe79372f746f6a480cc299083e4bdf51d61f22087e83f2c1460963c84 SHA512 af1e8716bd624da4f36a1c7771b71e8a25d746026671588ef370cf0cdce33b14c4f66d91a795f47740905b5f270c3b50e6b68c42a819083c02f391279be1e3bf +DIST mongodb_exporter-0.51.0.tar.gz 180753 BLAKE2B d7bfd2e77a7e90f1d21a776b4d2765d2e9c74485ce012e0e81e854c5c603c7912467b91c3c591c76cac9d9d6891db4f95cf3a05f9d918fefdfe7b69ed64b458b SHA512 2280e4ddeb19ba4f9e49677e208d4017538df02fbdcdc3ba7ec1ada0ffd4f2d8e853cfd95b632a9f86912ac1ad8e42542e2e4bcb5a81fd81948da2b2e86c064b diff --git a/app-metrics/mongodb_exporter/files/mongodb_exporter-1.initd b/app-metrics/mongodb_exporter/files/mongodb_exporter-1.initd new file mode 100644 index 000000000000..44be892c336b --- /dev/null +++ b/app-metrics/mongodb_exporter/files/mongodb_exporter-1.initd @@ -0,0 +1,18 @@ +#!/sbin/openrc-run +# Copyright 2016-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Prometheus MongoDB exporter" +pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"} +user=${user:-${RC_SVCNAME}} +group=${group:-${RC_SVCNAME}} +output_log=/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log +error_log=/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log + +command="/usr/bin/mongodb_exporter" +command_args="${command_args:--mongodb.uri=http://localhost:27017}" +command_background="true" + +depend() { + after net +} diff --git a/app-metrics/mongodb_exporter/files/mongodb_exporter.confd b/app-metrics/mongodb_exporter/files/mongodb_exporter.confd new file mode 100644 index 000000000000..bd85fa288304 --- /dev/null +++ b/app-metrics/mongodb_exporter/files/mongodb_exporter.confd @@ -0,0 +1,2 @@ +# arguments for prometheus mongodb exporter +command_args="-mongodb.uri=http://localhost:9200" diff --git a/app-metrics/mongodb_exporter/files/mongodb_exporter.initd b/app-metrics/mongodb_exporter/files/mongodb_exporter.initd new file mode 100644 index 000000000000..cc821983e56e --- /dev/null +++ b/app-metrics/mongodb_exporter/files/mongodb_exporter.initd @@ -0,0 +1,19 @@ +#!/sbin/openrc-run +# Copyright 2016-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Prometheus MongoDB exporter" +pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"} +user=${user:-${RC_SVCNAME}} +group=${group:-${RC_SVCNAME}} + +command="/usr/bin/mongodb_exporter" +command_args="${command_args:--mongodb.uri=http://localhost:27017}" +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() { + after net +} diff --git a/app-metrics/mongodb_exporter/metadata.xml b/app-metrics/mongodb_exporter/metadata.xml new file mode 100644 index 000000000000..17492b5107c4 --- /dev/null +++ b/app-metrics/mongodb_exporter/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/mongodb_exporter/mongodb_exporter-0.43.1.ebuild b/app-metrics/mongodb_exporter/mongodb_exporter-0.43.1.ebuild new file mode 100644 index 000000000000..61b105813201 --- /dev/null +++ b/app-metrics/mongodb_exporter/mongodb_exporter-0.43.1.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module systemd + +# update these on every bump +BRANCH='tags/v0.43.1^0' +COMMIT=2b2cccca21104c2a00cb53bd0d785b3d656fe803 + +DESCRIPTION="Prometheus exporter for MongoDB" +HOMEPAGE="https://github.com/percona/mongodb_exporter" +SRC_URI="https://github.com/percona/mongodb_exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~arthurzam/distfiles/app-metrics/${PN}/${P}-deps.tar.xz" + +LICENSE="Apache-2.0 AGPL-3 BSD MIT" +SLOT="0" +KEYWORDS="~amd64" + +# tests require docker compose +RESTRICT="test" + +DEPEND=" + acct-group/mongodb_exporter + acct-user/mongodb_exporter +" +RDEPEND="${DEPEND}" + +QA_PRESTRIPPED=usr/bin/mongodb_exporter + +src_compile() { + emake \ + COMPONENT_BRANCH=${BRANCH} \ + COMPONENT_VERSION=${PV} \ + PMM_RELEASE_FULLCOMMIT=${COMMIT} \ + build +} + +src_install() { + dobin ${PN} + dodoc CHANGELOG {CONTRIBUTING,README,REFERENCE}.md + + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + systemd_dounit .scripts/systemd/${PN}.service + + keepdir /var/log/mongodb_exporter + fowners ${PN}:${PN} /var/log/mongodb_exporter +} diff --git a/app-metrics/mongodb_exporter/mongodb_exporter-0.47.1.ebuild b/app-metrics/mongodb_exporter/mongodb_exporter-0.47.1.ebuild new file mode 100644 index 000000000000..97a511f2fea0 --- /dev/null +++ b/app-metrics/mongodb_exporter/mongodb_exporter-0.47.1.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module systemd + +# update these on every bump +COMMIT=2b2cccca21104c2a00cb53bd0d785b3d656fe803 + +DESCRIPTION="Prometheus exporter for MongoDB" +HOMEPAGE="https://github.com/percona/mongodb_exporter" +SRC_URI="https://github.com/percona/mongodb_exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://github.com/gentoo-golang-dist/${PN}/releases/download/v${PV}/${P}-vendor.tar.xz" + +LICENSE="Apache-2.0 AGPL-3 BSD MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="kerberos" + +# tests require docker compose +RESTRICT="test" + +DEPEND=" + acct-group/mongodb_exporter + acct-user/mongodb_exporter + kerberos? ( app-crypt/mit-krb5 ) +" +RDEPEND="${DEPEND}" + +QA_PRESTRIPPED=usr/bin/mongodb_exporter + +src_compile() { + local -x CGO_ENABLED=1 + local go_ldflags=( + -s -w + -X main.version=${PV} + -X main.buildDate="$(date +%FT%T%z)" + -X main.commit=${COMMIT} + -X main.Branch="tags/v${PV}^0" + -X main.GoVersion=$(ego version | cut -d " " -f3) + ) + use kerberos && local go_tags=( -tags gssapi ) + ego build -mod=vendor "${go_tags[@]}" -ldflags "${go_ldflags[*]}" -o bin/${PN} . +} + +src_install() { + dobin bin/${PN} + dodoc CHANGELOG {CONTRIBUTING,README,REFERENCE}.md + + newinitd "${FILESDIR}"/${PN}-1.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + systemd_dounit .scripts/systemd/${PN}.service + + keepdir /var/log/mongodb_exporter + fowners ${PN}:${PN} /var/log/mongodb_exporter +} diff --git a/app-metrics/mongodb_exporter/mongodb_exporter-0.51.0.ebuild b/app-metrics/mongodb_exporter/mongodb_exporter-0.51.0.ebuild new file mode 100644 index 000000000000..ee789df27a10 --- /dev/null +++ b/app-metrics/mongodb_exporter/mongodb_exporter-0.51.0.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module systemd + +# update these on every bump +COMMIT=d0d33e679dcc7f30bafe6d6d23cf84a4fc1cd6d2 + +DESCRIPTION="Prometheus exporter for MongoDB" +HOMEPAGE="https://github.com/percona/mongodb_exporter" +SRC_URI="https://github.com/percona/mongodb_exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://github.com/gentoo-golang-dist/${PN}/releases/download/v${PV}/${P}-vendor.tar.xz" + +LICENSE="Apache-2.0" +# Dependent licenses +LICENSE+=" Apache-2.0 BSD BSD-2 ISC MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="kerberos" + +# tests require docker compose +RESTRICT="test" + +DEPEND=" + acct-group/mongodb_exporter + acct-user/mongodb_exporter + kerberos? ( app-crypt/mit-krb5 ) +" +RDEPEND="${DEPEND}" +BDEPEND=">=dev-lang/go-1.25.8" + +QA_PRESTRIPPED=usr/bin/mongodb_exporter + +src_compile() { + local -x CGO_ENABLED=1 + local go_ldflags=( + -s -w + -X main.version=${PV} + -X main.buildDate="$(date +%FT%T%z)" + -X main.commit=${COMMIT} + -X main.Branch="tags/v${PV}^0" + -X main.GoVersion=$(ego version | cut -d " " -f3) + ) + use kerberos && local go_tags=( -tags gssapi ) + ego build "${go_tags[@]}" -ldflags "${go_ldflags[*]}" -o bin/${PN} . +} + +src_install() { + dobin bin/${PN} + dodoc CHANGELOG {CONTRIBUTING,README,REFERENCE}.md + + newinitd "${FILESDIR}"/${PN}-1.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + systemd_dounit .scripts/systemd/${PN}.service + + keepdir /var/log/mongodb_exporter + fowners ${PN}:${PN} /var/log/mongodb_exporter +} diff --git a/app-metrics/mysqld_exporter/Manifest b/app-metrics/mysqld_exporter/Manifest new file mode 100644 index 000000000000..b25183562738 --- /dev/null +++ b/app-metrics/mysqld_exporter/Manifest @@ -0,0 +1,8 @@ +DIST mysqld_exporter-0.14.0-vendor.tar.xz 1434948 BLAKE2B 9bf1c9dc728aeae678ed42cf75e7dcca1758d1ace02159992c0e11b0c4942a6f5eacad86255225f9ffc023904731165bf7e8a845b9031306c21fa2796911790c SHA512 0bc3735108be955b4056d23df9f9ed593f5e495afeec846944eb4b2c4731db45723e1a3904fb621a4ba7c80dd93eccbcfc02657863271c6c306cf94a54a5fafc +DIST mysqld_exporter-0.14.0.tar.gz 100413 BLAKE2B 7c995fd538c217964f4d7537961c3d16cb1d9250808832a90eaec251f20f52b5704f38a64b338067cbae2824ea07099a62e5c5083d76bceb9d3c00fed670e7e3 SHA512 91728055fd66d3ba2d8c6f48eac24dcdbe710e627cb3c28af100fec1656064aafedbcfcfcb8c2f164dab9c3870c1867728e33afd57889644b27ceaadf0c59629 +DIST mysqld_exporter-0.14.0_p20221209.tar.gz 103942 BLAKE2B c4184aea6aa3b750dfbba594725d82af6580bfe1424d1e8f9da19cbbec8c1e35f114da562a3c29799df9329df5a248bcf6788df2bdab9d0cc474eac187a395a4 SHA512 8ef068367259e643aba2295d1f087f09b0c61f1534421bfb8400d46c865750d6f115031b445f1f32864e3fb87c80462d4d755f657d289b9144dc7a030ff81b0a +DIST mysqld_exporter-0.14.0_p20230328.tar.gz 92865 BLAKE2B 490219444b14006a356fa423b21c851693cf97f9aa6a9d20e8ee732ae8af5aed07aeda04a3419aebe26051f00c60f5655c3479c4ec3d5a2c9c18b44218cdc3b4 SHA512 a12aeb676ba81732310599344292f8cd5680abd14d8b380ae2d57198530de1969a5712619eca195e5d7b65abf518de7877789f494a9a4fbcebf42e3c8e35dac8 +DIST mysqld_exporter-0.18.0-vendor.tar.xz 1500844 BLAKE2B 74cf392db3b01cba734e048442875125ea9da46c449fc7959fd384ae78e6e0b79697d612402b1bb178e93f0af624e52de27e2260e1b380d3b27c783aa65b649d SHA512 d8067591598eda3862ecb4fef35feb86f49c50c8de4436a272a0ef8c267f5b9fa652f4d4095d43547be918fd5378742adfe1d8f99bb4a0d3205a18a706a9b134 +DIST mysqld_exporter-0.18.0.tar.gz 99246 BLAKE2B fa5822330cf52e4a97c30cd9ccc075440b9414d183d98d47620aa0c12661b04ae639f2edd2b4122f5139a446123f690511ad6f912f41a915d2b033108f171431 SHA512 ecd63f7375ed0f8b77e6b5a3248e56a8901e0539484923a14b80b8c12e6265a59029a326b06c880e3f4ff7a263e399131bbadb33aec19b2887a2312005d05ab7 +DIST mysqld_exporter-530e351d293dd632f31b80947f5ca420ef17adaf-vendor.tar.xz 1441316 BLAKE2B 8d023ff291c47f30dc6216a255f050591ea585e0c58ca484a8cdb2e0be125f7daabe570b93d786936b6ea59d3996e45210c3ef41932758d05c302bfef2656e81 SHA512 6224d96223b4e38e35626f627c2de1b8ac08294d127556d0c6e73978648296f9a99f21a1aa323053ab07d17642af54ab2d8243bb3d3a9c06919612256fdc32dc +DIST mysqld_exporter-fad2c0ccd8c0df8fed91a81463e930e4485fdfee-vendor.tar.xz 1473744 BLAKE2B 64f4f9dfee04522dbebdc9682c2619cc0f5c63b0835cfca50a37d0cce542e6a926968e23fe94a13d2e76cfbf931026cdcff74823c6c464b1b2f551bf0c70a5cf SHA512 aa10101fd5bc5a2fdef367c855f85d10ebb38b8a92969c5ebf786f011a287f9992559805b8ed24ea39da4db8aedbaf12893a2c6049ea7e90e989adf1ed13d79f diff --git a/app-metrics/mysqld_exporter/files/mysqld_exporter-0.12.1-skip-tests.patch b/app-metrics/mysqld_exporter/files/mysqld_exporter-0.12.1-skip-tests.patch new file mode 100644 index 000000000000..ea59067cb288 --- /dev/null +++ b/app-metrics/mysqld_exporter/files/mysqld_exporter-0.12.1-skip-tests.patch @@ -0,0 +1,22 @@ +--- a/collector/exporter_test.go ++++ b/collector/exporter_test.go +@@ -71,6 +71,8 @@ func TestExporter(t *testing.T) { + } + + func TestGetMySQLVersion(t *testing.T) { ++ t.Skip("Test requires running mysqld") ++ + if testing.Short() { + t.Skip("-short is passed, skipping test") + } +--- a/mysqld_exporter_test.go ++++ b/mysqld_exporter_test.go +@@ -142,6 +142,8 @@ type bin struct { + + // TestBin builds, runs and tests binary. + func TestBin(t *testing.T) { ++ t.Skip("Test requires network access") ++ + var err error + binName := "mysqld_exporter" + diff --git a/app-metrics/mysqld_exporter/files/mysqld_exporter-r1.confd b/app-metrics/mysqld_exporter/files/mysqld_exporter-r1.confd new file mode 100644 index 000000000000..2b7f9bf17a3d --- /dev/null +++ b/app-metrics/mysqld_exporter/files/mysqld_exporter-r1.confd @@ -0,0 +1,26 @@ +# /etc/conf.d/mysqld_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="mysqld_exporter" + +# User group to run exporter as +#EXPORTER_GROUP="mysqld_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 `mysqld_exporter --help` for more details +EXPORTER_FLAGS="--log.level=info" +#EXPORTER_FLAGS="${EXPORTER_FLAGS} --yourAdditionalFlag" diff --git a/app-metrics/mysqld_exporter/files/mysqld_exporter-r1.initd b/app-metrics/mysqld_exporter/files/mysqld_exporter-r1.initd new file mode 100644 index 000000000000..0aecd1025b82 --- /dev/null +++ b/app-metrics/mysqld_exporter/files/mysqld_exporter-r1.initd @@ -0,0 +1,73 @@ +#!/sbin/openrc-run +# Copyright 2016-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Prometheus exporter for MySQL server metrics" + +EXPORTER_FLAGS=${EXPORTER_FLAGS:-""} +EXPORTER_USER=${EXPORTER_USER:-"mysqld_exporter"} +EXPORTER_GROUP=${EXPORTER_GROUP:-"mysqld_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/mysqld_exporter" +command_args="${EXPORTER_FLAGS}" +command_background="true" +start_stop_daemon_args="${EXPORTER_SSDARGS}" +start_stop_daemon_args="${start_stop_daemon_args} --user ${EXPORTER_USER}" +start_stop_daemon_args="${start_stop_daemon_args} --group ${EXPORTER_GROUP}" + +# We are forcing log files because upstream is going to remove syslog support :/ +start_stop_daemon_args="${start_stop_daemon_args} --stdout /var/log/mysqld_exporter/${RC_SVCNAME}.log" +start_stop_daemon_args="${start_stop_daemon_args} --stderr /var/log/mysqld_exporter/${RC_SVCNAME}.log" + +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})" + +configtest() { + if test "${command_args#*config\.my-cnf}" = "${command_args}"; then + local _default_config_file="/var/lib/mysqld_exporter/.my.cnf" + if [ ! -s "${_default_config_file}" ]; then + eerror "No MySQL credentials found in \"${_default_config_file}\"!" + eerror "Either create that file and add credentials or specify another file via \"-config.my-cnf\" flag." + return 1 + fi + fi + + return 0 +} + +depend() { + after net + use mysql +} + +start_pre() { + if [ "${RC_CMD}" != "restart" ]; then + configtest || return 1 + fi +} + +start_post() { + service_set_value retry "${EXPORTER_TERMTIMEOUT}" +} diff --git a/app-metrics/mysqld_exporter/files/mysqld_exporter.logrotate b/app-metrics/mysqld_exporter/files/mysqld_exporter.logrotate new file mode 100644 index 000000000000..ec360d7ab4cd --- /dev/null +++ b/app-metrics/mysqld_exporter/files/mysqld_exporter.logrotate @@ -0,0 +1,5 @@ +/var/log/mysqld_exporter/*.log { + missingok + notifempty + size 30k +} diff --git a/app-metrics/mysqld_exporter/metadata.xml b/app-metrics/mysqld_exporter/metadata.xml new file mode 100644 index 000000000000..5d08ae950a93 --- /dev/null +++ b/app-metrics/mysqld_exporter/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>robbat2@gentoo.org</email> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/mysqld_exporter/mysqld_exporter-0.14.0.ebuild b/app-metrics/mysqld_exporter/mysqld_exporter-0.14.0.ebuild new file mode 100644 index 000000000000..b382ce4510de --- /dev/null +++ b/app-metrics/mysqld_exporter/mysqld_exporter-0.14.0.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +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= +if [[ -n "${MY_PV_HASH}" ]]; then + MY_PV=${MY_PV_HASH} + MYSQLD_EXPORTER_COMMIT=${MY_PV_HASH:0:8} + SRC_URI_UPSTREAM="https://github.com/prometheus/mysqld_exporter/archive/${MY_PV}.tar.gz" +else + MY_PV=${PV} + MYSQLD_EXPORTER_COMMIT= + SRC_URI_UPSTREAM="https://github.com/prometheus/mysqld_exporter/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 MySQL server metrics" +HOMEPAGE="https://github.com/prometheus/mysqld_exporter" +SRC_URI=" + ${SRC_URI_UPSTREAM} -> ${P}.tar.gz + ${SRC_URI_VENDOR} + " + +LICENSE="Apache-2.0 BSD BSD-2 MIT MPL-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +BDEPEND="dev-util/promu" + +DEPEND="acct-group/mysqld_exporter + acct-user/mysqld_exporter" + +RDEPEND="${DEPEND}" + +# Comment this for a normal release. +S="${WORKDIR}/${PN}-${MY_PV}" + +PATCHES=( "${FILESDIR}"/${PN}-0.12.1-skip-tests.patch ) + +src_prepare() { + default + + if [[ -n $MYSQLD_EXPORTER_COMMIT ]]; then + sed -i -e "s/{{.Revision}}/${MYSQLD_EXPORTER_COMMIT}/" .promu.yml || die + fi +} + +src_compile() { + mkdir -p bin || die + + promu build --prefix bin || die + + # comment this for a normal release. + mv bin/${PN}-${MY_PV} bin/${PN} || die +} + +src_install() { + dobin bin/* + dodoc {README,CHANGELOG,CONTRIBUTING}.md + + keepdir /var/lib/mysqld_exporter /var/log/mysqld_exporter + fowners ${PN}:${PN} /var/lib/mysqld_exporter /var/log/mysqld_exporter + fperms 0770 /var/lib/mysqld_exporter + + newinitd "${FILESDIR}"/${PN}-r1.initd ${PN} + newconfd "${FILESDIR}"/${PN}-r1.confd ${PN} + + insinto /etc/logrotate.d/ + newins "${FILESDIR}"/${PN}.logrotate ${PN} +} + +pkg_postinst() { + if [[ -z "${REPLACING_VERSIONS}" ]]; then + # This is a new installation + elog "Create \"${EROOT}/var/lib/mysqld_exporter/.my.cnf\" to read MySQL credentials from file." + else + local _replacing_version= + for _replacing_version in ${REPLACING_VERSIONS}; do + if ! ver_test "${_replacing_version}" -ge "0.11.0"; then + elog "Starting with ${PN}-0.11.0, command-line flags will require double dashes (--)." + elog "You must update your configuration or ${PN} won't start." + + break + fi + done + fi +} diff --git a/app-metrics/mysqld_exporter/mysqld_exporter-0.14.0_p20221209.ebuild b/app-metrics/mysqld_exporter/mysqld_exporter-0.14.0_p20221209.ebuild new file mode 100644 index 000000000000..0a23dedb6d98 --- /dev/null +++ b/app-metrics/mysqld_exporter/mysqld_exporter-0.14.0_p20221209.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +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=530e351d293dd632f31b80947f5ca420ef17adaf +if [[ -n "${MY_PV_HASH}" ]]; then + MY_PV=${MY_PV_HASH} + MYSQLD_EXPORTER_COMMIT=${MY_PV_HASH:0:8} + SRC_URI_UPSTREAM="https://github.com/prometheus/mysqld_exporter/archive/${MY_PV}.tar.gz" +else + MY_PV=$PV + MYSQLD_EXPORTER_COMMIT= + SRC_URI_UPSTREAM="https://github.com/prometheus/mysqld_exporter/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 MySQL server metrics" +HOMEPAGE="https://github.com/prometheus/mysqld_exporter" +SRC_URI=" + ${SRC_URI_UPSTREAM} -> ${P}.tar.gz + ${SRC_URI_VENDOR} + " + +LICENSE="Apache-2.0 BSD BSD-2 MIT MPL-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +BDEPEND="dev-util/promu" + +DEPEND="acct-group/mysqld_exporter + acct-user/mysqld_exporter" + +RDEPEND="${DEPEND}" + +# Comment this for a normal release. +S="${WORKDIR}/${PN}-${MY_PV}" + +PATCHES=( "${FILESDIR}"/${PN}-0.12.1-skip-tests.patch ) + +src_prepare() { + default + + if [[ -n $MYSQLD_EXPORTER_COMMIT ]]; then + sed -i -e "s/{{.Revision}}/${MYSQLD_EXPORTER_COMMIT}/" .promu.yml || die + fi +} + +src_compile() { + mkdir -p bin || die + + promu build --prefix bin || die + + # comment this for a normal release. + mv bin/${PN}-${MY_PV} bin/${PN} || die +} + +src_install() { + dobin bin/* + dodoc {README,CHANGELOG,CONTRIBUTING}.md + + keepdir /var/lib/mysqld_exporter /var/log/mysqld_exporter + fowners ${PN}:${PN} /var/lib/mysqld_exporter /var/log/mysqld_exporter + fperms 0770 /var/lib/mysqld_exporter + + newinitd "${FILESDIR}"/${PN}-r1.initd ${PN} + newconfd "${FILESDIR}"/${PN}-r1.confd ${PN} + + insinto /etc/logrotate.d/ + newins "${FILESDIR}"/${PN}.logrotate ${PN} +} + +pkg_postinst() { + if [[ -z "${REPLACING_VERSIONS}" ]]; then + # This is a new installation + elog "Create \"${EROOT}/var/lib/mysqld_exporter/.my.cnf\" to read MySQL credentials from file." + else + local _replacing_version= + for _replacing_version in ${REPLACING_VERSIONS}; do + if ! ver_test "${_replacing_version}" -ge "0.11.0"; then + elog "Starting with ${PN}-0.11.0, command-line flags will require double dashes (--)." + elog "You must update your configuration or ${PN} won't start." + + break + fi + done + fi +} diff --git a/app-metrics/mysqld_exporter/mysqld_exporter-0.14.0_p20230328.ebuild b/app-metrics/mysqld_exporter/mysqld_exporter-0.14.0_p20230328.ebuild new file mode 100644 index 000000000000..18ec5de25f04 --- /dev/null +++ b/app-metrics/mysqld_exporter/mysqld_exporter-0.14.0_p20230328.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit eapi9-ver 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=fad2c0ccd8c0df8fed91a81463e930e4485fdfee +: ${MY_PV_HASH_FOR_VENDOR:=${MY_PV_HASH}} +if [[ -n "${MY_PV_HASH}" ]]; then + MY_PV=${MY_PV_HASH} + MYSQLD_EXPORTER_COMMIT=${MY_PV_HASH:0:8} + SRC_URI_UPSTREAM="https://github.com/prometheus/mysqld_exporter/archive/${MY_PV}.tar.gz" +else + MY_PV=$PV + MYSQLD_EXPORTER_COMMIT= + SRC_URI_UPSTREAM="https://github.com/prometheus/mysqld_exporter/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 MySQL server metrics" +HOMEPAGE="https://github.com/prometheus/mysqld_exporter" +SRC_URI=" + ${SRC_URI_UPSTREAM} -> ${P}.tar.gz + ${SRC_URI_VENDOR} + " + +LICENSE="Apache-2.0 BSD BSD-2 MIT MPL-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +BDEPEND="dev-util/promu" + +DEPEND="acct-group/mysqld_exporter + acct-user/mysqld_exporter" + +RDEPEND="${DEPEND}" + +# Comment this for a normal release. +S="${WORKDIR}/${PN}-${MY_PV}" + +PATCHES=( "${FILESDIR}"/${PN}-0.12.1-skip-tests.patch ) + +src_prepare() { + default + + if [[ -n $MYSQLD_EXPORTER_COMMIT ]]; then + sed -i -e "s/{{.Revision}}/${MYSQLD_EXPORTER_COMMIT}/" .promu.yml || die + fi +} + +src_compile() { + mkdir -p bin || die + + promu build --prefix bin || die + + # comment this for a normal release. + mv bin/${PN}-${MY_PV} bin/${PN} || die +} + +src_install() { + dobin bin/* + dodoc {README,CHANGELOG,CONTRIBUTING}.md + + keepdir /var/lib/mysqld_exporter /var/log/mysqld_exporter + fowners ${PN}:${PN} /var/lib/mysqld_exporter /var/log/mysqld_exporter + fperms 0770 /var/lib/mysqld_exporter + + newinitd "${FILESDIR}"/${PN}-r1.initd ${PN} + newconfd "${FILESDIR}"/${PN}-r1.confd ${PN} + + insinto /etc/logrotate.d/ + newins "${FILESDIR}"/${PN}.logrotate ${PN} +} + +pkg_postinst() { + if [[ -z "${REPLACING_VERSIONS}" ]]; then + # This is a new installation + elog "Create \"${EROOT}/var/lib/mysqld_exporter/.my.cnf\" to read MySQL credentials from file." + elif ver_replacing -lt "0.11.0"; then + elog "Starting with ${PN}-0.11.0, command-line flags will require double dashes (--)." + elog "You must update your configuration or ${PN} won't start." + fi +} diff --git a/app-metrics/mysqld_exporter/mysqld_exporter-0.18.0.ebuild b/app-metrics/mysqld_exporter/mysqld_exporter-0.18.0.ebuild new file mode 100644 index 000000000000..6c44cb152d4a --- /dev/null +++ b/app-metrics/mysqld_exporter/mysqld_exporter-0.18.0.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit eapi9-ver go-module + +DESCRIPTION="Prometheus exporter for MySQL server metrics" +HOMEPAGE="https://github.com/prometheus/mysqld_exporter" +SRC_URI="https://github.com/prometheus/mysqld_exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://github.com/gentoo-golang-dist/${PN}/releases/download/v${PV}/${P}-vendor.tar.xz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=" + acct-group/mysqld_exporter + acct-user/mysqld_exporter +" +RDEPEND="${DEPEND}" + +src_compile() { + mkdir -p bin || die + + local go_ldflags=( + -X github.com/prometheus/common/version.Version=${PV} + -X github.com/prometheus/common/version.Revision=${GIT_COMMIT} + -X github.com/prometheus/common/version.Branch=master + -X github.com/prometheus/common/version.BuildUser=gentoo + -X github.com/prometheus/common/version.BuildDate="$(date +%F-%T)" + ) + ego build -mod=vendor -ldflags "${go_ldflags[*]}" -o bin/${PN} . + ./bin/"${PN}" --help-man > "${PN}".1 || die +} + +src_test() { + emake test-flags= test +} + +src_install() { + dobin bin/* + dodoc {README,CHANGELOG,CONTRIBUTING}.md + doman "${PN}".1 + + keepdir /var/lib/mysqld_exporter /var/log/mysqld_exporter + fowners ${PN}:${PN} /var/lib/mysqld_exporter /var/log/mysqld_exporter + fperms 0770 /var/lib/mysqld_exporter + + newinitd "${FILESDIR}"/${PN}-r1.initd ${PN} + newconfd "${FILESDIR}"/${PN}-r1.confd ${PN} + + insinto /etc/logrotate.d/ + newins "${FILESDIR}"/${PN}.logrotate ${PN} +} + +pkg_postinst() { + if [[ -z "${REPLACING_VERSIONS}" ]]; then + # This is a new installation + elog "Create \"${EROOT}/var/lib/mysqld_exporter/.my.cnf\" to read MySQL credentials from file." + elif ver_replacing -lt "0.11.0"; then + elog "Starting with ${PN}-0.11.0, command-line flags will require double dashes (--)." + elog "You must update your configuration or ${PN} won't start." + fi +} diff --git a/app-metrics/nftables-exporter/Manifest b/app-metrics/nftables-exporter/Manifest new file mode 100644 index 000000000000..e69eaa7d6e04 --- /dev/null +++ b/app-metrics/nftables-exporter/Manifest @@ -0,0 +1,4 @@ +DIST nftables-exporter-0.2.7-deps.tar.xz 6611016 BLAKE2B c6d5593bcf29f846044fd11602eb38f7296f46394cb61c04c7877b0d100d4f33f5bbccbcb374d267fa87da600c2afe00b1c0f6acb494d078c2cb8f2fe73baa6d SHA512 0039135b52e0f77316a68f482094620531be1a7ef1cbd713905f140fea09627fde4544b0c25ed964950682be905a758f22384e0159bbcf8ee2a9f57c3a7f5f43 +DIST nftables-exporter-0.2.7.tar.gz 22061 BLAKE2B 142c834a77b563d6c57b72a5ec45c88e0542121d334c0b02a6acc18fea7902efad8080e0b3b01a2a519a4cd376938da58fc4b7b3fc2260300a5bc64469c993ee SHA512 69192df420b294b4c3b345999505111f149c00a5d68773b6f958d16b39505c937377075fe4e299688b97f5c12f0bbdac59bdb9bd0447b62f6d76c0bc55caa318 +DIST nftables-exporter-0.3.1-deps.tar.xz 34701580 BLAKE2B 0cabca1e6e1ac758d987cfd9549d45df1cf8852a09a4026343efa61cc2b7162ee398f6cfa6127235c99009d70b5a95586f093bbd8aff50779d8c4be48ad5cdc6 SHA512 1a98852089ea8c0b5a862b01163c4ef3243190e8111617d14d8e4cb8ac83dafb016a685419eb578695708bee33feb92a9087de7f96bf3511e247eb5e769a36c2 +DIST nftables-exporter-0.3.1.tar.gz 22518 BLAKE2B 3c186d26397718a82368e1e18dabd5c2a148cbc350c949b265d1645e2dcc49f10ab35dc307411210521ba27605bba5b6b816b1833d3bf0ea72ef92fba5b3c43d SHA512 3edb32c425fd6f3028a5a9ff2be52120e8ba9b995c8e6861d9e5c925d439941fb50e69e3090b3e4ffa4b433d24b5607c4811c6d5c8176ea9d3a992c69f8095fb diff --git a/app-metrics/nftables-exporter/files/nftables-exporter.initd b/app-metrics/nftables-exporter/files/nftables-exporter.initd new file mode 100644 index 000000000000..9d16ccc199ab --- /dev/null +++ b/app-metrics/nftables-exporter/files/nftables-exporter.initd @@ -0,0 +1,15 @@ +#!/sbin/openrc-run +# Copyright 2023 Gentoo authors +# Distributed under the terms of the GNU General Public License v2 + +description="Prometheus nftables metrics exporter" + +command="/usr/bin/nftables-exporter" +command_background="true" +error_log="/var/log/nftables-exporter/nftables-exporter.log" +output_log="/var/log/nftables-exporter/nftables-exporter.log" +pidfile=${pidfile:-"/run/nftables_exporter.pid"} + +depend() { + after net +} diff --git a/app-metrics/nftables-exporter/metadata.xml b/app-metrics/nftables-exporter/metadata.xml new file mode 100644 index 000000000000..17492b5107c4 --- /dev/null +++ b/app-metrics/nftables-exporter/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/nftables-exporter/nftables-exporter-0.2.7.ebuild b/app-metrics/nftables-exporter/nftables-exporter-0.2.7.ebuild new file mode 100644 index 000000000000..2714026e1004 --- /dev/null +++ b/app-metrics/nftables-exporter/nftables-exporter-0.2.7.ebuild @@ -0,0 +1,45 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module systemd + +# make sure these are updated based on the Makefile in every bump. +GITVERSION=tags/v0.2.7-0-ga173315 +SHA=a1733152 + +DESCRIPTION="prometheus exporter for nftables metrics" +HOMEPAGE="https://github.com/metal-stack/nftables-exporter" +SRC_URI="https://github.com/metal-stack/nftables-exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND="net-firewall/nftables" +BDEPEND=">=dev-lang/go-1.21" + +src_prepare() { + default + sed -i -e '/strip bin\//d' Makefile +} + +src_compile() { + emake \ + GONAME=${PN} \ + GITVERSION=${GITVERSION} \ + SHA=${SHA} \ + VERSION=v${PV} \ + all +} + +src_install() { +dobin bin/${PN} +insinto etc +doins nftables_exporter.yaml +systemd_dounit systemd/nftables-exporter.service +newinitd "${FILESDIR}"/${PN}.initd ${PN} +keepdir /var/log/${PN} +} diff --git a/app-metrics/nftables-exporter/nftables-exporter-0.3.1.ebuild b/app-metrics/nftables-exporter/nftables-exporter-0.3.1.ebuild new file mode 100644 index 000000000000..5c64528b9900 --- /dev/null +++ b/app-metrics/nftables-exporter/nftables-exporter-0.3.1.ebuild @@ -0,0 +1,43 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module systemd + +# make sure these are updated based on the Makefile in every bump. +SHA=a8497830 +GITVERSION=tags/v0.3.1-0-ga849783 + +DESCRIPTION="prometheus exporter for nftables metrics" +HOMEPAGE="https://github.com/metal-stack/nftables-exporter" +SRC_URI="https://github.com/metal-stack/nftables-exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND="net-firewall/nftables" + +src_prepare() { + default + sed -i -e '/strip bin\//d' -e '/sha256sum/d' Makefile +} + +src_compile() { + emake \ + SHA=${SHA} \ + GITVERSION=${GITVERSION} \ + VERSION=v${PV} \ + build +} + +src_install() { + newbin bin/${P}-* ${PN} + insinto etc + doins nftables_exporter.yaml + systemd_dounit systemd/nftables-exporter.service + newinitd "${FILESDIR}"/${PN}.initd ${PN} + keepdir /var/log/${PN} +} diff --git a/app-metrics/nginx-lua-prometheus/Manifest b/app-metrics/nginx-lua-prometheus/Manifest new file mode 100644 index 000000000000..71476dd467f1 --- /dev/null +++ b/app-metrics/nginx-lua-prometheus/Manifest @@ -0,0 +1 @@ +DIST nginx-lua-prometheus-0.1_pre20170610.tar.gz 10307 BLAKE2B b08fcb126a6d7034c143c7e96709f3f2751d90f60f6b9225f55ed46f7f211ebcf5f1688bd8b2c82286e329dd23e09a5163ad316ba6568755936253e8e55590f1 SHA512 df1022a88e82e388e68146f81e51a53f9b0c1a14a43d58e468d258ac0ca9875c1c88af44c46c91d89dc7fc1fef0ffebdb9163f886d85fde995e61e2cac3b5c81 diff --git a/app-metrics/nginx-lua-prometheus/metadata.xml b/app-metrics/nginx-lua-prometheus/metadata.xml new file mode 100644 index 000000000000..17492b5107c4 --- /dev/null +++ b/app-metrics/nginx-lua-prometheus/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/nginx-lua-prometheus/nginx-lua-prometheus-0.1_pre20170610-r101.ebuild b/app-metrics/nginx-lua-prometheus/nginx-lua-prometheus-0.1_pre20170610-r101.ebuild new file mode 100644 index 000000000000..a626d7cc20c8 --- /dev/null +++ b/app-metrics/nginx-lua-prometheus/nginx-lua-prometheus-0.1_pre20170610-r101.ebuild @@ -0,0 +1,42 @@ +# Copyright 2019-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# This should be kept in sync with implementations supported +# by www-servers/nginx +LUA_COMPAT=( lua5-{1,3,4} luajit ) + +# This is the upstream tag which corresponds to this release. +# It needs to be updated with every bump. +TAG="0.1-20170610" + +inherit lua-single + +DESCRIPTION="Library that exports Nginx metrics to Prometheus" +HOMEPAGE="https://github.com/knyar/nginx-lua-prometheus" +SRC_URI="https://github.com/knyar/${PN}/archive/${TAG}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-${TAG}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +REQUIRED_USE="${LUA_REQUIRED_USE}" + +BDEPEND="virtual/pkgconfig" + +COMMON_DEPEND="${LUA_DEPS}" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND} + || ( + www-nginx/ngx-lua-module[${LUA_SINGLE_USEDEP}] + www-servers/nginx[nginx_modules_http_lua(-),${LUA_SINGLE_USEDEP}] + ) +" + +src_install() { + insinto "$(lua_get_lmod_dir)"/${PN} + doins prometheus.lua + dodoc *.md +} diff --git a/app-metrics/nginx-vts-exporter/Manifest b/app-metrics/nginx-vts-exporter/Manifest new file mode 100644 index 000000000000..6755f93c09ab --- /dev/null +++ b/app-metrics/nginx-vts-exporter/Manifest @@ -0,0 +1,2 @@ +DIST nginx-vts-exporter-0.10.8-deps.tar.xz 974428 BLAKE2B c13f9b68f614bdc64d144d71a5e227745103fa3d89c797986015d57c09e6150de17805ac6e7dbd88b3124adb7aa904f9913d6ac39dad235ff7acb6097760ba22 SHA512 47e0df6516c4f733bd1ee9dbf6c1f54d8b28006c584fecb49eed544251accd2ef0ea0fc9f01caed812b1a0488cc55b46b519a61953b3fd73d4c7c6e4519c0e6b +DIST nginx-vts-exporter-0.10.8.tar.gz 15612 BLAKE2B 136ecd595d07da77ab40b293e4e110ec0c28400feb5f791d7eb10671e2624e90ee7bcb8e143eec31517c63bf3248124520a59bbf96471b656274ecf9ed944494 SHA512 4e82c4d9a2b23e7b2c7479c2888b5f12f1a0fd1f05d14da02a4774aeb3183b1752b422370c025c6e7378891f682e79d20abd89f4ea8bff69905fad6e44d12396 diff --git a/app-metrics/nginx-vts-exporter/files/nginx-vts-exporter.confd b/app-metrics/nginx-vts-exporter/files/nginx-vts-exporter.confd new file mode 100644 index 000000000000..ae134353a235 --- /dev/null +++ b/app-metrics/nginx-vts-exporter/files/nginx-vts-exporter.confd @@ -0,0 +1,2 @@ +# arguments for prometheus nginx virtual host traffic stats exporter +command_args="-nginx.scrape_uri=http://localhost/status/format/json" diff --git a/app-metrics/nginx-vts-exporter/files/nginx-vts-exporter.initd b/app-metrics/nginx-vts-exporter/files/nginx-vts-exporter.initd new file mode 100644 index 000000000000..f61549b061d7 --- /dev/null +++ b/app-metrics/nginx-vts-exporter/files/nginx-vts-exporter.initd @@ -0,0 +1,19 @@ +#!/sbin/openrc-run +# Copyright 2016-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Prometheus nginx virtual host traffic status exporter" +pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"} +user=${user:-${RC_SVCNAME}} +group=${group:-${RC_SVCNAME}} + +command="/usr/bin/nginx-vts-exporter" +command_args="${command_args:--nginx.scrape_uri=http://localhost/status/format/json}" +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() { + after net +} diff --git a/app-metrics/nginx-vts-exporter/metadata.xml b/app-metrics/nginx-vts-exporter/metadata.xml new file mode 100644 index 000000000000..17492b5107c4 --- /dev/null +++ b/app-metrics/nginx-vts-exporter/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/nginx-vts-exporter/nginx-vts-exporter-0.10.8.ebuild b/app-metrics/nginx-vts-exporter/nginx-vts-exporter-0.10.8.ebuild new file mode 100644 index 000000000000..d1ad6cdcf32d --- /dev/null +++ b/app-metrics/nginx-vts-exporter/nginx-vts-exporter-0.10.8.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module + +DESCRIPTION="Nginx virtual host traffic stats exporter for Prometheus" +HOMEPAGE="https://github.com/hnlq715/nginx-vts-exporter" +SRC_URI="https://github.com/hnlq715/nginx-vts-exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="MIT Apache-2.0 BSD" +SLOT="0" +KEYWORDS="~amd64" + +COMMON_DEPEND="acct-group/nginx-vts-exporter + acct-user/nginx-vts-exporter" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND}" + +src_compile() { + ego build . +} + +src_install() { + dobin ${PN} + dodoc README.md + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + keepdir /var/log/${PN} + fowners ${PN}:${PN} /var/log/${PN} +} diff --git a/app-metrics/node_exporter/Manifest b/app-metrics/node_exporter/Manifest new file mode 100644 index 000000000000..bdd668a2ba1f --- /dev/null +++ b/app-metrics/node_exporter/Manifest @@ -0,0 +1,10 @@ +DIST node_exporter-1.10.2-vendor.tar.xz 1673036 BLAKE2B f64be0325b28d1ae4ea1381a238ab45f163de6ff340ef4367a3928f0102f7511bb581f28456e0ea3f179ee37e81b66b595655bb34c962758eadee8a85ad30126 SHA512 5c1954dac2e7828346b4489db5c4629f33fec694c301398db2cd29e5c310bdd57c80c39ca6befb2fa0be151e572e354dbcc26e6f42399a9fcc22a5288450e84b +DIST node_exporter-1.10.2.tar.gz 380242 BLAKE2B 800fea05624e2740735e32271e868d983909e17247efc82028de24dbda1e0ff2058a5b714e16866239cf8a0b07ea876b30ba9d07494a0c1b00bbc3ca82f3f8c7 SHA512 0da5e711e7c314f6eca4064f48b035b46c99610df8ae14ab2522b0fbafbc4d3addae2ff8555191ec077af23aca0a672b3ed0c791ff6bf13bba614d0a42736be9 +DIST node_exporter-1.11.1-vendor.tar.xz 1695068 BLAKE2B 68bc8f70212ef8147bdf0afb91508e769853c3488335536725479cae9e25eafe566a56b2157700f4ea644ee66bcd65a26f2da4adde3c6c6578b77a35f9133752 SHA512 f48414691e376d99ecfedcee84281132d0d1eda8453092638f278058d2e8052f2809bc65e813d74bf2e51099f049d6533cfab8082adc5f008ccab1e9af47cbd9 +DIST node_exporter-1.11.1.tar.gz 402911 BLAKE2B 9f6a697436bb797065cdcb7b91df811cdf5b656737cfb6db967d810c776953e08daca7242fcd36196c9ce5bcfb89690309be3699a1882b5ecd2c849da6573101 SHA512 52422f030c71a26fdfd1e56b739a801c6bee7818e359685bf3aee834833a07509bb9830444a91a0aab2a6ca6965434b553655e0b5b3d1d73a51a2a674e6a2a0c +DIST node_exporter-1.8.2-deps.tar.xz 9579024 BLAKE2B 7fb5abc6f5c0517350dce5fd9ee895ee599853804d97e1229dfcc1b2fa4a75fa900d7af6ae00558b509c798f852432515045986102a55ba4fcb43ec18af18874 SHA512 4acc939c63935191dd5b58860e1543f76ddc67abe16370d19f163c0c982fad53f05a6ffd049555c0c5475d640ca495df0696e77fa23c6dd79f314ce67d014b8f +DIST node_exporter-1.8.2.tar.gz 335292 BLAKE2B 7aad2ac3433ba58be887c86d1cfbf0cd53d6712d171d2a928145588ea68f2839d593758254ab8742b7c27f068a75391959ea78ae768ffc1a0a1f5b08069dcf52 SHA512 68112a85a9ffde88d75893c30ab992ae3c591d44fbefa10e45cf94d228c8f8c44bb3585707521e355817c4b4276cf77eeaf4ed9d0261de02620135ad12f5e711 +DIST node_exporter-1.9.0-deps.tar.xz 1751656 BLAKE2B 99e81c1bc46bedbfec3366666333d17446a2693da396a8ce7c465608b69d2936d3291b6da736f24c14509633558aefa0bc53dadb74c4c24ad4afc1f76ad4ff43 SHA512 57163a1c35efd54efaff9088af6cfde5d54ec484eafab5961e94ce1cc14d71ff97480294dc18538fcd2329486d0737bc8ee17a6d31e18ae5b6738b91b23b30e8 +DIST node_exporter-1.9.0.tar.gz 353621 BLAKE2B 337a7214d18eb2d972aaea0f92bb946490916779de40934c1b8aea5f8b140959ed08d8f260547cdb693792f40f6d9818e65f9c6f197cd2dbd6a3b716cc7174d9 SHA512 b9076ad2c92bf373728da6bd385ac1ac67a8867a6825c18a7c298a5ae4c2ef8abdea560b6de949276684584d2efccf34badd6b1443ba9c08c2f7d5ddcd2d3c78 +DIST node_exporter-1.9.1-deps.tar.xz 1751016 BLAKE2B 6edfd93e2325ea4ca12629bc50c52138f2351d885461ea2dfe6b181c86401537f102dd1a2c5382b7629e7b5c8c38e53d79d2a9ef4d16e88b77083d557c445700 SHA512 2e8a9ee8c88fd5d2ceb657e28ee0e38aae0b618bbfc8b4e39d19245b00a17bfb0c97868d81f250cb5973ca5734e7dbd2a445bb9961e2bebfe22dda6bf723aa4b +DIST node_exporter-1.9.1.tar.gz 353747 BLAKE2B a0c911b69a388e8e83413549601b48abb6d339eba39ea27ff4b36d54b54975b4d4cd9aaa2af2daf1204f552efb9ac8fb2202861f33485b5b9f8c806cd4be9921 SHA512 233d1d856d9e2598818f7487357a51b94a39207810d9f35e0cb44c4703583be07ebde6eb658c25560d9345d0c43651a880be5fc42fe3cbe1975d6f6c348eeddf diff --git a/app-metrics/node_exporter/files/node_exporter-1.7.0.logrotate b/app-metrics/node_exporter/files/node_exporter-1.7.0.logrotate new file mode 100644 index 000000000000..82cad3ace322 --- /dev/null +++ b/app-metrics/node_exporter/files/node_exporter-1.7.0.logrotate @@ -0,0 +1,9 @@ +/var/log/node_exporter/node_exporter.log { + weekly + rotate 10 + copytruncate + compress + delaycompress + notifempty + missingok +} diff --git a/app-metrics/node_exporter/files/node_exporter.confd b/app-metrics/node_exporter/files/node_exporter.confd new file mode 100644 index 000000000000..b65652001308 --- /dev/null +++ b/app-metrics/node_exporter/files/node_exporter.confd @@ -0,0 +1,2 @@ +# arguments for prometheus node exporter +command_args="--collector.textfile.directory=/var/lib/node_exporter/" diff --git a/app-metrics/node_exporter/files/node_exporter.initd-1 b/app-metrics/node_exporter/files/node_exporter.initd-1 new file mode 100644 index 000000000000..6e9de80da590 --- /dev/null +++ b/app-metrics/node_exporter/files/node_exporter.initd-1 @@ -0,0 +1,23 @@ +#!/sbin/openrc-run +# Copyright 2016-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +description="Prometheus machine metrics exporter" +pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"} +user=${user:-${RC_SVCNAME}} +group=${group:-${RC_SVCNAME}} + +command="/usr/sbin/node_exporter" +command_args="${command_args:---collector.textfile.directory=/var/lib/node_exporter/}" +command_background="true" +command_user="${user}:${group}" +output_log="/var/log/node_exporter/${RC_SVCNAME}.log" +error_log="/var/log/node_exporter/${RC_SVCNAME}.log" + +depend() { + after net +} + +start_pre() { + checkpath -q -d -m 0755 -o ${user}:${group} /var/log/node_exporter +} diff --git a/app-metrics/node_exporter/metadata.xml b/app-metrics/node_exporter/metadata.xml new file mode 100644 index 000000000000..987f183751a4 --- /dev/null +++ b/app-metrics/node_exporter/metadata.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <maintainer type="person" proxied="yes"> + <email>me@rahil.rocks</email> + <name>Rahil Bhimjiani</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <upstream> + <bugs-to>https://github.com/prometheus/node_exporter/issues</bugs-to> + <doc>https://github.com/prometheus/node_exporter/blob/master/README.md</doc> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/node_exporter/node_exporter-1.10.2.ebuild b/app-metrics/node_exporter/node_exporter-1.10.2.ebuild new file mode 100644 index 000000000000..1ca3c80ed830 --- /dev/null +++ b/app-metrics/node_exporter/node_exporter-1.10.2.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module systemd + +DESCRIPTION="Prometheus exporter for machine metrics" +HOMEPAGE="https://github.com/prometheus/node_exporter" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/prometheus/node_exporter.git" +else + SRC_URI="https://github.com/prometheus/node_exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz" + SRC_URI+=" https://github.com/gentoo-golang-dist/${PN}/releases/download/v${PV}/${P}-vendor.tar.xz" + + KEYWORDS="amd64 arm64 ~loong ~riscv ~x86" +fi + +# main pkg +LICENSE="Apache-2.0" +# Dependent licenses +LICENSE+=" Apache-2.0 BSD BSD-2 MIT MPL-2.0" +SLOT="0" +IUSE="selinux" + +DEPEND=" + acct-group/node_exporter + acct-user/node_exporter + selinux? ( sec-policy/selinux-node_exporter ) +" +RDEPEND="${DEPEND}" + +src_unpack() { + if [[ ${PV} == 9999* ]]; then + git-r3_src_unpack + go-module_live_vendor + else + default + fi +} + +src_compile() { + if use x86; then + #917577 pie breaks build on x86 + GOFLAGS=${GOFLAGS//-buildmode=pie} + fi + local go_ldflags=( + -X github.com/prometheus/common/version.Version=${PV} + -X github.com/prometheus/common/version.Revision=${GIT_COMMIT} + -X github.com/prometheus/common/version.Branch=master + -X github.com/prometheus/common/version.BuildUser=gentoo + -X github.com/prometheus/common/version.BuildDate="$(date +%F-%T)" + ) + ego build -mod=vendor -ldflags "${go_ldflags[*]}" -o ${PN} . + ./"${PN}" --help-man > "${PN}".1 || die +} + +src_test() { + emake test-flags= test +} + +src_install() { + dosbin "${PN}" + dodoc example-rules.yml *.md + doman "${PN}".1 + + systemd_dounit examples/systemd/node_exporter.{service,socket} + newinitd "${FILESDIR}"/${PN}.initd-1 ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + + insinto /etc/sysconfig + newins examples/systemd/sysconfig.node_exporter node_exporter + + insinto /etc/logrotate.d + newins "${FILESDIR}"/node_exporter-1.7.0.logrotate "${PN}" + + keepdir /var/lib/node_exporter/textfile_collector /var/log/node_exporter + fowners -R ${PN}:${PN} /var/lib/node_exporter /var/log/node_exporter +} diff --git a/app-metrics/node_exporter/node_exporter-1.11.1.ebuild b/app-metrics/node_exporter/node_exporter-1.11.1.ebuild new file mode 100644 index 000000000000..c05552f39cbe --- /dev/null +++ b/app-metrics/node_exporter/node_exporter-1.11.1.ebuild @@ -0,0 +1,82 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module systemd + +DESCRIPTION="Prometheus exporter for machine metrics" +HOMEPAGE="https://github.com/prometheus/node_exporter" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/prometheus/node_exporter.git" +else + SRC_URI="https://github.com/prometheus/node_exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz" + SRC_URI+=" https://github.com/gentoo-golang-dist/${PN}/releases/download/v${PV}/${P}-vendor.tar.xz" + + KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86" +fi + +# main pkg +LICENSE="Apache-2.0" +# Dependent licenses +LICENSE+=" Apache-2.0 BSD BSD-2 MIT MPL-2.0" +SLOT="0" +IUSE="selinux" + +DEPEND=" + acct-group/node_exporter + acct-user/node_exporter + selinux? ( sec-policy/selinux-node_exporter ) +" +RDEPEND="${DEPEND}" +BDEPEND=">=dev-lang/go-1.25.0" + +src_unpack() { + if [[ ${PV} == 9999* ]]; then + git-r3_src_unpack + go-module_live_vendor + else + default + fi +} + +src_compile() { + if use x86; then + #917577 pie breaks build on x86 + GOFLAGS=${GOFLAGS//-buildmode=pie} + fi + local go_ldflags=( + -X github.com/prometheus/common/version.Version=${PV} + -X github.com/prometheus/common/version.Revision=${GIT_COMMIT} + -X github.com/prometheus/common/version.Branch=master + -X github.com/prometheus/common/version.BuildUser=gentoo + -X github.com/prometheus/common/version.BuildDate="$(date +%F-%T)" + ) + ego build -mod=vendor -ldflags "${go_ldflags[*]}" -o ${PN} . + ./"${PN}" --help-man > "${PN}".1 || die +} + +src_test() { + emake test-flags= test +} + +src_install() { + dosbin "${PN}" + dodoc example-rules.yml *.md + doman "${PN}".1 + + systemd_dounit examples/systemd/node_exporter.{service,socket} + newinitd "${FILESDIR}"/${PN}.initd-1 ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + + insinto /etc/sysconfig + newins examples/systemd/sysconfig.node_exporter node_exporter + + insinto /etc/logrotate.d + newins "${FILESDIR}"/node_exporter-1.7.0.logrotate "${PN}" + + keepdir /var/lib/node_exporter/textfile_collector /var/log/node_exporter + fowners -R ${PN}:${PN} /var/lib/node_exporter /var/log/node_exporter +} diff --git a/app-metrics/node_exporter/node_exporter-1.8.2.ebuild b/app-metrics/node_exporter/node_exporter-1.8.2.ebuild new file mode 100644 index 000000000000..d2235073a3a5 --- /dev/null +++ b/app-metrics/node_exporter/node_exporter-1.8.2.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module systemd + +DESCRIPTION="Prometheus exporter for machine metrics" +HOMEPAGE="https://github.com/prometheus/node_exporter" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/prometheus/node_exporter.git" +else + SRC_URI="https://github.com/prometheus/node_exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz" + SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + + KEYWORDS="amd64 arm64 ~loong ~riscv ~x86" +fi + +# main pkg +LICENSE="Apache-2.0" +# deps +LICENSE+=" BSD BSD-2 MIT" +SLOT="0" +IUSE="selinux" + +COMMON_DEPEND=" + acct-group/node_exporter + acct-user/node_exporter + selinux? ( sec-policy/selinux-node_exporter ) +" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND}" +BDEPEND=">=dev-util/promu-0.17.0" + +src_unpack() { + if [[ ${PV} == 9999* ]]; then + git-r3_src_unpack + go-module_live_vendor + else + default + fi +} + +src_compile() { + if use x86; then + #917577 pie breaks build on x86 + GOFLAGS=${GOFLAGS//-buildmode=pie} + fi + promu build -v || die + ./"${PN}" --help-man > "${PN}".1 || die +} + +src_test() { + emake test-flags= test +} + +src_install() { + dosbin "${PN}" + dodoc example-rules.yml *.md + doman "${PN}".1 + systemd_dounit examples/systemd/node_exporter.{service,socket} + insinto /etc/sysconfig + newins examples/systemd/sysconfig.node_exporter node_exporter + newinitd "${FILESDIR}"/${PN}.initd-1 ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}"/node_exporter-1.7.0.logrotate "${PN}" + keepdir /var/lib/node_exporter /var/log/node_exporter + fowners ${PN}:${PN} /var/lib/node_exporter /var/log/node_exporter +} diff --git a/app-metrics/node_exporter/node_exporter-1.9.0.ebuild b/app-metrics/node_exporter/node_exporter-1.9.0.ebuild new file mode 100644 index 000000000000..d42a180b1a8d --- /dev/null +++ b/app-metrics/node_exporter/node_exporter-1.9.0.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module systemd + +DESCRIPTION="Prometheus exporter for machine metrics" +HOMEPAGE="https://github.com/prometheus/node_exporter" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/prometheus/node_exporter.git" +else + SRC_URI="https://github.com/prometheus/node_exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz" + SRC_URI+=" https://github.com/rahilarious/gentoo-distfiles/releases/download/${P}/deps.tar.xz -> ${P}-deps.tar.xz" + + KEYWORDS="amd64 arm64 ~loong ~riscv ~x86" +fi + +# main pkg +LICENSE="Apache-2.0" +# deps +LICENSE+=" BSD BSD-2 MIT" +SLOT="0" +IUSE="selinux" + +COMMON_DEPEND=" + acct-group/node_exporter + acct-user/node_exporter + selinux? ( sec-policy/selinux-node_exporter ) +" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND}" +BDEPEND=">=dev-util/promu-0.17.0" + +src_unpack() { + if [[ ${PV} == 9999* ]]; then + git-r3_src_unpack + go-module_live_vendor + else + default + fi +} + +src_prepare() { + [[ ${PV} != 9999* ]] && { ln -sv ../vendor ./ || die ; } + default +} + +src_compile() { + if use x86; then + #917577 pie breaks build on x86 + GOFLAGS=${GOFLAGS//-buildmode=pie} + fi + promu build -v || die + ./"${PN}" --help-man > "${PN}".1 || die +} + +src_test() { + emake test-flags= test +} + +src_install() { + dosbin "${PN}" + dodoc example-rules.yml *.md + doman "${PN}".1 + systemd_dounit examples/systemd/node_exporter.{service,socket} + insinto /etc/sysconfig + newins examples/systemd/sysconfig.node_exporter node_exporter + newinitd "${FILESDIR}"/${PN}.initd-1 ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}"/node_exporter-1.7.0.logrotate "${PN}" + keepdir /var/lib/node_exporter /var/log/node_exporter + fowners ${PN}:${PN} /var/lib/node_exporter /var/log/node_exporter +} diff --git a/app-metrics/node_exporter/node_exporter-1.9.1.ebuild b/app-metrics/node_exporter/node_exporter-1.9.1.ebuild new file mode 100644 index 000000000000..761604506d3b --- /dev/null +++ b/app-metrics/node_exporter/node_exporter-1.9.1.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module systemd + +DESCRIPTION="Prometheus exporter for machine metrics" +HOMEPAGE="https://github.com/prometheus/node_exporter" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/prometheus/node_exporter.git" +else + SRC_URI="https://github.com/prometheus/node_exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz" + SRC_URI+=" https://github.com/rahilarious/gentoo-distfiles/releases/download/${P}/deps.tar.xz -> ${P}-deps.tar.xz" + + KEYWORDS="amd64 arm64 ~loong ~riscv ~x86" +fi + +# main pkg +LICENSE="Apache-2.0" +# deps +LICENSE+=" BSD BSD-2 MIT" +SLOT="0" +IUSE="selinux" + +COMMON_DEPEND=" + acct-group/node_exporter + acct-user/node_exporter + selinux? ( sec-policy/selinux-node_exporter ) +" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND}" +BDEPEND=">=dev-util/promu-0.17.0" + +src_unpack() { + if [[ ${PV} == 9999* ]]; then + git-r3_src_unpack + go-module_live_vendor + else + default + fi +} + +src_prepare() { + [[ ${PV} != 9999* ]] && { ln -sv ../vendor ./ || die ; } + default +} + +src_compile() { + if use x86; then + #917577 pie breaks build on x86 + GOFLAGS=${GOFLAGS//-buildmode=pie} + fi + promu build -v || die + ./"${PN}" --help-man > "${PN}".1 || die +} + +src_test() { + emake test-flags= test +} + +src_install() { + dosbin "${PN}" + dodoc example-rules.yml *.md + doman "${PN}".1 + systemd_dounit examples/systemd/node_exporter.{service,socket} + insinto /etc/sysconfig + newins examples/systemd/sysconfig.node_exporter node_exporter + newinitd "${FILESDIR}"/${PN}.initd-1 ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}"/node_exporter-1.7.0.logrotate "${PN}" + keepdir /var/lib/node_exporter/textfile_collector /var/log/node_exporter + fowners -R ${PN}:${PN} /var/lib/node_exporter /var/log/node_exporter +} diff --git a/app-metrics/node_exporter/node_exporter-9999.ebuild b/app-metrics/node_exporter/node_exporter-9999.ebuild new file mode 100644 index 000000000000..c05552f39cbe --- /dev/null +++ b/app-metrics/node_exporter/node_exporter-9999.ebuild @@ -0,0 +1,82 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module systemd + +DESCRIPTION="Prometheus exporter for machine metrics" +HOMEPAGE="https://github.com/prometheus/node_exporter" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/prometheus/node_exporter.git" +else + SRC_URI="https://github.com/prometheus/node_exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz" + SRC_URI+=" https://github.com/gentoo-golang-dist/${PN}/releases/download/v${PV}/${P}-vendor.tar.xz" + + KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86" +fi + +# main pkg +LICENSE="Apache-2.0" +# Dependent licenses +LICENSE+=" Apache-2.0 BSD BSD-2 MIT MPL-2.0" +SLOT="0" +IUSE="selinux" + +DEPEND=" + acct-group/node_exporter + acct-user/node_exporter + selinux? ( sec-policy/selinux-node_exporter ) +" +RDEPEND="${DEPEND}" +BDEPEND=">=dev-lang/go-1.25.0" + +src_unpack() { + if [[ ${PV} == 9999* ]]; then + git-r3_src_unpack + go-module_live_vendor + else + default + fi +} + +src_compile() { + if use x86; then + #917577 pie breaks build on x86 + GOFLAGS=${GOFLAGS//-buildmode=pie} + fi + local go_ldflags=( + -X github.com/prometheus/common/version.Version=${PV} + -X github.com/prometheus/common/version.Revision=${GIT_COMMIT} + -X github.com/prometheus/common/version.Branch=master + -X github.com/prometheus/common/version.BuildUser=gentoo + -X github.com/prometheus/common/version.BuildDate="$(date +%F-%T)" + ) + ego build -mod=vendor -ldflags "${go_ldflags[*]}" -o ${PN} . + ./"${PN}" --help-man > "${PN}".1 || die +} + +src_test() { + emake test-flags= test +} + +src_install() { + dosbin "${PN}" + dodoc example-rules.yml *.md + doman "${PN}".1 + + systemd_dounit examples/systemd/node_exporter.{service,socket} + newinitd "${FILESDIR}"/${PN}.initd-1 ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + + insinto /etc/sysconfig + newins examples/systemd/sysconfig.node_exporter node_exporter + + insinto /etc/logrotate.d + newins "${FILESDIR}"/node_exporter-1.7.0.logrotate "${PN}" + + keepdir /var/lib/node_exporter/textfile_collector /var/log/node_exporter + fowners -R ${PN}:${PN} /var/lib/node_exporter /var/log/node_exporter +} diff --git a/app-metrics/openvpn_exporter/Manifest b/app-metrics/openvpn_exporter/Manifest new file mode 100644 index 000000000000..effd201d2d9b --- /dev/null +++ b/app-metrics/openvpn_exporter/Manifest @@ -0,0 +1,2 @@ +DIST openvpn_exporter-0.3.0-deps.tar.xz 4254448 BLAKE2B 982490b250119a984a3feff7b6a7d634fc1450b71a4e859f81894708643c3cff8de93bf3d799cc34396e3f18f271f23227dac142037c5986307716fc09c02606 SHA512 d4868e1cc553506aba88cc5268faf438e8504a231851315e8c13ee9871a9582e0db787e1a8237e4250740f50336844d8f1557ae4e2521ece9f9235376f394bb7 +DIST openvpn_exporter-0.3.0.tar.gz 11505 BLAKE2B 61a991e3ea8001a9481b8207c83316c1e028a68f657f3de191b7d69d7a3fefa753663292c2d77d09ef6024f9392b0077fc5170f2e8a19c0397240281dec09482 SHA512 4bea502e7dfd32e5fea9fc21fbfdb65ddcb381d6d1b5463c361e60026f88693912b998979e9fab3e455196eb7dec1677dc9feb293f4f14609f4352eb9d238cd9 diff --git a/app-metrics/openvpn_exporter/files/openvpn_exporter.confd b/app-metrics/openvpn_exporter/files/openvpn_exporter.confd new file mode 100644 index 000000000000..5aef9b6d5a79 --- /dev/null +++ b/app-metrics/openvpn_exporter/files/openvpn_exporter.confd @@ -0,0 +1,2 @@ +# arguments for prometheus openvpn exporter +command_args="-openvpn.status_paths /etc/openvpn/openvpn-status.log" diff --git a/app-metrics/openvpn_exporter/files/openvpn_exporter.initd b/app-metrics/openvpn_exporter/files/openvpn_exporter.initd new file mode 100644 index 000000000000..50fa4dab4fb2 --- /dev/null +++ b/app-metrics/openvpn_exporter/files/openvpn_exporter.initd @@ -0,0 +1,19 @@ +#!/sbin/openrc-run +# Copyright 2016-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Prometheus Exporter for OpenVPN status Metrics" +pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"} +user=${user:-${RC_SVCNAME}} +group=${group:-${RC_SVCNAME}} + +command="/usr/bin/openvpn_exporter" +command_args="${command_args:--openvpn.status_paths /etc/openvpn/openvpn-status.log}" +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() { + after net +} diff --git a/app-metrics/openvpn_exporter/files/openvpn_exporter.logrotated b/app-metrics/openvpn_exporter/files/openvpn_exporter.logrotated new file mode 100644 index 000000000000..37ffbe501421 --- /dev/null +++ b/app-metrics/openvpn_exporter/files/openvpn_exporter.logrotated @@ -0,0 +1,7 @@ +/var/log/openvpn_exporter/openvpn_exporter.log { + missingok + size 5M + rotate 3 + compress + copytruncate +} diff --git a/app-metrics/openvpn_exporter/metadata.xml b/app-metrics/openvpn_exporter/metadata.xml new file mode 100644 index 000000000000..17492b5107c4 --- /dev/null +++ b/app-metrics/openvpn_exporter/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/openvpn_exporter/openvpn_exporter-0.3.0.ebuild b/app-metrics/openvpn_exporter/openvpn_exporter-0.3.0.ebuild new file mode 100644 index 000000000000..13a0b9759eda --- /dev/null +++ b/app-metrics/openvpn_exporter/openvpn_exporter-0.3.0.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module + +DESCRIPTION="Prometheus Exporter for OpenVPN" +HOMEPAGE="https://github.com/kumina/openvpn_exporter" +SRC_URI="https://github.com/kumina/openvpn_exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="Apache-2.0 BSD MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +COMMON_DEPEND=" + acct-user/openvpn_exporter + acct-group/openvpn_exporter +" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND}" + +src_compile() { + ego build -o ${PN} +} + +src_install() { + dobin ${PN} + dodoc {CHANGELOG,README}.md + keepdir "/var/log/${PN}" + fowners ${PN}:${PN} "/var/log/${PN}" + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}/${PN}.logrotated" "${PN}" +} diff --git a/app-metrics/portage-exporter/Manifest b/app-metrics/portage-exporter/Manifest new file mode 100644 index 000000000000..187c1ee1fd0c --- /dev/null +++ b/app-metrics/portage-exporter/Manifest @@ -0,0 +1 @@ +DIST portage-exporter-0.1.0.tar.gz 14931 BLAKE2B bfafe9ac71b3ca756ac621d424cf80f988c3564c3a7d28b1d87781674cca00b7e3ed0c045d3d82bf19e6ce2021135dd85001aef3fe33360760da00dc17573666 SHA512 16efcb1ae6417f0db48247468f369db76bafeace136e296724fbb517d38b0ec5cbaf7b1949b7c5fb87337eeb374535f53a4a432f8aa5b10a3bb5b418fead2a94 diff --git a/app-metrics/portage-exporter/files/portage-exporter.confd b/app-metrics/portage-exporter/files/portage-exporter.confd new file mode 100644 index 000000000000..3bd24a22a809 --- /dev/null +++ b/app-metrics/portage-exporter/files/portage-exporter.confd @@ -0,0 +1,26 @@ +# /etc/conf.d/portage-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="portage-exporter" + +# User group to run exporter as +#EXPORTER_GROUP="portage-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 (passed via env) +#SERVE_ADDRESS=":2112" +#SERVE_PATH=/metrics +VDB_UPDATE_INTERVAL=1800 diff --git a/app-metrics/portage-exporter/files/portage-exporter.initd b/app-metrics/portage-exporter/files/portage-exporter.initd new file mode 100644 index 000000000000..9aa53f509a6e --- /dev/null +++ b/app-metrics/portage-exporter/files/portage-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 Portage packages" + +EXPORTER_FLAGS=${EXPORTER_FLAGS:-""} +#EXPORTER_USER=${EXPORTER_USER:-"portage-exporter"} +#EXPORTER_GROUP=${EXPORTER_GROUP:-"portage-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/portage-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.lo loopback +} + +start_post() { + service_set_value retry "${EXPORTER_TERMTIMEOUT}" +} diff --git a/app-metrics/portage-exporter/files/portage-exporter.service b/app-metrics/portage-exporter/files/portage-exporter.service new file mode 100644 index 000000000000..bec84b4c0413 --- /dev/null +++ b/app-metrics/portage-exporter/files/portage-exporter.service @@ -0,0 +1,18 @@ +[Unit] +Description=Gentoo Portage Exporter +Wants=network-online.target +After=network-online.target + +[Service] +User=portage-exporter +DynamicUser=yes +Type=simple +PassEnvironment=SERVE_ADDRESS SERVE_PATH VDB_UPDATE_INTERVAL +ExecStart=/usr/bin/portage-exporter + +# Environment=SERVE_ADDRESS=:2112 +# Environment=SERVE_PATH=/metrics +# Environment=VDB_UPDATE_INTERVAL=1800 + +[Install] +WantedBy=multi-user.target diff --git a/app-metrics/portage-exporter/metadata.xml b/app-metrics/portage-exporter/metadata.xml new file mode 100644 index 000000000000..8f5778a21fc1 --- /dev/null +++ b/app-metrics/portage-exporter/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>robbat2@gentoo.org</email> + </maintainer> + <maintainer type="person"> + <email>arthurzam@gentoo.org</email> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/portage-exporter/portage-exporter-0.1.0.ebuild b/app-metrics/portage-exporter/portage-exporter-0.1.0.ebuild new file mode 100644 index 000000000000..a9b7cbd38c65 --- /dev/null +++ b/app-metrics/portage-exporter/portage-exporter-0.1.0.ebuild @@ -0,0 +1,24 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake systemd + +DESCRIPTION="Prometheus exporter for Gentoo Portage" +HOMEPAGE="https://github.com/projg2/portage-exporter" +SRC_URI="https://github.com/projg2/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND="dev-cpp/prometheus-cpp" + +src_install() { + cmake_src_install + + systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} +} diff --git a/app-metrics/postfix_exporter/Manifest b/app-metrics/postfix_exporter/Manifest new file mode 100644 index 000000000000..637770d42712 --- /dev/null +++ b/app-metrics/postfix_exporter/Manifest @@ -0,0 +1,2 @@ +DIST postfix_exporter-0.3.0-deps.tar.xz 10261848 BLAKE2B 3ab985ae873f53019b093266df90d4593b3a1755bafb6a0df600ae84411fd73f578cfeb6749fdfade5392ec55ec4df1916cf6b86f0ea0b5e04828dda50687789 SHA512 d591ef808fd3ccc7b48f37257ae6925b8ae491decef9ac679f13af08d0c6717b162a53cc2cd2ffb98361f38eaceaac24b2fba1db958fc9fa172fbe5060b639b1 +DIST postfix_exporter-0.3.0.tar.gz 26528 BLAKE2B 9d1b17917f4a6a6e73e1477e973454d9ce774d218463f151117e8772f77ea17c00536d0262789644716992c3c6ddcbf8b26d9c92eea77f9750e971e3a7c0d1d4 SHA512 1812d2ad95803290c12615975ba6e44c0a6f73dd0e10db927a9f1c58bfce27b71c9c2928f58623e263ba2737d2780f220e6a7fe0992e2607f290478eaa080b39 diff --git a/app-metrics/postfix_exporter/files/postfix_exporter.confd b/app-metrics/postfix_exporter/files/postfix_exporter.confd new file mode 100644 index 000000000000..a96327925e11 --- /dev/null +++ b/app-metrics/postfix_exporter/files/postfix_exporter.confd @@ -0,0 +1,9 @@ +# -postfix.logfile_path string +# Path where Postfix writes log entries. This file will be truncated by this exporter. (default "/var/log/postfix_exporter_input.log") +# -postfix.showq_path string +# Path at which Postfix places its showq socket. (default "/var/spool/postfix/public/showq") +# -web.listen-address string +# Address to listen on for web interface and telemetry. (default ":9154") +# -web.telemetry-path string +# Path under which to expose metrics. (default "/metrics") +command_args="" diff --git a/app-metrics/postfix_exporter/files/postfix_exporter.initd b/app-metrics/postfix_exporter/files/postfix_exporter.initd new file mode 100644 index 000000000000..8fce39c9db03 --- /dev/null +++ b/app-metrics/postfix_exporter/files/postfix_exporter.initd @@ -0,0 +1,19 @@ +#!/sbin/openrc-run +# Copyright 2016-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Prometheus Exporter for Postfix Metrics" +pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"} +user=${user:-${RC_SVCNAME}} +group=${group:-${RC_SVCNAME}} + +command="/usr/bin/postfix_exporter" +command_args="${command_args:-}" +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() { + after net +} diff --git a/app-metrics/postfix_exporter/files/postfix_exporter.logrotated b/app-metrics/postfix_exporter/files/postfix_exporter.logrotated new file mode 100644 index 000000000000..7c9e9f4018c8 --- /dev/null +++ b/app-metrics/postfix_exporter/files/postfix_exporter.logrotated @@ -0,0 +1,7 @@ +/var/log/postfix_exporter/postfix_exporter.log { + missingok + size 5M + rotate 3 + compress + copytruncate +} diff --git a/app-metrics/postfix_exporter/metadata.xml b/app-metrics/postfix_exporter/metadata.xml new file mode 100644 index 000000000000..17492b5107c4 --- /dev/null +++ b/app-metrics/postfix_exporter/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/postfix_exporter/postfix_exporter-0.3.0.ebuild b/app-metrics/postfix_exporter/postfix_exporter-0.3.0.ebuild new file mode 100644 index 000000000000..ec665dd32649 --- /dev/null +++ b/app-metrics/postfix_exporter/postfix_exporter-0.3.0.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module + +DESCRIPTION="Prometheus Exporter for Postfix" +HOMEPAGE="https://github.com/kumina/postfix_exporter" +SRC_URI=" + https://github.com/kumina/postfix_exporter/archive/${PV}.tar.gz -> ${P}.tar.gz + https://dev.gentoo.org/~arthurzam/distfiles/app-metrics/${PN}/${P}-deps.tar.xz +" + +LICENSE="Apache-2.0 BSD MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="systemd" +RESTRICT+=" test" + +RDEPEND=" + acct-group/postfix_exporter + acct-user/postfix_exporter +" +DEPEND="${RDEPEND} + systemd? ( sys-apps/systemd ) +" + +src_compile() { + ego build -tags "$(usex systemd '' 'nosystemd')" -v -o bin/${PN} +} + +src_install() { + dobin bin/${PN} + dodoc {CHANGELOG,README}.md + keepdir /var/log/${PN} + fowners ${PN}:${PN} /var/log/${PN} + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}/${PN}.logrotated" "${PN}" +} diff --git a/app-metrics/postgres_exporter/Manifest b/app-metrics/postgres_exporter/Manifest new file mode 100644 index 000000000000..b9d6179e10fb --- /dev/null +++ b/app-metrics/postgres_exporter/Manifest @@ -0,0 +1,8 @@ +DIST postgres_exporter-0.15.0-deps.tar.xz 10107168 BLAKE2B 2c63161629b7a7aa7e4ca8332f1ad140bfd4c6d496cf860964da4b1897ca67e8716f22db35df6e0558c2764442afea657f3d3e2406762f14b88bf2266f2464f7 SHA512 91a0d8b471ef06635ee3520c8b2a15e19ebb9427356602752f0b35d87efacc129709cac50873f94305edf85149d0b9bb0b2cf6d2bfa8d1ec88e6c6a6be1f4880 +DIST postgres_exporter-0.15.0.tar.gz 86818 BLAKE2B bf4b3f842c98e82c54eb8393271bd9879a93cd8f28b2fcafa09bbb907caf96c4b728139b08074f1de08295b18d61aaa29b4fb53321164c8b4fc93545f7da5b7a SHA512 332700809454dba11e1e6b9cbc46be9683925a6c692e110efa1204ce1ad1457a8d2237ee8af20f1ee6d5c663266fc1629da6f4f5ff9151faf294a26af8be7682 +DIST postgres_exporter-0.16.0-deps.tar.xz 42043172 BLAKE2B 0a7adca9f8f93e8bef092492c6b8f6478ca27c61bb31ac9b4427a11579b9a5c232996ae2c9e24d8d04daacb8a6e407468181a6a0a7871fe0b6293de28c4f3194 SHA512 f87f1d6e6a5390092b188fcf6510c54d88036ad493bc996d9b2b72941d21606cd7a14e10b9b7cb85800c7ae99400983704309b9edfddc4b9f4adf83cf8d1dde3 +DIST postgres_exporter-0.16.0.tar.gz 88742 BLAKE2B 2cb8240a350b80bb2681d65f4ba1030f47effb45e9b3e21d260e9bd8ecb8e76d05cf7523b6e0bf973c27457ac547851c71162826a4f88c52b35cce1e22fc0c24 SHA512 a4930ec95e0b5eb08712814a99662bdadbdcefd77f9950ca8ffc8015f1df09345aa7992ed2848e5aad505db249be79a0c5d0d8550a9e138f29b3a82e5229ef0e +DIST postgres_exporter-0.17.1-deps.tar.xz 42376940 BLAKE2B a69f4d27d6452914ec6e6828eaba66891b0feabfd37659f0008149d00a6a13b0087b6741fd76880073949f8f8452340c474fb676880453e2e64962ef5e583e2d SHA512 300f936b9447574488ee724d81eeec46f3a36f06017f5688b1ae36232ccb36e38c4c705b4d2b10c3fe6713316adde757598a023fc7e477c1958337e6fb707704 +DIST postgres_exporter-0.17.1.tar.gz 90806 BLAKE2B 04a86f7d1c6f3cd1159cb927ae1064d1e007f6de56fae82e13e899215ed774bdcb7c78fad363f25781caf48d3c0f36fcbba96c08f84a03038abc451d44ecc5e7 SHA512 f48792d728ef86a5863d71b2b0180c2c7e51bfb2c741aa88c8c45a05faad47dc7fb0efbbc748265cf6d493cdfe98d2ffccd47aa77c9e657918804ff61e41031f +DIST postgres_exporter-0.19.1-vendor.tar.xz 1487036 BLAKE2B 5ffe4aaf269f89db7ab6d6ac2a75142013a5cd3a4146ba2bf851e7d2932ed05f7070ac80fe4d9080fa430b718c3c1cf8b3f0e0e697bac2c25e741b20adf036b5 SHA512 d58b2fa259fed6419aa1c9f820c0fc0749abff30c97265681be989189f757969e684de0094ed067dc996430059f6893f94e108a1fa6331c9f973c59808e59e55 +DIST postgres_exporter-0.19.1.tar.gz 102771 BLAKE2B ff1309d5df9ee2ff7c10436de4e7ec065a1879765dcf84f13fe1bd4cc74234d7858808529478a9e15877fd9926555317fdb79e218bbc72b6fa215e0552d44c3b SHA512 ae079af1649933acf33773bca657c812b97170fa231bd340a1f4966cc6b8605ea7aa5da1505875c21eaa033d1c7c3eeb24f553d3ecd542dbe235996f8be4ce15 diff --git a/app-metrics/postgres_exporter/files/postgres_exporter.confd b/app-metrics/postgres_exporter/files/postgres_exporter.confd new file mode 100644 index 000000000000..88fa9e35088f --- /dev/null +++ b/app-metrics/postgres_exporter/files/postgres_exporter.confd @@ -0,0 +1,2 @@ +# arguments for prometheus postgres exporter +command_args="" diff --git a/app-metrics/postgres_exporter/files/postgres_exporter.initd b/app-metrics/postgres_exporter/files/postgres_exporter.initd new file mode 100644 index 000000000000..83bff2029518 --- /dev/null +++ b/app-metrics/postgres_exporter/files/postgres_exporter.initd @@ -0,0 +1,19 @@ +#!/sbin/openrc-run +# Copyright 2016-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Prometheus PostgreSQL exporter" +pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"} +user=${user:-${RC_SVCNAME}} +group=${group:-${RC_SVCNAME}} + +command="/usr/bin/postgres_exporter" +command_args="${command_args:-}" +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() { + after net +} diff --git a/app-metrics/postgres_exporter/files/postgres_exporter.service b/app-metrics/postgres_exporter/files/postgres_exporter.service new file mode 100644 index 000000000000..d80f6725f7f6 --- /dev/null +++ b/app-metrics/postgres_exporter/files/postgres_exporter.service @@ -0,0 +1,14 @@ +[Unit] +Description=PostgreSQL Exporter +Documentation="https://github.com/prometheus-community/postgres_exporter" + +[Service] +User=postgres_exporter +#Environment=DATA_SOURCE_URI=localhost:5432/postgres?sslmode=disable +#Environment=DATA_SOURCE_USER=postgres +#Environment=DATA_SOURCE_PASS=password +#Environment=DATA_SOURCE_PASS_FILE=/path/to/passwordfile +ExecStart=/usr/bin/postgres_exporter + +[Install] +WantedBy=multi-user.target diff --git a/app-metrics/postgres_exporter/metadata.xml b/app-metrics/postgres_exporter/metadata.xml new file mode 100644 index 000000000000..17492b5107c4 --- /dev/null +++ b/app-metrics/postgres_exporter/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/postgres_exporter/postgres_exporter-0.15.0.ebuild b/app-metrics/postgres_exporter/postgres_exporter-0.15.0.ebuild new file mode 100644 index 000000000000..6ff33eff04cb --- /dev/null +++ b/app-metrics/postgres_exporter/postgres_exporter-0.15.0.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module + +GIT_COMMIT=68c176b8833b7580bf847cecf60f8e0ad5923f9a + +DESCRIPTION="PostgreSQL stats exporter for Prometheus" +HOMEPAGE="https://github.com/prometheus-community/postgres_exporter" +SRC_URI="https://github.com/prometheus-community/postgres_exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~arthurzam/distfiles/app-metrics/${PN}/${P}-deps.tar.xz" + +LICENSE="Apache-2.0 BSD MIT" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=" + acct-group/postgres_exporter + acct-user/postgres_exporter +" +RDEPEND="${DEPEND}" +BDEPEND="dev-util/promu" + +RESTRICT="test" + +src_prepare() { + default + sed -i \ + -e "s/{{.Branch}}/HEAD/" \ + -e "s/{{.Revision}}/${GIT_COMMIT}/" \ + .promu.yml || die "sed failed" +} + +src_compile() { + promu build -v --prefix bin || die +} + +src_install() { + dobin bin/* + dodoc README.md queries.yaml + + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + + keepdir /var/log/${PN} + fowners ${PN}:${PN} /var/log/${PN} +} diff --git a/app-metrics/postgres_exporter/postgres_exporter-0.16.0.ebuild b/app-metrics/postgres_exporter/postgres_exporter-0.16.0.ebuild new file mode 100644 index 000000000000..83f78935d115 --- /dev/null +++ b/app-metrics/postgres_exporter/postgres_exporter-0.16.0.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module edo systemd + +GIT_COMMIT=a324fe37bca5193a293118b940b3df7ab3a8505c + +DESCRIPTION="PostgreSQL stats exporter for Prometheus" +HOMEPAGE="https://github.com/prometheus-community/postgres_exporter" +SRC_URI="https://github.com/prometheus-community/postgres_exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~arthurzam/distfiles/app-metrics/${PN}/${P}-deps.tar.xz" + +LICENSE="Apache-2.0 BSD MIT" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=" + acct-group/postgres_exporter + acct-user/postgres_exporter +" +RDEPEND="${DEPEND}" +BDEPEND="dev-util/promu" + +RESTRICT="test" + +src_prepare() { + default + sed -i \ + -e "s/{{.Branch}}/HEAD/" \ + -e "s/{{.Revision}}/${GIT_COMMIT}/" \ + .promu.yml || die "sed failed" +} + +src_compile() { + edo promu build -v --prefix bin +} + +src_install() { + dobin bin/* + dodoc README.md queries.yaml + + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + systemd_dounit "${FILESDIR}"/${PN}.service + + keepdir /var/log/${PN} + fowners ${PN}:${PN} /var/log/${PN} +} diff --git a/app-metrics/postgres_exporter/postgres_exporter-0.17.1.ebuild b/app-metrics/postgres_exporter/postgres_exporter-0.17.1.ebuild new file mode 100644 index 000000000000..b603f08c7b20 --- /dev/null +++ b/app-metrics/postgres_exporter/postgres_exporter-0.17.1.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module edo systemd + +GIT_COMMIT=1e574cf4fd2a75a8a707d424eafcaa0b88cb7af4 + +DESCRIPTION="PostgreSQL stats exporter for Prometheus" +HOMEPAGE="https://github.com/prometheus-community/postgres_exporter" +SRC_URI="https://github.com/prometheus-community/postgres_exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="Apache-2.0 BSD MIT" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=" + acct-group/postgres_exporter + acct-user/postgres_exporter +" +RDEPEND="${DEPEND}" +BDEPEND="dev-util/promu" + +RESTRICT="test" + +src_prepare() { + default + sed -i \ + -e "s/{{.Branch}}/HEAD/" \ + -e "s/{{.Revision}}/${GIT_COMMIT}/" \ + .promu.yml || die "sed failed" +} + +src_compile() { + edo promu build -v --prefix bin +} + +src_install() { + dobin bin/* + dodoc README.md queries.yaml + + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + systemd_dounit "${FILESDIR}"/${PN}.service + + keepdir /var/log/${PN} + fowners ${PN}:${PN} /var/log/${PN} +} diff --git a/app-metrics/postgres_exporter/postgres_exporter-0.19.1.ebuild b/app-metrics/postgres_exporter/postgres_exporter-0.19.1.ebuild new file mode 100644 index 000000000000..4b86244955dd --- /dev/null +++ b/app-metrics/postgres_exporter/postgres_exporter-0.19.1.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module edo systemd + +GIT_COMMIT=333363aeb548b66340a61a7fb2b3f0e8a8d39f90 + +DESCRIPTION="PostgreSQL stats exporter for Prometheus" +HOMEPAGE="https://github.com/prometheus-community/postgres_exporter" +SRC_URI="https://github.com/prometheus-community/postgres_exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://github.com/gentoo-golang-dist/${PN}/releases/download/v${PV}/${P}-vendor.tar.xz" + +LICENSE="Apache-2.0" +# Dependent licenses +LICENSE+=" Apache-2.0 BSD MIT" +SLOT="0" +KEYWORDS="~amd64" +RESTRICT="test" + +DEPEND=" + acct-group/postgres_exporter + acct-user/postgres_exporter +" +RDEPEND="${DEPEND}" +BDEPEND="dev-util/promu" + +src_prepare() { + default + sed -i \ + -e "s/{{.Branch}}/HEAD/" \ + -e "s/{{.Revision}}/${GIT_COMMIT}/" \ + .promu.yml || die "sed failed" +} + +src_compile() { + edo promu build -v --prefix bin +} + +src_install() { + dobin bin/* + dodoc README.md queries.yaml + + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + systemd_dounit "${FILESDIR}"/${PN}.service + + keepdir /var/log/${PN} + fowners ${PN}:${PN} /var/log/${PN} +} diff --git a/app-metrics/process-exporter/Manifest b/app-metrics/process-exporter/Manifest new file mode 100644 index 000000000000..e5a562a398cf --- /dev/null +++ b/app-metrics/process-exporter/Manifest @@ -0,0 +1,4 @@ +DIST process-exporter-0.7.10-deps.tar.xz 106360268 BLAKE2B a06448eb38cee7cac6c93d8dedecfbb4fc7152f25c7ff42cb440aa6162aa8daac5ddbe7e56e99d96386b70723124b59f0bd0ab9df2b3f519532ac9487ba34b9e SHA512 6982da5d9c4ecdeacaa970baf0c820e0e3053ff3dbbbb260e7f3e68bff2c1e04beffbbbe8546e1f680d0dcba2eaac256a1bce4b6eee290a847ce70fe8653b68d +DIST process-exporter-0.7.10.tar.gz 55320 BLAKE2B 72497d513105486de9bc212f4b8af14c52afa8acbcf04f52ab8015bef78172936917cb58573a4ea16b4b3e433e90b404da6658012d904e3d3d787787c7c16c4d SHA512 fd7ff44b28a608184ee0045c2304dad6d5ba0a1b122f9098244a46dfcfd54d0a9e65bb2891e5198ecb9f4bc51a0fcc8577880a05f2e29a073d15e8b0cb5766c1 +DIST process-exporter-0.8.5-deps.tar.xz 9016516 BLAKE2B 567537f60be2e56a3462e34bf46e15d6ba6c4209ea36e6574e57ff4c568a2fd50dcb9cfd45bf086481184d9afb02068814fe8f31f05ae1206f7474816e3a324b SHA512 0aea48891eac031fa9e99cc839b23238557d4f728f299f1a299f56d747ccabe698fdf2ff611a6f25c063e4e9eb545c471e65cf5514eef6225f1800b09a20b6ad +DIST process-exporter-0.8.5.tar.gz 43154 BLAKE2B 094d9b1dcc516b09e5a0984cd4a7d1180a321c73e86095bb258e786fbaa2db3f703102df6463d4ac56404b1d779034dd7018abf59cc00611d53d5c61e957cc2f SHA512 e213f7ee139c4bd07686c009dede432117aac2e7a80416f0e50a46910ba394fcbae69bfdefd3a48fef9e68aff2c5ac0f0da14bb0382392fc95aca55a9a90cf23 diff --git a/app-metrics/process-exporter/files/process-exporter.initd b/app-metrics/process-exporter/files/process-exporter.initd new file mode 100644 index 000000000000..f25eadc2a11f --- /dev/null +++ b/app-metrics/process-exporter/files/process-exporter.initd @@ -0,0 +1,12 @@ +#!/sbin/openrc-run +# Copyright 2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +description="Process Exporter for Prometheus" +command=/usr/bin/process-exporter +command_args="--config.path /etc/process-exporter/all.yaml + ${COMMAND_ARGS}" +command_background=yes +error_log=/var/log/process-exporter/${RC_SVCNAME}.log +output_log=/var/log/process-exporter/${RC_SVCNAME}.log +pidfile=/var/run/${RC_SVCNAME}.pid diff --git a/app-metrics/process-exporter/metadata.xml b/app-metrics/process-exporter/metadata.xml new file mode 100644 index 000000000000..17492b5107c4 --- /dev/null +++ b/app-metrics/process-exporter/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/process-exporter/process-exporter-0.7.10.ebuild b/app-metrics/process-exporter/process-exporter-0.7.10.ebuild new file mode 100644 index 000000000000..3d4199894c57 --- /dev/null +++ b/app-metrics/process-exporter/process-exporter-0.7.10.ebuild @@ -0,0 +1,28 @@ +# Copyright 2019-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module systemd + +DESCRIPTION="Process exporter for prometheus" +HOMEPAGE="https://github.com/ncabatoff/process-exporter" +SRC_URI="https://github.com/ncabatoff/process-exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="MIT Apache-2.0 BSD BSD-2" +SLOT="0" +KEYWORDS="~amd64" + +src_compile() { + emake build +} + +src_install() { + dobin ${PN} + dodoc *.md + insinto /etc/${PN} + doins packaging/conf/all.yaml + systemd_dounit packaging/${PN}.service + newinitd "${FILESDIR}"/${PN}.initd ${PN} + keepdir /var/log/${PN} +} diff --git a/app-metrics/process-exporter/process-exporter-0.8.5.ebuild b/app-metrics/process-exporter/process-exporter-0.8.5.ebuild new file mode 100644 index 000000000000..0bb5ac941ab2 --- /dev/null +++ b/app-metrics/process-exporter/process-exporter-0.8.5.ebuild @@ -0,0 +1,48 @@ +# Copyright 2019-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module systemd + +# update on every bump +REVISION=626431b9a759d425bbb78eb15153f892970aadee +DESCRIPTION="Process exporter for prometheus" +HOMEPAGE="https://github.com/ncabatoff/process-exporter" +SRC_URI="https://github.com/ncabatoff/process-exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="MIT Apache-2.0 BSD BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +src_prepare() { + #See bug 924632 + case $ARCH in + x86|arm) + ewarn "Force CGO_ENABLED=1 for $ARCH, see bug #924632" + sed -r -i \ + -e 's/(CGO_ENABLED=)0/\11/g' \ + Makefile \ + || ewarn "Can not force CGO_ENABLED=1" + ;; + esac + eapply_user +} + +src_compile() { + emake \ + BRANCH=HEAD \ + REVISION=${REVISION} \ + TAG_VERSION=v${PV} \ + build +} + +src_install() { + dobin ${PN} + dodoc *.md + insinto /etc/${PN} + doins packaging/conf/all.yaml + systemd_dounit packaging/${PN}.service + newinitd "${FILESDIR}"/${PN}.initd ${PN} + keepdir /var/log/${PN} +} diff --git a/app-metrics/prom2json/Manifest b/app-metrics/prom2json/Manifest new file mode 100644 index 000000000000..27f6e4fdac42 --- /dev/null +++ b/app-metrics/prom2json/Manifest @@ -0,0 +1,2 @@ +DIST prom2json-1.4.1-deps.tar.xz 2788996 BLAKE2B b720c8d4fb0157c63873e2c15ad2adaef057ac6e6f340d25b321f9a380ee35d6d8eac153fc4cd6e75e60f0a75f6f74c17d8caaa51c46cead0e9942a2b9e29660 SHA512 47f33537a83ed0d24f49f3faa1805593ad4f848b1ff79fe19d3a6a3b2dc3a1e1587217ea7a985c6ae4eae4aca2fac2cff8773e3782c0d0e265722341d0296247 +DIST prom2json-1.4.1.tar.gz 21261 BLAKE2B 76d0f4ba6f7433fbb8701945d297df5fd011d2c62ca39c12647c114202e0a74db8d2c08808b179a5b07f08b7ec7742da238dec9b31bead6b1414b1265f495834 SHA512 4ec0aad8df3e1da4768fdf0c81c4f556589c7d84bee05ad5cf00eface323f3d8770ccb1c48b43a1598be4455307c21af3a0e62842c429ac194e34535b02fa8e8 diff --git a/app-metrics/prom2json/metadata.xml b/app-metrics/prom2json/metadata.xml new file mode 100644 index 000000000000..17492b5107c4 --- /dev/null +++ b/app-metrics/prom2json/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/prom2json/prom2json-1.4.1.ebuild b/app-metrics/prom2json/prom2json-1.4.1.ebuild new file mode 100644 index 000000000000..34d59e6ec49d --- /dev/null +++ b/app-metrics/prom2json/prom2json-1.4.1.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module edo + +GIT_COMMIT=e76e84858a35a1094458b792c631cb75867fd550 + +DESCRIPTION="A tool to scrape a Prometheus client and dump the result as JSON" +HOMEPAGE="https://github.com/prometheus/prom2json" +SRC_URI="https://github.com/prometheus/prom2json/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~arthurzam/distfiles/app-metrics/${PN}/${P}-deps.tar.xz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +BDEPEND="dev-util/promu" + +src_prepare() { + default + sed -i .promu.yml \ + -e "s/{{.Revision}}/${GIT_COMMIT}/" \ + -e "s/{{.Version}}/${PV}/" || die +} + +src_compile() { + mkdir bin || die + edo promu build --prefix bin +} + +src_test() { + emake test-flags= test +} + +src_install() { + dobin bin/* + dodoc {README,CONTRIBUTING}.md +} diff --git a/app-metrics/prometheus-lvm-exporter/Manifest b/app-metrics/prometheus-lvm-exporter/Manifest new file mode 100644 index 000000000000..678e256a53a3 --- /dev/null +++ b/app-metrics/prometheus-lvm-exporter/Manifest @@ -0,0 +1,2 @@ +DIST prometheus-lvm-exporter-0.3.3-deps.tar.xz 8813080 BLAKE2B 3fad55a4a57bd34ca29b27d2a3812f5e3f1bb4b2315bd9a10d4cb264cbacb13e3aa0385da117bc193cea12c9ea1245aa80e74a49339d25c7ed277cd681ff38ad SHA512 df93b13bc389d87d9d33bb637ca13af13cff02c411e4ba16159dd9be560e15b1f107c593a95ecb72f0d92ce5124439c42673562e5da5016b726512e5cd32c7f4 +DIST prometheus-lvm-exporter-0.3.3.tar.gz 47239 BLAKE2B 5e91e9a06090843f1637624bcde9dcf5af771fb03467d3c09affed20ccc7f8f565bcbd4b7cf97df3be5d06dbfaaeacf76af43b635b5e887cfaa4cfe7a601fc78 SHA512 84315d248310c4cd2e2a51e57026561beb813d4cdc621f545b8b285804ecc6faba28644e19fb2435fefe77552385f04fc1e604d543675ccc002f1984d92c8c21 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..5d08ae950a93 --- /dev/null +++ b/app-metrics/prometheus-lvm-exporter/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>robbat2@gentoo.org</email> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/prometheus-lvm-exporter/prometheus-lvm-exporter-0.3.3.ebuild b/app-metrics/prometheus-lvm-exporter/prometheus-lvm-exporter-0.3.3.ebuild new file mode 100644 index 000000000000..28809292d70e --- /dev/null +++ b/app-metrics/prometheus-lvm-exporter/prometheus-lvm-exporter-0.3.3.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module systemd + +DESCRIPTION="Prometheus exporter for LVM metrics" +HOMEPAGE="https://github.com/hansmi/prometheus-lvm-exporter" +SRC_URI=" + https://github.com/hansmi/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz + https://dev.gentoo.org/~arthurzam/distfiles/app-metrics/${PN}/${P}-deps.tar.xz +" + +LICENSE="Apache-2.0 BSD MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +# lvm is explicitly not included here; this could be installed before it safely. +# RDEPEND="" + +src_prepare() { + default + sed -i -e '/kingpin.Flag.*\<command\>.*/s,/usr/sbin/lvm,/sbin/lvm,g' "${S}"/main.go || die +} + +src_compile() { + default + ego build . +} + +src_test() { + ego test . +} + +src_install() { + default + dobin ${PN} + dodoc README.md + + systemd_dounit contrib/systemd/${PN}.service + insinto /etc/default + newins contrib/systemd/${PN}.default ${PN} + + # 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} +} diff --git a/app-metrics/prometheus-podman-exporter/Manifest b/app-metrics/prometheus-podman-exporter/Manifest new file mode 100644 index 000000000000..a352fdea24a3 --- /dev/null +++ b/app-metrics/prometheus-podman-exporter/Manifest @@ -0,0 +1,2 @@ +DIST prometheus-podman-exporter-1.19.0.tar.gz 14496164 BLAKE2B 2403a07b0a715e2d5b72f9ee719dc784b2225a0541e7885e4a5e0958ef27831bae221a80861e70d1dce5d295db09466817976b43ab78b86a08648beb33860fec SHA512 bb4856e99be90cc227b448a88aae984fb7c8319b0428269a96e1419e63c2e2888bf3fea90f613d16205afbc32ca450af0269e5e47d98ef4166fb53fc174f804c +DIST prometheus-podman-exporter-1.20.0.tar.gz 14667328 BLAKE2B 6588022bb78cc4c44e8a0a4197006af4f984da2e2e0231089f2607a7f50f0404836be2c1e120a48c7475bc1fe1da78e5be530523b871aef6900708d4a3dceaab SHA512 1e656ae6189f2285efbbe53c9113d89f9bce2139f1faea6dde037f734168501bb9220cc46638d42148bfe8ef19a6ae0806f74b6c10d1452473a0b00580f4958c diff --git a/app-metrics/prometheus-podman-exporter/files/prometheus-podman-exporter-1.10.1-gentoo-systemd.patch b/app-metrics/prometheus-podman-exporter/files/prometheus-podman-exporter-1.10.1-gentoo-systemd.patch new file mode 100644 index 000000000000..b4006da393a4 --- /dev/null +++ b/app-metrics/prometheus-podman-exporter/files/prometheus-podman-exporter-1.10.1-gentoo-systemd.patch @@ -0,0 +1,22 @@ +--- a/contrib/systemd/system/prometheus-podman-exporter.service ++++ b/contrib/systemd/system/prometheus-podman-exporter.service +@@ -2,7 +2,7 @@ + Description=Prometheus exporter for podman (v4) machine + [Service] + Restart=on-failure +-EnvironmentFile=-/etc/sysconfig/prometheus-podman-exporter ++EnvironmentFile=-/etc/default/prometheus-podman-exporter + ExecStart=/usr/bin/prometheus-podman-exporter $PODMAN_EXPORTER_OPTS + ExecReload=/bin/kill -HUP $MAINPID + TimeoutStopSec=20s +--- a/contrib/systemd/user/prometheus-podman-exporter.service ++++ b/contrib/systemd/user/prometheus-podman-exporter.service +@@ -2,7 +2,7 @@ + Description=Prometheus exporter for podman (v4) machine + [Service] + Restart=on-failure +-EnvironmentFile=-/etc/sysconfig/prometheus-podman-exporter ++EnvironmentFile=-/etc/default/prometheus-podman-exporter + EnvironmentFile=-%h/.config/prometheus-podman-exporter + ExecStart=/usr/bin/prometheus-podman-exporter $PODMAN_EXPORTER_OPTS + ExecReload=/bin/kill -HUP $MAINPID diff --git a/app-metrics/prometheus-podman-exporter/metadata.xml b/app-metrics/prometheus-podman-exporter/metadata.xml new file mode 100644 index 000000000000..ce10c433bfd7 --- /dev/null +++ b/app-metrics/prometheus-podman-exporter/metadata.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>me@rahil.rocks</email> + <name>Rahil Bhimjiani</name> + </maintainer> + <maintainer type="person"> + <email>zmedico@gentoo.org</email> + <name>Zac Medico</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <use> + <flag name="btrfs">Collect metrics for btrfs filesystem</flag> + </use> + <upstream> + <bugs-to>https://github.com/containers/prometheus-podman-exporter/issues</bugs-to> + <doc>https://github.com/containers/prometheus-podman-exporter/blob/main/README.md</doc> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/prometheus-podman-exporter/prometheus-podman-exporter-1.19.0.ebuild b/app-metrics/prometheus-podman-exporter/prometheus-podman-exporter-1.19.0.ebuild new file mode 100644 index 000000000000..dceede9effd1 --- /dev/null +++ b/app-metrics/prometheus-podman-exporter/prometheus-podman-exporter-1.19.0.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module systemd + +DESCRIPTION="Exporter for podman giving containers, pods, images, volumes & networks metrics" +HOMEPAGE="https://github.com/containers/prometheus-podman-exporter" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/prometheus-podman-exporter.git" +else + SRC_URI="https://github.com/containers/prometheus-podman-exporter/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" +fi + +# Main package +LICENSE="Apache-2.0" +# Dependencies +LICENSE+=" BSD-2 BSD ISC MIT MPL-2.0" + +SLOT="0" +IUSE="btrfs systemd" + +# there are no test files so prevent tests +RESTRICT="test" + +DEPEND=" + app-crypt/gpgme:1= + btrfs? ( sys-fs/btrfs-progs ) +" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}/${PN}-1.10.1-gentoo-systemd.patch" +) + +src_compile() { + export BUILDTAGS="" + use !btrfs && BUILDTAGS+=",exclude_graphdriver_btrfs" + use systemd && BUILDTAGS+=",systemd" + default +} + +src_install() { + emake DESTDIR="${ED}/usr/bin" install + dosym -r /usr/bin/"${PN}" /usr/bin/podman_exporter + + insinto /etc/default + newins "contrib/systemd/system/prometheus-podman-exporter.sysconfig" "${PN}" + systemd_dounit "contrib/systemd/system/prometheus-podman-exporter.service" + systemd_douserunit "contrib/systemd/user/prometheus-podman-exporter.service" + dosym prometheus-podman-exporter.service $(systemd_get_systemunitdir)/podman_exporter.service + dosym prometheus-podman-exporter.service $(systemd_get_userunitdir)/podman_exporter.service + + newconfd "contrib/openrc/prometheus-podman-exporter.confd" "${PN}" + newinitd "contrib/openrc/prometheus-podman-exporter.initd" "${PN}" + dosym "${PN}" /etc/conf.d/podman_exporter + dosym "${PN}" /etc/init.d/podman_exporter + + einstalldocs +} diff --git a/app-metrics/prometheus-podman-exporter/prometheus-podman-exporter-1.20.0.ebuild b/app-metrics/prometheus-podman-exporter/prometheus-podman-exporter-1.20.0.ebuild new file mode 100644 index 000000000000..69d2017fde22 --- /dev/null +++ b/app-metrics/prometheus-podman-exporter/prometheus-podman-exporter-1.20.0.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module systemd + +DESCRIPTION="Exporter for podman giving containers, pods, images, volumes & networks metrics" +HOMEPAGE="https://github.com/containers/prometheus-podman-exporter" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/prometheus-podman-exporter.git" +else + SRC_URI="https://github.com/containers/prometheus-podman-exporter/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" +fi + +# Main package +LICENSE="Apache-2.0" +# Dependencies +LICENSE+=" BSD-2 BSD ISC MIT MPL-2.0" + +SLOT="0" +IUSE="btrfs systemd" + +# there are no test files so prevent tests +RESTRICT="test" + +DEPEND=" + app-crypt/gpgme:1= + btrfs? ( sys-fs/btrfs-progs ) +" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}/${PN}-1.10.1-gentoo-systemd.patch" +) + +src_compile() { + export BUILDTAGS="" + use !btrfs && BUILDTAGS+=",exclude_graphdriver_btrfs" + use systemd && BUILDTAGS+=",systemd" + default +} + +src_install() { + emake DESTDIR="${ED}/usr/bin" install + dosym -r /usr/bin/"${PN}" /usr/bin/podman_exporter + + insinto /etc/default + newins "contrib/systemd/system/prometheus-podman-exporter.sysconfig" "${PN}" + systemd_dounit "contrib/systemd/system/prometheus-podman-exporter.service" + systemd_douserunit "contrib/systemd/user/prometheus-podman-exporter.service" + dosym prometheus-podman-exporter.service $(systemd_get_systemunitdir)/podman_exporter.service + dosym prometheus-podman-exporter.service $(systemd_get_userunitdir)/podman_exporter.service + + newconfd "contrib/openrc/prometheus-podman-exporter.confd" "${PN}" + newinitd "contrib/openrc/prometheus-podman-exporter.initd" "${PN}" + dosym "${PN}" /etc/conf.d/podman_exporter + dosym "${PN}" /etc/init.d/podman_exporter + + einstalldocs +} diff --git a/app-metrics/prometheus-podman-exporter/prometheus-podman-exporter-9999.ebuild b/app-metrics/prometheus-podman-exporter/prometheus-podman-exporter-9999.ebuild new file mode 100644 index 000000000000..aebc06427023 --- /dev/null +++ b/app-metrics/prometheus-podman-exporter/prometheus-podman-exporter-9999.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module systemd + +DESCRIPTION="Exporter for podman giving containers, pods, images, volumes & networks metrics" +HOMEPAGE="https://github.com/containers/prometheus-podman-exporter" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/prometheus-podman-exporter.git" +else + SRC_URI="https://github.com/containers/prometheus-podman-exporter/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" +fi + +# Main package +LICENSE="Apache-2.0" +# Dependencies +LICENSE+=" BSD-2 BSD ISC MIT MPL-2.0" + +SLOT="0" +IUSE="btrfs systemd" + +# there are no test files so prevent tests +RESTRICT="test" + +DEPEND=" + app-crypt/gpgme + btrfs? ( sys-fs/btrfs-progs ) +" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}/${PN}-1.10.1-gentoo-systemd.patch" +) + +src_compile() { + export BUILDTAGS="" + use !btrfs && BUILDTAGS+=",exclude_graphdriver_btrfs" + use systemd && BUILDTAGS+=",systemd" + default +} + +src_install() { + emake DESTDIR="${ED}/usr/bin" install + dosym -r /usr/bin/"${PN}" /usr/bin/podman_exporter + + insinto /etc/default + newins "contrib/systemd/system/prometheus-podman-exporter.sysconfig" "${PN}" + systemd_dounit "contrib/systemd/system/prometheus-podman-exporter.service" + systemd_douserunit "contrib/systemd/user/prometheus-podman-exporter.service" + dosym prometheus-podman-exporter.service $(systemd_get_systemunitdir)/podman_exporter.service + dosym prometheus-podman-exporter.service $(systemd_get_userunitdir)/podman_exporter.service + + newconfd "contrib/openrc/prometheus-podman-exporter.confd" "${PN}" + newinitd "contrib/openrc/prometheus-podman-exporter.initd" "${PN}" + dosym "${PN}" /etc/conf.d/podman_exporter + dosym "${PN}" /etc/init.d/podman_exporter + + einstalldocs +} diff --git a/app-metrics/prometheus/Manifest b/app-metrics/prometheus/Manifest new file mode 100644 index 000000000000..2b9041b72d00 --- /dev/null +++ b/app-metrics/prometheus/Manifest @@ -0,0 +1,12 @@ +DIST prometheus-2.52.0-assets.tar.xz 40948988 BLAKE2B 6c5812c7b0470e796f9f052be4c4248ee4dcacbaeccd0aa5bb136a4775ce939870f9b366cd87ec325cd93364e69e04b1bbef461842d6fe850cd7e3d9d08fd652 SHA512 0f12548dd97a0aa19379a3090fcad7002cd2917cff59937630302edb6d9f6be49b91476111f9ef23bc3f4a009f2a9ff871e1fa78a765543fd7ac9eacd0233228 +DIST prometheus-2.52.0-deps.tar.xz 136485640 BLAKE2B aba4869ca0aa810c9651737f9089c0a5c64ec6f54f9bb1fec7e8e51fbc3042033e4935128af59cf5f9059e2815119e95b1bd8db4d1ce316f2a5af2d32913e2c4 SHA512 11c63ba8a96a8cad655d6f66accb4528d4562c21f9cec671d63120246d3a963690d0d27b0e41e3a24882e2c111b42e0f678d244ebb8a712a794f90eb9b415b5c +DIST prometheus-2.52.0.tar.gz 6192779 BLAKE2B 488483b32ee0927f2d0aa5d7bd1f82dee39c0e8273244a0260421f1523c2555541d35d02d869d2a35b434d41ff3210ce9da4a5430ae1f5a41a9d7e250d24246f SHA512 6ad5825ee6dfe6ba82ad8f091cb1fd8bfaf323558f0171c8e16fccb070fa99865cc9e9137a60405a5ec7c90706469cefefbe25c47e47bc37c30de671981955e3 +DIST prometheus-3.1.0-assets.tar.xz 78517784 BLAKE2B df17c7a545d1efe770d70d0d250d03bc8c1887df34fedde3a785de1c03004de209c0d30287bd7abd134550afac39152c57a3e37271ca3baa5487e40b3352f300 SHA512 96293cc3395e5a3a7a7b64ee3c8372255e1cfe9986145f09656a82dfea19019fff517ffd622de9edfa93fa62bb02dac09cd1e85bec105190eae359aa0e88a1f9 +DIST prometheus-3.1.0-deps.tar.xz 126208728 BLAKE2B 36007a7ea302badaee745a49fb706f870c62c6ed9dd1ad5616ebf70e5cde05b5f7d8143c3d1a1f6bfbaca7dae1b00fb0d83347814245fe2a6db10073a85b6175 SHA512 1740230d930bf038e5d7eb1655e506bda88f2161be9d831ab06902d7559c12973367d13b05aa9c0d3f44a8f9cd9a0ac1e14a2e162da775e6f1cee4b97e0e18cf +DIST prometheus-3.1.0.tar.gz 4973352 BLAKE2B ac8f68002f3924f79ee2a75aed8ea585fc09a9d0188e2b5e97152896717f04855124335ca6713e97c399109c6d087c1098dd2dc1485440dca775c5e34a5a52ef SHA512 9e61ba2aae62319f0da8b01a52d033f504adb5155955cc0d74bef251aa06b7a01f9df8e3347ceb1031826ec7518773423a342c6ee526b9d48577701594c973bc +DIST prometheus-3.2.1-assets.tar.xz 78754104 BLAKE2B 142dcf8bf5e2fd7d241f5ed0e7d9ed5beaea413b631a8c80b93766aa7554ef125c769d262b6af23efd128eb787d40c673e75dde917fe0ded9518581194c80901 SHA512 8f1b74397d111676a091dc58730e180a9d350726d2195daebd40dad8f90deb7e226919864e4bb7206a1b95cb082e227a19c3406ff53eee177874a0b53e5accc9 +DIST prometheus-3.2.1-deps.tar.xz 137051124 BLAKE2B a0b74c935bfcfc2dc369ed9e3474e4da25f69a1da6d602524b21958858550f892d1c7e1b4d414e9c075445055608910c21b3e72b82076313f733b39e03c42b2e SHA512 b187411b7e3586c638a9c7cdbf3289255e8fee987a95f17e2d606ebfbd31e4926472990ad7d92a0b416592a227a0e238be64b2ce8444312134ce050d619b4e52 +DIST prometheus-3.2.1.tar.gz 5001971 BLAKE2B f341e177c94ca949fa374603d57356ba191daa7ffd5f2edda532cdb4b977f25dbbb241e6a08dc04dbc6aac4c0cf4e5db951c0add5fd92451fecacb9eac2e422f SHA512 6e6a972c23efaba80699d2f82f4ca3fbe2bc81644d9a4540a3a82c556009a5388a2e81e7548792fa01f7cfea8727d3aa8c9e4bc0f0538f0016e0a88502399c51 +DIST prometheus-3.4.1-assets.tar.xz 71179932 BLAKE2B 2a93859c94aa59d2ef871811318df71ced59ada80a741cef2e594fd3bd53a91c1c5435139602bfd644346b4a71d4ea967a022329e022e82cd8b2b995af1b0155 SHA512 80833ed6c1dfb52c8497b2a820b570b90b066a712caeb3433659e9eb0d923e797d1ea9a623a1536d575f3596f198e0dcc91b3816e24a714cf42804e26ba95f0f +DIST prometheus-3.4.1-deps.tar.xz 162720712 BLAKE2B d3048b78ddc4f32485d2c76614063623e822d78dde5cb6df17138b7d34f9469beb0acb929b3f8d594c26e9f24c19548e3e2f228b8b5bfdfb9eec550607ad2c60 SHA512 6a750ae390890beb0557d3dc93d6514af1b67ebc1165bcfa1f3835e6adc60cc4ace9064248bfce3c8d349f817887bf89c7b19977020c82e070b2ccec31198370 +DIST prometheus-3.4.1.tar.gz 5078318 BLAKE2B b37da194843f135c3c90480a071a3261d41ab4fa6e761be6461e315c5117b256636b4ba8b71607c20adb68472d841b9cb7b4aa0c87fafebc364eeada66c756e2 SHA512 491e6d4b82dae66900ec74ffc2e12388ec5ae6b9348efe2d61a30892226ec4a20a8e5293a56f917ef6a63f1528f8e19a2a7609f7a648d6fa4710f8a24755a1f8 diff --git a/app-metrics/prometheus/files/prometheus-3.2.confd b/app-metrics/prometheus/files/prometheus-3.2.confd new file mode 100644 index 000000000000..b6857c42ab02 --- /dev/null +++ b/app-metrics/prometheus/files/prometheus-3.2.confd @@ -0,0 +1,22 @@ +# additional arguments for Prometheus +# +# command_args should not be set in this file. Instead, you should set +# prometheus_args. +# +# The default settings are listed below. +# If you are not changing these settings, you do +# not need to include them in prometheus_args. +# +# To migrate from using command_args to prometheus_args, drop any of the +# default settings below that you have set the same way then switch to +# prometheus_args. +# +# The new behavior is that prometheus_args will be appended to these +# defaults. +# +#The default settings are: +# +# --config.file=/etc/prometheus/prometheus.yml +# --storage.tsdb.path=/var/lib/prometheus/data +# +prometheus_args="" diff --git a/app-metrics/prometheus/files/prometheus-3.2.initd b/app-metrics/prometheus/files/prometheus-3.2.initd new file mode 100644 index 000000000000..21242af90625 --- /dev/null +++ b/app-metrics/prometheus/files/prometheus-3.2.initd @@ -0,0 +1,37 @@ +#!/sbin/openrc-run +# Copyright 2016-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +description="Prometheus monitoring system and time series database" +pidfile=/var/run/${RC_SVCNAME}.pid +user=${user:-${RC_SVCNAME}} +group=${group:-${RC_SVCNAME}} +command_user=${user}:${group} + +command="/usr/bin/prometheus" +command_args=" + --config.file=/etc/prometheus/prometheus.yml + --storage.tsdb.path=/var/lib/prometheus/data + ${prometheus_args}" +command_background="true" +error_log=/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log +output_log=/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log + +extra_started_commands="reload" + +depend() { + after net +} + +reload() { + ebegin "Reloading configuration for ${RC_SVCNAME}" + case "$supervisor" in + supervise-daemon) + supervise-daemon ${RC_SVCNAME} --signal HUP + ;; + *) + start-stop-daemon --signal HUP --pidfile "${pidfile}" + ;; + esac + eend $? "Failed to reload ${RC_SVCNAME}" +} diff --git a/app-metrics/prometheus/files/prometheus-3.2.service b/app-metrics/prometheus/files/prometheus-3.2.service new file mode 100644 index 000000000000..816a4bab3072 --- /dev/null +++ b/app-metrics/prometheus/files/prometheus-3.2.service @@ -0,0 +1,17 @@ +[Unit] +Description=Prometheus Server +Documentation=https://prometheus.io/docs/ +Wants=network-online.target +After=network-online.target + +[Service] +Type=simple +User=prometheus +Group=prometheus +Restart=always +ExecStart=/usr/bin/prometheus \ + --config.file=/etc/prometheus/prometheus.yml \ + --storage.tsdb.path=/var/lib/prometheus/data + +[Install] +WantedBy=multi-user.target diff --git a/app-metrics/prometheus/files/prometheus-3.confd b/app-metrics/prometheus/files/prometheus-3.confd new file mode 100644 index 000000000000..48aaab780b62 --- /dev/null +++ b/app-metrics/prometheus/files/prometheus-3.confd @@ -0,0 +1,25 @@ +# additional arguments for Prometheus +# +# command_args should not be set in this file. Instead, you should set +# prometheus_args. +# +# The default settings are listed below. +# If you are not changing these settings, you do +# not need to include them in prometheus_args. +# +# To migrate from using command_args to prometheus_args, drop any of the +# default settings below that you have set the same way then switch to +# prometheus_args. +# +# The new behavior is that prometheus_args will be appended to these +# defaults allowing anything you add to override them. +# +#The default settings are: +# +# --web.enable-lifecycle +# --config.file=/etc/prometheus/prometheus.yml +# --storage.tsdb.path=/var/lib/prometheus/data +# --web.listen-address=0.0.0.0:9090 +# --web.enable-admin-api +# +prometheus_args="" diff --git a/app-metrics/prometheus/files/prometheus-3.initd b/app-metrics/prometheus/files/prometheus-3.initd new file mode 100644 index 000000000000..4cf7e157c1e9 --- /dev/null +++ b/app-metrics/prometheus/files/prometheus-3.initd @@ -0,0 +1,40 @@ +#!/sbin/openrc-run +# Copyright 2016-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +description="Prometheus monitoring system and time series database" +pidfile=/var/run/${RC_SVCNAME}.pid +user=${user:-${RC_SVCNAME}} +group=${group:-${RC_SVCNAME}} +command_user=${user}:${group} + +command="/usr/bin/prometheus" +command_args=" + --web.enable-lifecycle + --config.file=/etc/prometheus/prometheus.yml + --storage.tsdb.path=/var/lib/prometheus/data + --web.listen-address=0.0.0.0:9090 + --web.enable-admin-api + ${prometheus_args}" +command_background="true" +error_log=/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log +output_log=/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log + +extra_started_commands="reload" + +depend() { + after net +} + +reload() { + ebegin "Reloading configuration for ${RC_SVCNAME}" + case "$supervisor" in + supervise-daemon) + supervise-daemon ${RC_SVCNAME} --signal HUP + ;; + *) + start-stop-daemon --signal HUP --pidfile "${pidfile}" + ;; + esac + eend $? "Failed to reload ${RC_SVCNAME}" +} diff --git a/app-metrics/prometheus/files/prometheus-3.service b/app-metrics/prometheus/files/prometheus-3.service new file mode 100644 index 000000000000..a3a7e5813662 --- /dev/null +++ b/app-metrics/prometheus/files/prometheus-3.service @@ -0,0 +1,20 @@ +[Unit] +Description=Prometheus +Wants=network-online.target +After=network-online.target + +[Service] +Type=simple +User=prometheus +Group=prometheus +ExecStart=/usr/bin/prometheus \ + --web.enable-lifecycle \ + --config.file=/etc/prometheus/prometheus.yml \ + --storage.tsdb.path="/var/lib/prometheus/data" \ + --web.listen-address=0.0.0.0:9090 \ + --web.enable-admin-api + +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/app-metrics/prometheus/files/prometheus.confd b/app-metrics/prometheus/files/prometheus.confd new file mode 100644 index 000000000000..19a286f5677a --- /dev/null +++ b/app-metrics/prometheus/files/prometheus.confd @@ -0,0 +1,26 @@ +# additional arguments for Prometheus +# +# command_args should not be set in this file. Instead, you should set +# prometheus_args. +# +# The default settings are listed below. +# If you are not changing these settings, you do +# not need to include them in prometheus_args. +# +# To migrate from using command_args to prometheus_args, drop any of the +# default settings below that you have set the same way then switch to +# prometheus_args. +# +# The new behavior is that prometheus_args will be appended to these +# defaults allowing anything you add to override them. +# +#The default settings are: +# +# --web.enable-lifecycle +# --config.file=/etc/prometheus/prometheus.yml +# --storage.tsdb.path=/var/lib/prometheus/data +# --web.console.templates=/etc/prometheus/consoles +# --web.console.libraries=/etc/prometheus/console_libraries +# --web.enable-admin-api +# +prometheus_args="" diff --git a/app-metrics/prometheus/files/prometheus.initd b/app-metrics/prometheus/files/prometheus.initd new file mode 100644 index 000000000000..00e3c25ebe84 --- /dev/null +++ b/app-metrics/prometheus/files/prometheus.initd @@ -0,0 +1,45 @@ +#!/sbin/openrc-run +# Copyright 2016-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +description="Prometheus monitoring system and time series database" +pidfile=/var/run/${RC_SVCNAME}.pid +user=${user:-${RC_SVCNAME}} +group=${group:-${RC_SVCNAME}} +command_user=${user}:${group} + +command="/usr/bin/prometheus" +if [ -z "${command_args}" ]; then +command_args=" + --web.enable-lifecycle + --config.file=/etc/prometheus/prometheus.yml + --storage.tsdb.path=/var/lib/prometheus/data + --web.console.templates=/etc/prometheus/consoles + --web.console.libraries=/etc/prometheus/console_libraries + --web.enable-admin-api + ${prometheus_args}" +else +command_args="${command_args:---config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheus/data}" +fi +command_background="true" +error_log=/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log +output_log=/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log + +extra_started_commands="reload" + +depend() { + after net +} + +reload() { + ebegin "Reloading configuration for ${RC_SVCNAME}" + case "$supervisor" in + supervise-daemon) + supervise-daemon ${RC_SVCNAME} --signal HUP + ;; + *) + start-stop-daemon --signal HUP --pidfile "${pidfile}" + ;; + esac + eend $? "Failed to reload ${RC_SVCNAME}" +} diff --git a/app-metrics/prometheus/files/prometheus.service b/app-metrics/prometheus/files/prometheus.service new file mode 100644 index 000000000000..ebd8a901d1fd --- /dev/null +++ b/app-metrics/prometheus/files/prometheus.service @@ -0,0 +1,22 @@ +[Unit] +Description=Prometheus +Wants=network-online.target +After=network-online.target + +[Service] +Type=simple +User=prometheus +Group=prometheus +ExecStart=/usr/bin/prometheus \ + --web.enable-lifecycle \ + --config.file=/etc/prometheus/prometheus.yml \ + --storage.tsdb.path="/var/lib/prometheus/data" \ + --web.console.templates=/etc/prometheus/consoles \ + --web.console.libraries=/etc/prometheus/console_libraries \ + --web.listen-address=0.0.0.0:9090 \ + --web.enable-admin-api + +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/app-metrics/prometheus/metadata.xml b/app-metrics/prometheus/metadata.xml new file mode 100644 index 000000000000..67095037dfce --- /dev/null +++ b/app-metrics/prometheus/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <upstream> + <remote-id type="cpe">cpe:/a:prometheus:prometheus</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/prometheus/prometheus-2.52.0.ebuild b/app-metrics/prometheus/prometheus-2.52.0.ebuild new file mode 100644 index 000000000000..ba8401e87264 --- /dev/null +++ b/app-metrics/prometheus/prometheus-2.52.0.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module systemd +GIT_COMMIT=879d80922a227c37df502e7315fad8ceb10a986d +MY_PV=v${PV/_rc/-rc.} + +# To create the assets tarball run the following: +# git checkout <tag> +# make assets-compress +# tar -acf <tarball> web/ui + +DESCRIPTION="Prometheus monitoring system and time series database" +HOMEPAGE="https://github.com/prometheus/prometheus" +SRC_URI="https://github.com/prometheus/prometheus/archive/${MY_PV}.tar.gz -> ${P}.tar.gz + https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz + https://dev.gentoo.org/~williamh/dist/${P}-assets.tar.xz" + +LICENSE="Apache-2.0 BSD BSD-2 ISC MIT MPL-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm ~arm64 ~riscv" + +COMMON_DEPEND="acct-group/prometheus + acct-user/prometheus" +DEPEND="!app-metrics/prometheus-bin + ${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND}" + +BDEPEND=">=dev-util/promu-0.3.0" + +RESTRICT=" test" + +src_prepare() { + default + sed -i \ + -e "s/{{.Branch}}/HEAD/" \ + -e "s/{{.Revision}}/${GIT_COMMIT}/" \ + -e "s/{{.Version}}/${PV}/" \ + .promu.yml || die + cp -a -u "${WORKDIR}"/web/ui web || die "cp failed" +} + +src_compile() { + emake PROMU="${EPREFIX}"/usr/bin/promu common-build plugins +} + +src_install() { + dobin prometheus promtool + dodoc -r {documentation,{README,CHANGELOG,CONTRIBUTING}.md} + insinto /usr/share/prometheus + doins -r console_libraries consoles + insinto /etc/prometheus + doins documentation/examples/prometheus.yml + dosym -r /usr/share/prometheus/console_libraries /etc/prometheus/console_libraries + dosym -r /usr/share/prometheus/consoles /etc/prometheus/consoles + + systemd_dounit "${FILESDIR}"/prometheus.service + newinitd "${FILESDIR}"/prometheus.initd prometheus + newconfd "${FILESDIR}"/prometheus.confd prometheus + keepdir /var/log/prometheus /var/lib/prometheus + fowners prometheus:prometheus /var/log/prometheus /var/lib/prometheus +} + +pkg_postinst() { + if has_version '<net-analyzer/prometheus-2.0.0_rc0'; then + ewarn "Old prometheus 1.x TSDB won't be converted to the new prometheus 2.0 format" + ewarn "Be aware that the old data currently cannot be accessed with prometheus 2.0" + ewarn "This release requires a clean storage directory and is not compatible with" + ewarn "files created by previous beta releases" + fi +} diff --git a/app-metrics/prometheus/prometheus-3.1.0.ebuild b/app-metrics/prometheus/prometheus-3.1.0.ebuild new file mode 100644 index 000000000000..d5df0158a22f --- /dev/null +++ b/app-metrics/prometheus/prometheus-3.1.0.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module systemd + +GIT_COMMIT=7086161a93b262aa0949dbf2aba15a5a7b13e0a3 +MY_PV=v${PV/_rc/-rc.} + +# To create the assets tarball run the following: +# git checkout <tag> +# make assets-compress +# tar -acf <tarball> web/ui + +DESCRIPTION="Prometheus monitoring system and time series database" +HOMEPAGE="https://prometheus.io" +SRC_URI="https://github.com/prometheus/prometheus/archive/${MY_PV}.tar.gz -> ${P}.tar.gz + https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz + https://dev.gentoo.org/~williamh/dist/${P}-assets.tar.xz" + +LICENSE="Apache-2.0 BSD BSD-2 ISC MIT MPL-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv" + +COMMON_DEPEND="acct-group/prometheus + acct-user/prometheus" +DEPEND="!app-metrics/prometheus-bin + ${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND}" + +BDEPEND=">=dev-util/promu-0.3.0" + +RESTRICT=" test" + +src_prepare() { + default + sed -i \ + -e "s/{{.Branch}}/HEAD/" \ + -e "s/{{.Revision}}/${GIT_COMMIT}/" \ + -e "s/{{.Version}}/${PV}/" \ + .promu.yml || die + cp -a -u "${WORKDIR}"/web/ui web || die "cp failed" +} + +src_compile() { + emake PROMU="${EPREFIX}"/usr/bin/promu common-build plugins +} + +src_install() { + dobin prometheus promtool + dodoc -r documentation/{images,*.md} *.md docs + insinto /etc/prometheus + doins -r documentation/examples/prometheus.yml + insinto /usr/share/prometheus + doins -r documentation/examples + + systemd_dounit "${FILESDIR}"/prometheus-3.service + newinitd "${FILESDIR}"/prometheus-3.initd prometheus + newconfd "${FILESDIR}"/prometheus-3.confd prometheus + keepdir /var/log/prometheus /var/lib/prometheus + fowners prometheus:prometheus /var/log/prometheus /var/lib/prometheus +} diff --git a/app-metrics/prometheus/prometheus-3.2.1.ebuild b/app-metrics/prometheus/prometheus-3.2.1.ebuild new file mode 100644 index 000000000000..5844b43288fd --- /dev/null +++ b/app-metrics/prometheus/prometheus-3.2.1.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module systemd eapi9-ver + +GIT_COMMIT=804c49d58f3f3784c77c9c8ec17c9062092cae27 +MY_PV=v${PV/_rc/-rc.} + +# To create the assets tarball run the following: +# git checkout <tag> +# make assets-compress +# tar -acf <tarball> web/ui + +DESCRIPTION="Prometheus monitoring system and time series database" +HOMEPAGE="https://prometheus.io" +SRC_URI="https://github.com/prometheus/prometheus/archive/${MY_PV}.tar.gz -> ${P}.tar.gz + https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz + https://dev.gentoo.org/~williamh/dist/${P}-assets.tar.xz" + +LICENSE="Apache-2.0 BSD BSD-2 ISC MIT MPL-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm ~arm64 ~riscv" + +COMMON_DEPEND="acct-group/prometheus + acct-user/prometheus" +DEPEND="!app-metrics/prometheus-bin + ${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND}" + +BDEPEND=">=dev-util/promu-0.17.0" + +RESTRICT=" test" + +src_prepare() { + default + sed -i \ + -e "s/{{.Branch}}/HEAD/" \ + -e "s/{{.Revision}}/${GIT_COMMIT}/" \ + -e "s/{{.Version}}/${PV}/" \ + .promu.yml || die + cp -a -u "${WORKDIR}"/web/ui web || die "cp failed" +} + +src_compile() { + emake PROMU="${EPREFIX}"/usr/bin/promu common-build plugins +} + +src_install() { + dobin prometheus promtool + dodoc -r documentation/{images,*.md} *.md docs + insinto /etc/prometheus + doins -r documentation/examples/prometheus.yml + insinto /usr/share/prometheus + doins -r documentation/examples + + systemd_newunit "${FILESDIR}"/prometheus-3.2.service prometheus.service + newinitd "${FILESDIR}"/prometheus-3.2.initd prometheus + newconfd "${FILESDIR}"/prometheus-3.2.confd prometheus + keepdir /var/log/prometheus /var/lib/prometheus + fowners prometheus:prometheus /var/log/prometheus /var/lib/prometheus +} + +pkg_postinst() { + # added 2025-03-28 to warn about a fix for version 3.1.0 + if ver_replacing -eq 3.1.0; then + ewarn "The systemd service has been renamed from prometheus-3 to prometheus." + fi + # added 2025-03-28 for version 3.2.1 + if ver_replacing -lt 3.2; then + ewarn "The --web.enable-lifecycle and --web.enable-admin-api options have been removed" + ewarn "from the default command line." + ewarn "If you need these options, please enable them in /etc/prometheus/prometheus.yml" + elog + elog "The --web.listen-address option was removed from the default command line" + elog "because we were using the default upstream setting." + fi +} diff --git a/app-metrics/prometheus/prometheus-3.4.1.ebuild b/app-metrics/prometheus/prometheus-3.4.1.ebuild new file mode 100644 index 000000000000..4e8d6f3abf6c --- /dev/null +++ b/app-metrics/prometheus/prometheus-3.4.1.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module systemd eapi9-ver + +GIT_COMMIT=aea6503d9bbaad6c5faff3ecf6f1025213356c92 +MY_PV=v${PV/_rc/-rc.} + +# To create the assets tarball run the following: +# git checkout <tag> +# make assets-compress +# tar -acf <tarball> web/ui + +DESCRIPTION="Prometheus monitoring system and time series database" +HOMEPAGE="https://prometheus.io" +SRC_URI="https://github.com/prometheus/prometheus/archive/${MY_PV}.tar.gz -> ${P}.tar.gz + https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz + https://dev.gentoo.org/~williamh/dist/${P}-assets.tar.xz" + +LICENSE="Apache-2.0 BSD BSD-2 ISC MIT MPL-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm ~arm64 ~riscv" + +COMMON_DEPEND="acct-group/prometheus + acct-user/prometheus" +DEPEND="!app-metrics/prometheus-bin + ${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND}" + +BDEPEND=">=dev-util/promu-0.17.0" + +RESTRICT=" test" + +src_prepare() { + default + sed -i \ + -e "s/{{.Branch}}/HEAD/" \ + -e "s/{{.Revision}}/${GIT_COMMIT}/" \ + -e "s/{{.Version}}/${PV}/" \ + .promu.yml || die + cp -a -u "${WORKDIR}"/web/ui web || die "cp failed" +} + +src_compile() { + emake PROMU="${EPREFIX}"/usr/bin/promu common-build plugins +} + +src_install() { + dobin prometheus promtool + dodoc -r documentation/{images,*.md} *.md docs + insinto /etc/prometheus + doins -r documentation/examples/prometheus.yml + insinto /usr/share/prometheus + doins -r documentation/examples + + systemd_newunit "${FILESDIR}"/prometheus-3.2.service prometheus.service + newinitd "${FILESDIR}"/prometheus-3.2.initd prometheus + newconfd "${FILESDIR}"/prometheus-3.2.confd prometheus + keepdir /var/log/prometheus /var/lib/prometheus + fowners prometheus:prometheus /var/log/prometheus /var/lib/prometheus +} + +pkg_postinst() { + # added 2025-03-28 to warn about a fix for version 3.1.0 + if ver_replacing -eq 3.1.0; then + ewarn "The systemd service has been renamed from prometheus-3 to prometheus." + fi + # added 2025-03-28 for version 3.2.1 + if ver_replacing -lt 3.2; then + ewarn "The --web.enable-lifecycle and --web.enable-admin-api options have been removed" + ewarn "from the default command line." + ewarn "If you need these options, please enable them in /etc/prometheus/prometheus.yml" + elog + elog "The --web.listen-address option was removed from the default command line" + elog "because we were using the default upstream setting." + fi +} diff --git a/app-metrics/pushgateway/Manifest b/app-metrics/pushgateway/Manifest new file mode 100644 index 000000000000..05b1903291a0 --- /dev/null +++ b/app-metrics/pushgateway/Manifest @@ -0,0 +1,4 @@ +DIST pushgateway-1.11.1-vendor.tar.xz 1400592 BLAKE2B 2c2b8cdc3007b66f1ffe105dc3d12a16b0e642c6f8cb0576da7fa2d14064c7c72b4fc9d436c826b6eb65eae35849414b9fa8079309cf3e4d742e31685362fa1f SHA512 de8468aa6ef4af3e37298c46b8da40c894a78b9a6d2aea984a323457830685b0fea49cf00faa1e14aea3f50691979e844a916a2091ea85a9a5c0c5d1d4e0059f +DIST pushgateway-1.11.1.tar.gz 4256655 BLAKE2B 1e92432bb09159e981c754d80294ed349a32f17ddd87b714d6d76e70aa3b126da3df696996cc58811e582ea62e4a0a30958c0a60f4ea63856b7ebe9bbae9ac23 SHA512 e26311bddf6b9d8419aa1ec2ee5204c4ee8c6b0ae95a1be6f3bd3bc5a8eb7302c59b21b12ea0f3824fef4513dc871e56b1573529275cb4eae531e6dad29946a7 +DIST pushgateway-1.11.2-vendor.tar.xz 1413788 BLAKE2B 3183476bab1d2351f546b0b3416db98b5fa794bd8623f380bfe76d188fffc90bac8b7e6ef459acb718d4bedebfd1d69ec7138b665397b1db3857e751e99c0e89 SHA512 b045ec5cb80713656347ee1e01b0bb88e145f9b8adca7e6001b752119e12d87755d56c32a123c73f811953d7612d8bb3ce32647ebfa042d27e4e10c838cc96b3 +DIST pushgateway-1.11.2.tar.gz 4258561 BLAKE2B c5db1cc4fc81488f99edce9b14ce4c9e59f0c20d1caf318861855b90f19b0c036076b75cdafe086532ebd1a6350230132fb832a6eed815f10766d4d119a3b566 SHA512 6f40d6c5cd92cd61c33329405660fb38060dbdfe75b130ab03b50b5c2ae4a1874dc7bc15872925865b4dd9e989fc11ad5d6e9e292283ef0886794ae74cd9d6a1 diff --git a/app-metrics/pushgateway/files/pushgateway-1.confd b/app-metrics/pushgateway/files/pushgateway-1.confd new file mode 100644 index 000000000000..73149075bb4e --- /dev/null +++ b/app-metrics/pushgateway/files/pushgateway-1.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/app-metrics/pushgateway/files/pushgateway-1.service b/app-metrics/pushgateway/files/pushgateway-1.service new file mode 100644 index 000000000000..03ae0a442772 --- /dev/null +++ b/app-metrics/pushgateway/files/pushgateway-1.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=pushgateway +Restart=on-failure +Environment=PUSHGATEWAY_ARGS="--web.listen-address localhost:9091 --persistence.file=/var/lib/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/app-metrics/pushgateway/files/pushgateway-2.initd b/app-metrics/pushgateway/files/pushgateway-2.initd new file mode 100644 index 000000000000..4fd1b6bce75b --- /dev/null +++ b/app-metrics/pushgateway/files/pushgateway-2.initd @@ -0,0 +1,18 @@ +#!/sbin/openrc-run +# Copyright 2018-2025 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}} +output_log=/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log +error_log=/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log + +command="/usr/bin/pushgateway" +command_args="${command_args:---web.listen-address localhost:9091 --persistence.file=/var/lib/${RC_SVCNAME}/persistence.gob}" +command_background="true" + +depend() { + need net +} diff --git a/app-metrics/pushgateway/files/pushgateway.logrotated b/app-metrics/pushgateway/files/pushgateway.logrotated new file mode 100644 index 000000000000..c94b73952bc7 --- /dev/null +++ b/app-metrics/pushgateway/files/pushgateway.logrotated @@ -0,0 +1,7 @@ +/var/log/pushgateway/pushgateway.log { + missingok + size 5M + rotate 3 + compress + copytruncate +} diff --git a/app-metrics/pushgateway/metadata.xml b/app-metrics/pushgateway/metadata.xml new file mode 100644 index 000000000000..591131b1265f --- /dev/null +++ b/app-metrics/pushgateway/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>zmedico@gentoo.org</email> + <name>Zac Medico</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/pushgateway/pushgateway-1.11.1.ebuild b/app-metrics/pushgateway/pushgateway-1.11.1.ebuild new file mode 100644 index 000000000000..1a0bf9822a92 --- /dev/null +++ b/app-metrics/pushgateway/pushgateway-1.11.1.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module systemd + +GIT_COMMIT="aff0d83" +DESCRIPTION="Prometheus push acceptor for ephemeral and batch jobs" +HOMEPAGE="https://github.com/prometheus/pushgateway" +SRC_URI=" + https://github.com/prometheus/pushgateway/archive/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/gentoo-golang-dist/${PN}/releases/download/v${PV}/${P}-vendor.tar.xz +" + +LICENSE="Apache-2.0 BSD BSD-2 MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv" +RESTRICT="test" + +RDEPEND=" + acct-group/pushgateway + acct-user/pushgateway +" +DEPEND="${RDEPEND}" +BDEPEND=">=dev-lang/go-1.24" + +src_compile() { + local go_ldflags=( + -X github.com/prometheus/common/version.Version=${PV} + -X github.com/prometheus/common/version.Revision=${GIT_COMMIT} + -X github.com/prometheus/common/version.Branch=master + -X github.com/prometheus/common/version.BuildUser=gentoo + -X github.com/prometheus/common/version.BuildDate="$(date +%F-%T)" + ) + ego build -mod=vendor -ldflags "${go_ldflags[*]}" -o bin/${PN} . +} + +src_install() { + dobin bin/${PN} + dodoc {README,CHANGELOG,CONTRIBUTING}.md + + keepdir /var/log/${PN} + fowners ${PN}:${PN} /var/log/${PN} + + newinitd "${FILESDIR}"/${PN}-2.initd ${PN} + newconfd "${FILESDIR}"/${PN}-1.confd ${PN} + systemd_newunit "${FILESDIR}/${PN}-1.service" "${PN}.service" + + insinto /etc/logrotate.d + newins "${FILESDIR}/${PN}.logrotated" "${PN}" +} diff --git a/app-metrics/pushgateway/pushgateway-1.11.2.ebuild b/app-metrics/pushgateway/pushgateway-1.11.2.ebuild new file mode 100644 index 000000000000..7277d933d3da --- /dev/null +++ b/app-metrics/pushgateway/pushgateway-1.11.2.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module systemd + +GIT_COMMIT="aff0d83" +DESCRIPTION="Prometheus push acceptor for ephemeral and batch jobs" +HOMEPAGE="https://github.com/prometheus/pushgateway" +SRC_URI=" + https://github.com/prometheus/pushgateway/archive/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/gentoo-golang-dist/${PN}/releases/download/v${PV}/${P}-vendor.tar.xz +" + +LICENSE="Apache-2.0" +# Dependent licenses +LICENSE+=" Apache-2.0 BSD MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv" +RESTRICT="test" + +RDEPEND=" + acct-group/pushgateway + acct-user/pushgateway +" +DEPEND="${RDEPEND}" +BDEPEND=">=dev-lang/go-1.24" + +src_compile() { + local go_ldflags=( + -X github.com/prometheus/common/version.Version=${PV} + -X github.com/prometheus/common/version.Revision=${GIT_COMMIT} + -X github.com/prometheus/common/version.Branch=master + -X github.com/prometheus/common/version.BuildUser=gentoo + -X github.com/prometheus/common/version.BuildDate="$(date +%F-%T)" + ) + ego build -ldflags "${go_ldflags[*]}" -o bin/${PN} . +} + +src_install() { + dobin bin/${PN} + dodoc {README,CHANGELOG,CONTRIBUTING}.md + + keepdir /var/log/${PN} + fowners ${PN}:${PN} /var/log/${PN} + + newinitd "${FILESDIR}"/${PN}-2.initd ${PN} + newconfd "${FILESDIR}"/${PN}-1.confd ${PN} + systemd_newunit "${FILESDIR}/${PN}-1.service" "${PN}.service" + + insinto /etc/logrotate.d + newins "${FILESDIR}/${PN}.logrotated" "${PN}" +} diff --git a/app-metrics/rabbitmq_exporter/Manifest b/app-metrics/rabbitmq_exporter/Manifest new file mode 100644 index 000000000000..75ebbf36e29f --- /dev/null +++ b/app-metrics/rabbitmq_exporter/Manifest @@ -0,0 +1,2 @@ +DIST rabbitmq_exporter-1.0.0-deps.tar.xz 9804184 BLAKE2B 3b3ff8a2911104f708f4c3b7272648bf4a36ee06251216bf91e5bb5591c8aba6a5d0f392494e597d83ef0850f821a25388b2546cbb65039cf8a2451076344e7f SHA512 1ae21e35f9762a2c45c69c382a01367f425b5e5faa0a421d2f5c1ad98356915447ea0f76b15cb65a4816506e7753d8c60836479b5760d21db643d309b9567d9d +DIST rabbitmq_exporter-1.0.0.tar.gz 59708 BLAKE2B 1caff29efe8b5d41089587c0a35c4ec581eada54f8a54fdc308e3d3200dcff8c5cff9ebe0f6b10d026af28484c931ac9c9c01285d0b37714002b4fb5f13c47ee SHA512 29592c9ca1d8b67efbdfb44c5c1f881977a74e4e9aabb44903d5afd5c10696202198ac02b84beb90853f8927cd05abcf8f4ff43a467a8f22b1c8af00df0a52b2 diff --git a/app-metrics/rabbitmq_exporter/files/rabbitmq_exporter.confd b/app-metrics/rabbitmq_exporter/files/rabbitmq_exporter.confd new file mode 100644 index 000000000000..fb132bc9f51a --- /dev/null +++ b/app-metrics/rabbitmq_exporter/files/rabbitmq_exporter.confd @@ -0,0 +1,6 @@ +# The following are the upstream recommended and default settings. +# For the full list of settings and their default values, see +# /usr/share/doc/rabbitmq_exporter-*/README.md. + +# PUBLISH_PORT=9419 +# RABBIT_CAPABILITIES=bert,no_sort diff --git a/app-metrics/rabbitmq_exporter/files/rabbitmq_exporter.initd b/app-metrics/rabbitmq_exporter/files/rabbitmq_exporter.initd new file mode 100644 index 000000000000..d45de4ecbeca --- /dev/null +++ b/app-metrics/rabbitmq_exporter/files/rabbitmq_exporter.initd @@ -0,0 +1,79 @@ +#!/sbin/openrc-run + +description="rabbitmq exporter for Prometheus" +command=/usr/bin/rabbitmq_exporter +command_background=yes +command_user=${RC_SVCNAME}:${RC_SVCNAME} +pidfile=/var/run/${RC_SVCNAME}.pid +error_log="/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log" +output_log="/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log" + +depend() { + after net +} + +start_pre() { + local env_args + if [ -n "${RABBIT_URL}" ]; then + env_args="${env_args} -e RABBIT_URL=${RABBIT_URL}" + fi + if [ -n "${RABBIT_USER}" ]; then + env_args="${env_args} -e RABBIT_USER=${RABBIT_USER}" + fi + if [ -n "${RABBIT_PASSWORD}" ]; then + env_args="${env_args} -e RABBIT_PASSWORD=${RABBIT_PASSWORD}" + fi + if [ -n "${RABBIT_USER_FILE}" ]; then + env_args="${env_args} -e RABBIT_USER_FILE=${RABBIT_USER_FILE}" + fi + if [ -n "${RABBIT_PASSWORD_FILE}" ]; then + env_args="${env_args} -e RABBIT_PASSWORD_FILE=${RABBIT_PASSWORD_FILE}" + fi + if [ -n "${PUBLISH_PORT}" ]; then + env_args="${env_args} -e PUBLISH_PORT=${PUBLISH_PORT}" + else + env_args="${env_args} -e PUBLISH_PORT=9419" + fi + if [ -n "${PUBLISH_ADDR}" ]; then + env_args="${env_args} -e PUBLISH_ADDR=${PUBLISH_ADDR}" + fi + if [ -n "${OUTPUT_FORMAT}" ]; then + env_args="${env_args} -e OUTPUT_FORMAT=${OUTPUT_FORMAT}" + fi + if [ -n "${LOG_LEVEL}" ]; then + env_args="${env_args} -e LOG_LEVEL=${LOG_LEVEL}" + fi + if [ -n "${CAFILE}" ]; then + env_args="${env_args} -e CAFILE=${CAFILE}" + fi + if [ -n "${SKIPVERIFY}" ]; then + env_args="${env_args} -e SKIPVERIFY=${SKIPVERIFY}" + fi + if [ -n "${SKIP_VHOST}" ]; then + env_args="${env_args} -e SKIP_VHOST=${SKIP_VHOST}" + fi + if [ -n "${INCLUDE_VHOST}" ]; then + env_args="${env_args} -e INCLUDE_VHOST=${INCLUDE_VHOST}" + fi + if [ -n "${INCLUDE_QUEUES}" ]; then + env_args="${env_args} -e INCLUDE_QUEUES=${INCLUDE_QUEUES}" + fi + if [ -n "${SKIP_QUEUES}" ]; then + env_args="${env_args} -e SKIP_QUEUES=${SKIP_QUEUES}" + fi + if [ -n "${RABBIT_CAPABILITIES}" ]; then + env_args="${env_args} -e RABBIT_CAPABILITIES=${RABBIT_CAPABILITIES}" + fi + if [ -n "${RABBIT_EXPORTERS}" ]; then + env_args="${env_args} -e RABBIT_EXPORTERS=${RABBIT_EXPORTERS}" + fi + if [ -n "${RABBIT_TIMEOUT}" ]; then + env_args="${env_args} -e RABBIT_TIMEOUT=${RABBIT_TIMEOUT}" + fi + if [ -n "${MAX_QUEUES}" ]; then + env_args="${env_args} -e MAX_QUEUES=${MAX_QUEUES}" + fi + start_stop_daemon_args="${start_stop_daemon_args} ${env_args}" + supervise_daemon_args="${supervise_daemon_args} ${env_args}" + return 0 +} diff --git a/app-metrics/rabbitmq_exporter/metadata.xml b/app-metrics/rabbitmq_exporter/metadata.xml new file mode 100644 index 000000000000..17492b5107c4 --- /dev/null +++ b/app-metrics/rabbitmq_exporter/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/rabbitmq_exporter/rabbitmq_exporter-1.0.0.ebuild b/app-metrics/rabbitmq_exporter/rabbitmq_exporter-1.0.0.ebuild new file mode 100644 index 000000000000..8f47d4555b87 --- /dev/null +++ b/app-metrics/rabbitmq_exporter/rabbitmq_exporter-1.0.0.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module + +DESCRIPTION="Rabbitmq exporter for Prometheus" +HOMEPAGE="https://github.com/kbudde/rabbitmq_exporter" +SRC_URI="https://github.com/kbudde/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="MIT Apache-2.0 BSD" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND="acct-group/rabbitmq_exporter + acct-user/rabbitmq_exporter" + RDEPEND="${DEPEND}" + +RESTRICT+=" test " + +src_compile() { + ego build . +} + +src_install() { + dobin ${PN} + dodoc *.md + insinto /usr/share/${PN} + doins *.json + newconfd "${FILESDIR}"/${PN}.confd ${PN} + newinitd "${FILESDIR}"/${PN}.initd ${PN} + keepdir /var/log/${PN} + fowners ${PN}:${PN} /var/log/${PN} +} diff --git a/app-metrics/redis_exporter/Manifest b/app-metrics/redis_exporter/Manifest new file mode 100644 index 000000000000..4ed82bee53a4 --- /dev/null +++ b/app-metrics/redis_exporter/Manifest @@ -0,0 +1,6 @@ +DIST redis_exporter-1.61.0-deps.tar.xz 815816 BLAKE2B b57f1d3094e3e03f990a5b26b75d95621d55cdd519882689c640e90b76750b4f7de7d48ebc7dd8456af33e14be14a07644211921667d2ba6b16a5f2567fc8430 SHA512 176442e32ec79f8621f57712a2658398f9481f0ddb1c104881305f6cfa36b74833b53078355d7fdd5e4a3d13f546fdfb844d5faf7dc5e38763f7f17228de4d68 +DIST redis_exporter-1.61.0.tar.gz 82438 BLAKE2B fe62e6c56206718eaf908de913dcb80dd9e27825dfc74b2f9bef3d4c914b75cfe0223924b852e8b99421ccbd0a3618bc9f9a0aea8c9a7733bcb95221731f7f97 SHA512 2528be4680b5cb2b1a1077a3a28ddac8f5a8a4a2b936504553cb218e8c53f8a9d9e52a9266c247f85bda03ae76eec90dbc9ab9bcc8df828d5850538e818d8188 +DIST redis_exporter-1.67.0-deps.tar.xz 955620 BLAKE2B d319e605a8685ec2a8dc441d42346009c019eabb385c758d8a7f09bff37ebe6c158f9a04353fdac51821b54dcdbee873bc747ae008d3dc2148e153eaeaa154d8 SHA512 e1dae9c1e941aaff88769008d70811c22d4ec2946076d43b74269a5fb6b1b12aa8bc0c73e114cf9ec9ecafe6b9af6ef8b0236fe6b3788bdfe7f94241785c6bfd +DIST redis_exporter-1.67.0.tar.gz 87552 BLAKE2B d97f181f95b8ac44292892c6df031762fcea79eb8a06a224346152631ce18a5229d9ef14b53893709b83933053a8e47bedff52040a07849704b29961b1f69b54 SHA512 5acb905cf8b41c95013d917754837066e4c68535414c1459b985cea901c4cb1ab347be5715fec9d1306810915c4bcac2e4aea4a9fbf64403921b5ef30c6ab1a2 +DIST redis_exporter-1.83.0-vendor.tar.xz 1024056 BLAKE2B 616708c771579397fd397319729a2df8d73cf1ea03ba0ff76f84fb58c1ab29040474529ace83829df99d240c5bc99d47ee38f80fc934db0ef2fd1eaa0772ca4f SHA512 b29a7db08a822b280d98028e374723c4255e19f9611fa11058691e1c08b872b95741b94b8f415264baabc73f8bf965d4ce2b7aa1724fcbc8dde9bf773c24ab3c +DIST redis_exporter-1.83.0.tar.gz 120997 BLAKE2B 9301d489f3d55e273954986448a74fefcd9949e08aac64a73aa8998880e4bf53e6a1596292ad50dbc9e36bef6116f7032806cc4f877cb822ee7a1bd458e91adb SHA512 5130aa772f43d48a1da6ce0be051625317fce129ae8bd092c2e3176846d95a51c689a4218b58b9d7279437591d5f994ca62cc364e904d52cff765380be632b07 diff --git a/app-metrics/redis_exporter/files/redis_exporter.confd b/app-metrics/redis_exporter/files/redis_exporter.confd new file mode 100644 index 000000000000..8573aef35405 --- /dev/null +++ b/app-metrics/redis_exporter/files/redis_exporter.confd @@ -0,0 +1,30 @@ +# -check-keys string +# Comma separated list of keys to export value and length/size +# -debug +# Output verbose debug information +# -log-format string +# Log format, valid options are txt and json (default "txt") +# -namespace string +# Namespace for metrics (default "redis") +# -redis-only-metrics +# Whether to export go runtime metrics also +# -redis.addr string +# Address of one or more redis nodes, separated by separator +# -redis.alias string +# Redis instance alias for one or more redis nodes, separated by separator +# -redis.file string +# Path to file containing one or more redis nodes, separated by newline. NOTE: mutually exclusive with redis.addr +# -redis.password string +# Password for one or more redis nodes, separated by separator +# -separator string +# separator used to split redis.addr, redis.password and redis.alias into several elements. (default ",") +# -use-cf-bindings +# Use Cloud Foundry service bindings +# -version +# Show version information and exit +# -web.listen-address string +# Address to listen on for web interface and telemetry. (default ":9121") +# -web.telemetry-path string +# Path under which to expose metrics. (default "/metrics") + +#command_args="--web.listen-address=:9121 --redis.addr=localhost:6379" diff --git a/app-metrics/redis_exporter/files/redis_exporter.initd b/app-metrics/redis_exporter/files/redis_exporter.initd new file mode 100644 index 000000000000..6e1ffc23f87e --- /dev/null +++ b/app-metrics/redis_exporter/files/redis_exporter.initd @@ -0,0 +1,18 @@ +#!/sbin/openrc-run +# Copyright 2016-2026 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Prometheus Exporter for Redis Metrics" +pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"} +user=${user:-${RC_SVCNAME}} +group=${group:-${RC_SVCNAME}} +output_log=/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log +error_log=/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log + +command="/usr/bin/redis_exporter" +command_args="${command_args:---web.listen-address=:9121 --redis.addr=localhost:6379}" +command_background="true" + +depend() { + after net +} diff --git a/app-metrics/redis_exporter/files/redis_exporter.logrotated b/app-metrics/redis_exporter/files/redis_exporter.logrotated new file mode 100644 index 000000000000..e83de5eb6436 --- /dev/null +++ b/app-metrics/redis_exporter/files/redis_exporter.logrotated @@ -0,0 +1,7 @@ +/var/log/redis_exporter/redis_exporter.log { + missingok + size 5M + rotate 3 + compress + copytruncate +} diff --git a/app-metrics/redis_exporter/files/redis_exporter.service b/app-metrics/redis_exporter/files/redis_exporter.service new file mode 100644 index 000000000000..4dbb09d7b641 --- /dev/null +++ b/app-metrics/redis_exporter/files/redis_exporter.service @@ -0,0 +1,16 @@ +[Unit] +Description=Prometheus Exporter for Redis Metrics +Documentation=https://github.com/oliver006/redis_exporter/ +After=network-online.target + +[Service] +User=redis_exporter +Restart=on-failure +Environment=REDIS_EXPORTER_ARGS="--web.listen-address=:9121 --redis.addr=localhost:6379" +ExecStart=/usr/bin/redis_exporter $REDIS_EXPORTER_ARGS +ExecReload=/bin/kill -HUP $MAINPID +TimeoutStopSec=20s +SendSIGKILL=no + +[Install] +WantedBy=multi-user.target diff --git a/app-metrics/redis_exporter/metadata.xml b/app-metrics/redis_exporter/metadata.xml new file mode 100644 index 000000000000..591131b1265f --- /dev/null +++ b/app-metrics/redis_exporter/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>zmedico@gentoo.org</email> + <name>Zac Medico</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/redis_exporter/redis_exporter-1.61.0.ebuild b/app-metrics/redis_exporter/redis_exporter-1.61.0.ebuild new file mode 100644 index 000000000000..f7d466947383 --- /dev/null +++ b/app-metrics/redis_exporter/redis_exporter-1.61.0.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module systemd +EGIT_COMMIT=e9871c1465679cd3543953f57bd4d015bc73c990 + +DESCRIPTION="Prometheus Exporter for Redis Metrics. Supports Redis 2.x, 3.x and 4.x" +HOMEPAGE="https://github.com/oliver006/redis_exporter" +SRC_URI="https://github.com/oliver006/redis_exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~zmedico/dist/${P}-deps.tar.xz" + +LICENSE="MIT Apache-2.0 BSD" +SLOT="0" +KEYWORDS="~amd64" +RDEPEND=" + acct-user/redis_exporter + acct-group/redis_exporter" +DEPEND="${RDEPEND}" +RESTRICT="test" + +src_prepare() { + default + sed -e "s|\(^[[:space:]]*VERSION[[:space:]]*=[[:space:]]*\).*|\1\"${PV}\"|" \ + -e "s|\(^[[:space:]]*BUILD_DATE[[:space:]]*=[[:space:]]*\).*|\1\"$(LC_ALL=C date -u)\"|" \ + -e "s|\(^[[:space:]]*COMMIT_SHA1[[:space:]]*=[[:space:]]*\).*|\1\"${EGIT_COMMIT}\"|" \ + -i main.go || die +} + +src_compile() { + export GOBIN="${S}/bin" + go install \ + -ldflags="-X main.BuildVersion=${PV} -X main.BuildCommitSha=${EGIT_COMMIT} -X main.BuildDate=$(date +%F-%T)" \ + ./... || die +} + +src_test() { + go test -work ./... || die +} + +src_install() { + dobin "${GOBIN}/redis_exporter" + dodoc README.md + local dir + for dir in /var/{lib,log}/${PN}; do + keepdir "${dir}" + fowners ${PN}:${PN} "${dir}" + done + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}/${PN}.logrotated" "${PN}" + systemd_dounit "${FILESDIR}/${PN}.service" +} diff --git a/app-metrics/redis_exporter/redis_exporter-1.67.0.ebuild b/app-metrics/redis_exporter/redis_exporter-1.67.0.ebuild new file mode 100644 index 000000000000..9c0c9e913b87 --- /dev/null +++ b/app-metrics/redis_exporter/redis_exporter-1.67.0.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module systemd +EGIT_COMMIT=e2bb7fd6af3b950efa3267e4b932531098dc06b0 + +DESCRIPTION="Prometheus Exporter for Redis Metrics. Supports Redis 2.x, 3.x and 4.x" +HOMEPAGE="https://github.com/oliver006/redis_exporter" +SRC_URI="https://github.com/oliver006/redis_exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~zmedico/dist/${P}-deps.tar.xz" + +LICENSE="MIT Apache-2.0 BSD" +SLOT="0" +KEYWORDS="~amd64" +RDEPEND=" + acct-user/redis_exporter + acct-group/redis_exporter" +DEPEND="${RDEPEND}" +RESTRICT="test" + +src_unpack() { + default +} + +src_prepare() { + ln -sv ../vendor ./ || die + default + sed -e "s|\(^[[:space:]]*VERSION[[:space:]]*=[[:space:]]*\).*|\1\"${PV}\"|" \ + -e "s|\(^[[:space:]]*BUILD_DATE[[:space:]]*=[[:space:]]*\).*|\1\"$(LC_ALL=C date -u)\"|" \ + -e "s|\(^[[:space:]]*COMMIT_SHA1[[:space:]]*=[[:space:]]*\).*|\1\"${EGIT_COMMIT}\"|" \ + -i main.go || die +} + +src_compile() { + export GOBIN="${S}/bin" + go install \ + -ldflags="-X main.BuildVersion=${PV} -X main.BuildCommitSha=${EGIT_COMMIT} -X main.BuildDate=$(date +%F-%T)" \ + ./... || die +} + +src_test() { + go test -work ./... || die +} + +src_install() { + dobin "${GOBIN}/redis_exporter" + dodoc README.md + local dir + for dir in /var/{lib,log}/${PN}; do + keepdir "${dir}" + fowners ${PN}:${PN} "${dir}" + done + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}/${PN}.logrotated" "${PN}" + systemd_dounit "${FILESDIR}/${PN}.service" +} diff --git a/app-metrics/redis_exporter/redis_exporter-1.83.0.ebuild b/app-metrics/redis_exporter/redis_exporter-1.83.0.ebuild new file mode 100644 index 000000000000..d40a535bd409 --- /dev/null +++ b/app-metrics/redis_exporter/redis_exporter-1.83.0.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module systemd + +EGIT_COMMIT=1c261b87e1431be106c241181038274b406c9592 + +DESCRIPTION="Prometheus Exporter for Redis Metrics. Supports Redis 2.x, 3.x and 4.x" +HOMEPAGE="https://github.com/oliver006/redis_exporter" +SRC_URI="https://github.com/oliver006/redis_exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://github.com/gentoo-golang-dist/${PN}/releases/download/v${PV}/${P}-vendor.tar.xz" + +LICENSE="MIT Apache-2.0 BSD" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test" +RESTRICT="!test? ( test )" + +DEPEND=" + acct-user/redis_exporter + acct-group/redis_exporter" +RDEPEND="${DEPEND}" +BDEPEND=" + >=dev-lang/go-1.25.0 + test? ( dev-db/redis ) +" + +src_compile() { + local egoldflags=( + -X main.BuildVersion=${PV} + -X main.BuildCommitSha=${EGIT_COMMIT} + -X main.BuildDate=$(date +%F-%T) + ) + ego build -o bin/ -ldflags="${egoldflags[*]}" ./... +} + +src_test() { + local redis_pid="${T}"/redis.pid + local redis_port=6379 + + if has_version ">=dev-db/redis-7"; then + local extra_conf=" + enable-debug-command yes + enable-module-command yes + " + fi + + # Spawn Redis itself for testing purposes + einfo "Spawning Redis" + einfo "NOTE: Port ${redis_port} must be free" + "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server" + daemonize yes + pidfile ${redis_pid} + port ${redis_port} + bind 127.0.0.1 ::1 + ${extra_conf} + EOF + + contrib/tls/gen-test-certs.sh || die "Unable to generate TLS certs" + + local -x TEST_REDIS_URI="redis://localhost:${redis_port}" + ego test -work ./... + + # Clean up afterwards + kill "$(<"${redis_pid}")" || die +} + +src_install() { + dobin bin/redis_exporter + dodoc README.md + + local dir + for dir in /var/{lib,log}/${PN}; do + keepdir "${dir}" + fowners ${PN}:${PN} "${dir}" + done + + systemd_dounit "${FILESDIR}/${PN}.service" + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + + insinto /etc/logrotate.d + newins "${FILESDIR}/${PN}.logrotated" "${PN}" +} diff --git a/app-metrics/smartctl_exporter/Manifest b/app-metrics/smartctl_exporter/Manifest new file mode 100644 index 000000000000..92c3f95cfa2d --- /dev/null +++ b/app-metrics/smartctl_exporter/Manifest @@ -0,0 +1,3 @@ +DIST smartctl_exporter-0.12.0-d33b5a391f4a18b3d9c0a194e57cdd3491130099.patch 4997 BLAKE2B cf03225eeaea9553e6e0686450efc574c3c0b9b67cce0866a514cdd19ef6d91f6c5e4253fad9ac10a99bc92c6057ca27cce3bde1ebe3942e2fe0fb8070c6e199 SHA512 2ca0ad57fb4cb92a5db6cffa650a7045eb5c309e3cecf227c971262617d94e4a32cdc1d9465a7030d9b24d243f1a717d92d3b327dc494fb18e57d9da67b59002 +DIST smartctl_exporter-0.12.0-vendor.tar.xz 1400804 BLAKE2B 5c4ba0440860c86d3a3bd84308c97a6fe1eaf231776ed64840f6ebd3cad533bab5f8b97ee9f4c3d573b08442fc66f565c8b83a7f70fea889cf2e9e1337ce24cc SHA512 28e235eb6e560042ae0783a1fb1276ff07dff5e838f1f2d6a93886f0fdea85151b1c1c87c8476d42524f7e563a58ae30f354fa1138a93fcbe0f39ff7bcba0b3d +DIST smartctl_exporter-0.12.0.tar.gz 91406 BLAKE2B 9ab0fa3e4dcee1e21a566cd9677b99f579f60e761d40d9ab1dd75380bbff9c189d9895ee2e914d1b6bdeee0c5b6d185c71ae62f4ce7585b3954192091cc96e25 SHA512 8f2cc973fd967c9ab737dcaa7456f019cb574ac3297bd5d15559167cde51f8076bcb48c7befb7efb869e056c1c5e404f4bb2774e8fe020736354ede4ae3e77f3 diff --git a/app-metrics/smartctl_exporter/files/smartctl_exporter.confd b/app-metrics/smartctl_exporter/files/smartctl_exporter.confd new file mode 100644 index 000000000000..5a8a1d649a60 --- /dev/null +++ b/app-metrics/smartctl_exporter/files/smartctl_exporter.confd @@ -0,0 +1,2 @@ +# arguments for smartctl exporter +command_args="" diff --git a/app-metrics/smartctl_exporter/files/smartctl_exporter.initd b/app-metrics/smartctl_exporter/files/smartctl_exporter.initd new file mode 100644 index 000000000000..b9e18a61449a --- /dev/null +++ b/app-metrics/smartctl_exporter/files/smartctl_exporter.initd @@ -0,0 +1,23 @@ +#!/sbin/openrc-run +# Copyright 2016-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +description="smartctl metrics exporter" +pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"} +user=root +group=root + +command="/usr/bin/smartctl_exporter" +command_args="${command_args}" +command_background="true" +command_user="${user}:${group}" +output_log="/var/log/smartctl_exporter/${RC_SVCNAME}.log" +error_log="/var/log/smartctl_exporter/${RC_SVCNAME}.log" + +depend() { + after net +} + +start_pre() { + checkpath -q -d -m 0755 -o ${user}:${group} /var/log/smartctl_exporter +} diff --git a/app-metrics/smartctl_exporter/files/smartctl_exporter.service b/app-metrics/smartctl_exporter/files/smartctl_exporter.service new file mode 100644 index 000000000000..c21aa5af5283 --- /dev/null +++ b/app-metrics/smartctl_exporter/files/smartctl_exporter.service @@ -0,0 +1,22 @@ +[Unit] +Description=smartctl exporter +Documentation=https://github.com/prometheus-community/smartctl_exporter +After=network-online.target + +[Service] +# Security improvements required in future, but needs care; ideally +# smartctl_exporter runs minimal privilege, but can invoke smartctl via sudo to +# touch disks. +# https://github.com/prometheus-community/smartctl_exporter/issues/146 +User=root +Group=root +Restart=on-failure +Type=exec +# TODO: find a good way to add args here +ExecStart=/usr/sbin/smartctl_exporter +ExecReload=/usr/bin/kill -HUP $MAINPID +TimeoutStopSec=20s +SendSIGKILL=no + +[Install] +WantedBy=multi-user.target diff --git a/app-metrics/smartctl_exporter/metadata.xml b/app-metrics/smartctl_exporter/metadata.xml new file mode 100644 index 000000000000..5d08ae950a93 --- /dev/null +++ b/app-metrics/smartctl_exporter/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>robbat2@gentoo.org</email> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/smartctl_exporter/smartctl_exporter-0.12.0-r1.ebuild b/app-metrics/smartctl_exporter/smartctl_exporter-0.12.0-r1.ebuild new file mode 100644 index 000000000000..a538f9f1c89b --- /dev/null +++ b/app-metrics/smartctl_exporter/smartctl_exporter-0.12.0-r1.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module systemd + +DESCRIPTION="Export smartctl statistics to prometheus" +HOMEPAGE="https://github.com/prometheus-community/smartctl_exporter" + +# 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= +: ${MY_PV_HASH_FOR_VENDOR:=${MY_PV_HASH}} +if [[ -n "${MY_PV_HASH}" ]]; then + MY_PV=${MY_PV_HASH} + SMARTCTL_EXPORTER_COMMIT=${MY_PV_HASH:0:8} + SRC_URI_UPSTREAM="${HOMEPAGE}/archive/${MY_PV}.tar.gz" +else + MY_PV=$PV + SMARTCTL_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" +UPSTREAM_PATCHES=( + 0.12.0:d33b5a391f4a18b3d9c0a194e57cdd3491130099 +) +SRC_URI=" + ${SRC_URI_UPSTREAM} -> ${P}.tar.gz + ${SRC_URI_VENDOR} + " +PATCHES=() +for p in $UPSTREAM_PATCHES; do + SRC_URI+=" https://github.com/prometheus-community/smartctl_exporter/commit/${p/*:}.patch -> ${PN}-${p/:/-}.patch" + PATCHES+=( "${DISTDIR}/${PN}-${p/:/-}.patch" ) +done + +# Upstream LICENSE file is wrong see https://github.com/prometheus-community/smartctl_exporter/pull/113 +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +BDEPEND="dev-util/promu" +DEPEND="dev-lang/go" +RDEPEND="sys-apps/smartmontools" + +src_prepare() { + default + if [[ -n $SMARTCTL_EXPORTER_COMMIT ]]; then + sed -i -e "s/{{.Revision}}/${SMARTCTL_EXPORTER_COMMIT}/" .promu.yml || die + fi +} + +src_compile() { + emake build PROMU='/usr/bin/promu' +} + +src_install() { + dodoc *.md + dobin ${PN} + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + systemd_dounit "${FILESDIR}/${PN}.service" + +} diff --git a/app-metrics/snmp_exporter/Manifest b/app-metrics/snmp_exporter/Manifest new file mode 100644 index 000000000000..5342bd2ce26a --- /dev/null +++ b/app-metrics/snmp_exporter/Manifest @@ -0,0 +1,4 @@ +DIST snmp_exporter-0.24.1-deps.tar.xz 23690876 BLAKE2B 35cc65341bbae092fb88ebb42c24cf93c8e926265e5fc1fa67a4a38c99c013f704b4ce02704341bd6aca841fbd75cdcb98635b2f7856c94d9c17a8f96acc29c2 SHA512 090437acf2f66094982374f06ea889bb8694b018a1a74da7cd1275ae4ee4ed1c8147253d4d87b8916e8f397c029881f29bf5ad4d33bfec5d6a99efa7b1d2326b +DIST snmp_exporter-0.24.1.tar.gz 168914 BLAKE2B 555136b42af1057cbd553a774ab96f00877f20b1d72b8f78dc87d85e958d14d56b8d58eb5aab829ad33acd9581fe80c4d65ae4faad1c8be0773e2205ac088cb2 SHA512 5268129a50bd255a9505b16d27957ab2e7a23321a25933c9a1a98cd9900aef3a882a59a43d92e021dfa6e732f84f8be1fe171271935a8eac1e023588f417822e +DIST snmp_exporter-0.27.0-deps.tar.xz 40692548 BLAKE2B 3a553497515153e2cc5fdf2b03190a5b3fd4169b6d9ea2e869c92a662d1a7cd1210a76b02662222326b8a4c4861a2f7448f75c8b6ecbe6179a4e2c831a76fe24 SHA512 11d4072a4ffd94943fac8704d45b1c8f5ed23fb1e7ea0102b67aa29a1be95c91b9ca899eb99eb828b140f82828e3f30c448eeedf05c735604c165c63bdb6024f +DIST snmp_exporter-0.27.0.tar.gz 235589 BLAKE2B e61262a3785e0f81e112c5eaf046c0607bef64d61cac81b394f15e276e0648f14166e0854708e41f64b9740ab5deb10b61d1e45f748134f11014c93d937a327c SHA512 bcc6e795c73c278cbb1497eb49e9b4aec8624132771016804dcbfb092c9c02d9ef73e74a0cf6e47567a299dc2cdb19621cbbee3c6bfc2a988d697c743434746d diff --git a/app-metrics/snmp_exporter/files/snmp_exporter.confd b/app-metrics/snmp_exporter/files/snmp_exporter.confd new file mode 100644 index 000000000000..c5e56a67e15e --- /dev/null +++ b/app-metrics/snmp_exporter/files/snmp_exporter.confd @@ -0,0 +1,2 @@ +# arguments for prometheus snmp exporter +command_args="--config.file=/etc/snmp_exporter/snmp.yml" diff --git a/app-metrics/snmp_exporter/files/snmp_exporter.initd b/app-metrics/snmp_exporter/files/snmp_exporter.initd new file mode 100644 index 000000000000..b214422704e2 --- /dev/null +++ b/app-metrics/snmp_exporter/files/snmp_exporter.initd @@ -0,0 +1,19 @@ +#!/sbin/openrc-run +# Copyright 2016-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Prometheus snmp exporter" +pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"} +user=${user:-${RC_SVCNAME}} +group=${group:-${RC_SVCNAME}} + +command="/usr/bin/snmp_exporter" +command_args="${command_args:---config.file=/etc/snmp_exporter/snmp.yml}" +command_background="true" +start_stop_daemon_args="--user ${user} --group ${group} \ + --stdout /var/log/snmp_exporter/${RC_SVCNAME}.log \ + --stderr /var/log/snmp_exporter/${RC_SVCNAME}.log" + +depend() { + after net +} diff --git a/app-metrics/snmp_exporter/files/snmp_exporter.logrotated b/app-metrics/snmp_exporter/files/snmp_exporter.logrotated new file mode 100644 index 000000000000..a34537f58c3e --- /dev/null +++ b/app-metrics/snmp_exporter/files/snmp_exporter.logrotated @@ -0,0 +1,7 @@ +/var/log/snmp_exporter/snmp_exporter.log { + missingok + size 5M + rotate 3 + compress + copytruncate +} diff --git a/app-metrics/snmp_exporter/metadata.xml b/app-metrics/snmp_exporter/metadata.xml new file mode 100644 index 000000000000..17492b5107c4 --- /dev/null +++ b/app-metrics/snmp_exporter/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/snmp_exporter/snmp_exporter-0.24.1.ebuild b/app-metrics/snmp_exporter/snmp_exporter-0.24.1.ebuild new file mode 100644 index 000000000000..2935cb98ccfd --- /dev/null +++ b/app-metrics/snmp_exporter/snmp_exporter-0.24.1.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +SNMP_EXPORTER_COMMIT=f8826bcf +inherit go-module + +DESCRIPTION="Prometheus exporter for snmp metrics" +HOMEPAGE="https://github.com/prometheus/snmp_exporter" +SRC_URI="https://github.com/prometheus/${PN}/archive/v${PV/_rc/-rc.}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~ajak/dist/${CATEGORY}/${PN}/${P}-deps.tar.xz" + +LICENSE="Apache-2.0 BSD BSD-2 MIT" +SLOT="0" +KEYWORDS="amd64" + +COMMON_DEPEND="acct-group/snmp_exporter + acct-user/snmp_exporter + net-analyzer/net-snmp" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND}" +BDEPEND="dev-util/promu" + +src_prepare() { + default + sed -i -e "s/{{.Revision}}/${SNMP_EXPORTER_COMMIT}/" .promu.yml || die +} + +src_compile() { + promu build --prefix bin || die + pushd generator || die + ego build -o ../bin/generator + popd || die +} + +src_test() { + emake test-flags= test +} + +src_install() { + dobin bin/generator + newbin bin/${PN}-${PV} ${PN} + dodoc {README,CONTRIBUTING}.md generator/{FORMAT,README}.md generator/generator.yml + insinto /etc/snmp_exporter + newins snmp.yml snmp.yml.example + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}/${PN}.logrotated" "${PN}" + keepdir /var/lib/snmp_exporter /var/log/snmp_exporter + fowners ${PN}:${PN} /var/lib/snmp_exporter /var/log/snmp_exporter +} diff --git a/app-metrics/snmp_exporter/snmp_exporter-0.27.0.ebuild b/app-metrics/snmp_exporter/snmp_exporter-0.27.0.ebuild new file mode 100644 index 000000000000..35411041a36b --- /dev/null +++ b/app-metrics/snmp_exporter/snmp_exporter-0.27.0.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module + +# update this on every bump +SNMP_EXPORTER_COMMIT=4c054bf5 + +DESCRIPTION="Prometheus exporter for snmp metrics" +HOMEPAGE="https://github.com/prometheus/snmp_exporter" +SRC_URI="https://github.com/prometheus/${PN}/archive/v${PV/_rc/-rc.}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="Apache-2.0 BSD BSD-2 MIT" +SLOT="0" +KEYWORDS="amd64" + +COMMON_DEPEND="acct-group/snmp_exporter + acct-user/snmp_exporter + net-analyzer/net-snmp" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND}" +BDEPEND="dev-util/promu" + +src_prepare() { + default + sed -i -e "s/{{.Revision}}/${SNMP_EXPORTER_COMMIT}/" .promu.yml || die +} + +src_compile() { + promu build --prefix bin || die + pushd generator || die + ego build -o ../bin/generator + popd || die +} + +src_test() { + emake test-flags= test +} + +src_install() { + dobin bin/generator + newbin bin/${PN}-${PV} ${PN} + dodoc {README,CONTRIBUTING}.md generator/{FORMAT,README}.md generator/generator.yml CHANGELOG.md + insinto /etc/snmp_exporter + newins snmp.yml snmp.yml.example + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}/${PN}.logrotated" "${PN}" + keepdir /var/lib/snmp_exporter /var/log/snmp_exporter + fowners ${PN}:${PN} /var/lib/snmp_exporter /var/log/snmp_exporter +} diff --git a/app-metrics/unbound-telemetry/Manifest b/app-metrics/unbound-telemetry/Manifest new file mode 100644 index 000000000000..8aef6b580dbd --- /dev/null +++ b/app-metrics/unbound-telemetry/Manifest @@ -0,0 +1,110 @@ +DIST ansi_term-0.11.0.crate 17087 BLAKE2B 9bd35c045a01ce4c6c4a5db1b4f15e9412bb97426eec19d4421dffbec633de8d13452c13c1dc1b30998690b78d7ed38311aca700087f13a81f66bd1d5d7300c4 SHA512 a637466a380748f939b3af090b8c0333f35581925bc03f4dda9b3f95d338836403cf5487ae3af9ff68f8245a837f8ab061aabe57a126a6a2c20f2e972c77d1fa +DIST approx-0.5.0.crate 14359 BLAKE2B d1811157cb560d24b559b5f4954654dcfe4d1d418f90ed98536c0f8c72584b9cc10c93c4e89fa376f96be043338964d07bc722ef16ebf3041e8c7eb755f2941e SHA512 4c7ef7d54b6a9fac11587fd16638d36d8738e5156f5abf77cd994056377427f12170b61c03d1acf591dbb897911babc852c2a4a12b3c5277e1065d952c9e7dc6 +DIST async-trait-0.1.51.crate 25531 BLAKE2B b4ae85616d5f84392381539d98c1751baaa01cf936045423179538fa4e027d86c8aaf42f98d4e781e0f8ce7ee3bf95d64fc5aa624997fa4aedd06f1e9144b11b SHA512 9a0505109f984bde511a6e1543925ac447935824594fb0ae3da6af3f72fca29cbbfa0cc282f751bb2c597e73084d831fd75c202beb5998cd368eb0c13a067990 +DIST atty-0.2.14.crate 5470 BLAKE2B 2db856a9e898a430258f059aeaf7c844a153293e8856d90ac81f7d91a888c89198768ad5cb09303c23241fe85c560a55148fa56a303651a82b0edb895616bfab SHA512 d7b6c4b9a0f898d91ddbc41a5ee45bbf45d1d269508c8cc87ee3e3990500e41e0ec387afb1f3bc7db55bedac396dd86c6509f4bf9e5148d809c3802edcc5e1d9 +DIST autocfg-1.0.1.crate 12908 BLAKE2B 40c53cab298e4f26634c3acff3ece6a3371188d91dbf377ed664eabedcde20536edaa93daf406618f37edde019f049a6e7b9a47f627344587dbd126bee2b5e3a SHA512 630b348acb98b012e97804e6325d03c89abc22f2157762c59144c04e6c733daf550bdc7f0fe0b9f3b50e15dae8c1c3c4bdfce3d805b02f0fc987311f5332419b +DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62 +DIST bytes-0.5.6.crate 46291 BLAKE2B 6d33ab47d04f2e469db2add31db118f95cad53002be7969738923d62a4fe3605ccbe9fbcae6d8741310c543625e80d9adac7d9e9fed01b71cb3943ddd015d920 SHA512 a1caa1f58754f4d2e54b8df8d0ca0083ee5282f5e4d3bb5b1735022933dd2e66fb3f39c7a82216bf7a7e29591695c2e10c8b7144c83ac598e34193f2425a32cc +DIST bytes-1.1.0.crate 49640 BLAKE2B b3140dd49dc222cd0405e405da9629038eb7d71dd4c22c8d6419ade041dc1118aa46df38f3426a36a44d8e5591c368ae32a89e71850dca7e810bbfff4441c37d SHA512 d34441ea146ccaf55da4d5c645f8ffbd008eeb3204dafd5961771abc85df52751dfd1af3975fb5c91eb83d9a43da4f3589bc3aa07c8d715906d8158f3092af2d +DIST cc-1.0.70.crate 57200 BLAKE2B 196b0435c8a521a02e9877ed3ff81fbefa88cd56717556776b46366bad1835bff134a1b4fc4e31ee5497600e98d1031119d0973b420cf16aece1ff18fbdcd1bc SHA512 9158eabcb9405fa2ef41fb120821ddaa2e5c7234c02d5cfbb5b59570f7de393d1fa33942ca52f86bf9271765b3df934debdea89e7563cbfe193dc01b2dcd72f9 +DIST cfg-if-0.1.10.crate 7933 BLAKE2B 063a96ed176f34f788666b40adc483d147fc011dee941ab60569ddd0e57502b5dd06ed71090f4e14ce005d06e240500a286f74652615e9d068fba649610d8cf8 SHA512 9d22616bfb4a75770a828a0a3cddac6787297a5fdc53eb17e25811cc94de717f2de8bd66d53c5d65ba1c83d8892aefee5ae758cf56a1ef0a0c3120f70b244339 +DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff +DIST claim-0.5.0.crate 12858 BLAKE2B 56dcf43f7b5c68924cf58bee7fcc68d1da891a37c21cbb4236b65745d3d51b15d348df5eb251ff7f4c83412dd09a97760db88f30dd9f8fd184fdd6616f505ca7 SHA512 699ca80456f54d7d1ce6e4ae34bca33839069982f011aa63679ab9570ac80a0b09caa4379a2dce2fc307f7881862442175e0548600842177eaa13d3931148d7c +DIST clap-2.33.3.crate 201925 BLAKE2B bec9c866481c5b3fddeb314f68af9bce38fc421e42816182de3209e8ea3447b72cf033e6251eea27fe974eff8085b7d98cdd2911b5cc0ec6b4bf4c750deb8a25 SHA512 3eb0fd648e2e3f9e5ff69a5e6cf0d867304fe18523accd036f28a86de368e4774088a6936c108ccc045092c539fe7f7494ea96420ebf6b4bec16880cea84bedf +DIST core-foundation-0.6.4.crate 25233 BLAKE2B 720cb670e0ce589fcb75e583c3f70b54669407481f61b67bb5df1a5056f07c88f568f2adeb65188004424b26b623ac42b03d830239571c15f241216e55fd8dfa SHA512 5dce50f15aa48f38e1bf287fdd3c5276d8e5f1d64bcf29da7d8a68008414f6ee560a940040361eb2f4e65657ca4329958dbec8105cc6d3606ecfe9e71ccb7632 +DIST core-foundation-sys-0.6.2.crate 16204 BLAKE2B 32766d4b23a2b108777c57b2115cc718a0cdb42fcd2e3973a0adf944d326e0796a6953756c42140eb4e6e96a2609bfb41f84a54c59b4b840d7213f3c5dd4234e SHA512 bfbe4e77a5e2644952c66a2afd21058a07583d3a1776c34dbfc316d159289073d92b8672eaab2f39fa46c48cd7f22d88f0354f02b3208482d700473a807ebf07 +DIST domain-0.6.1.crate 270027 BLAKE2B 292a619226bcd6de5d7240c1a63003b6c37ca8469cd57eede5aa37eaf059e95135b39ff4a90d75029404bedffda20f51807a92231d214fa56064ff1d893b038a SHA512 5c612ee0c52c6fb0cb7dd0cbebd2c2f463e5d3901e758be5c4685e19be0ab05de3f1d4aa0cf21ea256b1273857a2dc1430c66a2a71b2d7ea9dfdedc4ae856252 +DIST dtoa-0.4.8.crate 16175 BLAKE2B 5fff15e66c2edeb9eb9da89c66389b3a9bbb891d75afc3bb7da4dcbe9cad9e50af318cc8cc01cc7e56730763e8ea8ceb33b9447d1a7fa52a8d0f0d2060a97522 SHA512 fe1701ba2c40988b92f5f4ef78a8c81718b140ff8ca2d04023b09a89440e6ddb53ef36d1ebd9dd3e948428b361ed6611bd24ec1a31b5010c220c555e1f0bf6b8 +DIST fnv-1.0.7.crate 11266 BLAKE2B 81da85889c91b6567e0f555e37dd915f1bd919719d1ca10c31a6861d7aec29a49ae9c1e8bc500791bf9d6b8dbb318c096d04872c5872a4b1f7d45fbd8e12842d SHA512 2195a4b34a78e2dd9838caf0ee556bf87cbb4a8ef5505aac663b614eb59dcfc0c40f432463ede41ecca57bfe7711f72673d39a85fe03d426f1324097d5628334 +DIST foreign-types-0.3.2.crate 7504 BLAKE2B 520818b702d990d296ecd31a8646850202509ccfa18edd0e1b260289619a6c351e758f317ec0824bd76eccb209b6f087057c25f1bd01a47897715013dd834867 SHA512 bf27b8243ed482c202d120383374f19ff09422535e24b9c1aebccc66529bf300ca17b8bbc76d67f98ac092e614497afe3add9dc68aa69c93074df05762f91232 +DIST foreign-types-shared-0.1.1.crate 5672 BLAKE2B d2e42e04b6657e7a69fe0bd20c672176629c743e49a55fd007bb30e289710b70045d445ae9cae0eeaa747ee708c90e8abd9b5fc39bad8ec0666befe1b696d4f1 SHA512 bafdb2143e136fb0818e2ffd90b5c862b7181647d6568947d4e4531012bbf7a57b597221ec7056c1b562dfc0c3b5dead26d1a4111ebc15e7863737a873518a4a +DIST fuchsia-zircon-0.3.3.crate 22565 BLAKE2B a4dac3457036efab8f79fe5d5b4545e4091e994d3dc63188f71fafbcc28bf98ef359dcd20add30ac1d990ab2e66159723302fb66697349c65fab0aa58d54535e SHA512 a43ee59452d49742111e506d6bdd8b8399a3a646e08648e25292864d7f71460c1dd1f2d77b8efa8ed09ac21fa4ff0442a2709f16d8833a3849bde0c388d83a93 +DIST fuchsia-zircon-sys-0.3.3.crate 7191 BLAKE2B 530bb5d475ac828843af248c6bbd24ca3b5dd8118c8884ccc6d7261818cff1c79038077114ffa04bc73a078177527824c4d9d20a9b022e4057afee3330258cff SHA512 978b7e8795a5877a68409ed3a1d7b4246263f8e7e7ce9ba8a022643be98f58f329cc1c234717df80a509db849da4394f39e90a8e2a6f56f8fa8dd3c07e7d4386 +DIST futures-channel-0.3.17.crate 31765 BLAKE2B a1055de0a6b8812546442acd8acf8251168015b5f6be7bb7e223b7c61841a1a15ec1fbca3e4d40e0a552d5c3fc89ed2306a29c9ef33b1665f828ab9c8c0aa142 SHA512 884fed34839c9f73551a90fdbcdc542f88623c0d74d506febd6fb0308429e0d7df879f378b6d0bc818ce8c948da495a9dc210ca55331f4760273d51f627cc416 +DIST futures-core-0.3.17.crate 14478 BLAKE2B bad5d1fccef7e823d52eff0db7522545c6dcc6ba94bc0cad33c013b6abe624ebc6c8ddc6a6f5a4ede5982e175eeac48113ef929cc6633a22a18bbbd4cb1cb114 SHA512 6f290620b5051a3f3a317acade5a077f502fa3ab7fdb230b6ecd4d007c63685bf343ddcb8b8d1170b5ebeb94fbf1c495dab36918490b14885361d6e53c45bf22 +DIST futures-sink-0.3.17.crate 7663 BLAKE2B 598e864fb6f2f34cd72c67e5ced93d0e54d2e508319ba191a2779377d9565799226783b2009190cd6eea63c75562e209a526c724ea8616d22a1c7b4ae543ddd7 SHA512 39996fd6bf1fb5ebb0dbd5c0d18f9a34f21e65dfe998237c2e047d836a380ebfb9a2fea05a2c11e447e9a27dff0bffe4a9762e83df2f17aa90a717fc98ba5803 +DIST futures-task-0.3.17.crate 11712 BLAKE2B ca42fc54c3a3795e59b423fbd1235b10b4ae1903256fa61e80dc9318f35fb59fbc15ca8a3be3fed67e17809ed2d5f594f939d3f51d0d718b0dff5be069200361 SHA512 2f12d8d9d404f147b601ddc6fb9b6869e2e68a4bc55cd3851cb9f7aa8ebe6519c5cd0fa14da92e564d2003ded2ac2202f5e09e1a83e81129d1600d01ecf86844 +DIST futures-util-0.3.17.crate 147679 BLAKE2B e29d07117a7285fc52a390821299f55da901573a5d3df6a1845b852488f98b359ef35de0aa3fe05e613dc662247318cf3df5aebcb00149012c6a3ff24c171a57 SHA512 6a87b0510c3f8214ce14b7f333d212558647c523b5eb7da36dfe4f694e0ca4be3cbf97fdd7bfff5e0c7015644742d74d6184221482d644653a106d5564722fba +DIST getrandom-0.2.3.crate 26261 BLAKE2B 3e52a87b9355f850e07e5080c20e1ab3acfa927bae28c63bb8bfd6a773ad77be96d3ba770c344631cc0f2d9a95aac920790173168b102e25f50480ee96663569 SHA512 e6da64ed529cb0fc000b613f75187ed6b20f716e721d8a02ac2ae39c507fb9f6189ebb66b522d28584eff1e7e9efc274cad6bfe43f464f58053701e1d51c603d +DIST h2-0.2.7.crate 156989 BLAKE2B 2f75a2f82391c994299e01fae5958dc7e21b78e38b8ade83a0c90698f54d232e6f0068bed88b98314e702bff773e8753c600ecf6b638b5bc1c7e692ef636d289 SHA512 6157bcd335d303246478f45b8740dca687f693dbbb462a0ea9560af12d1fe12a9c680c57c1e7ea0b0842137ee66cde827f273e0faa619db3b6180c5587bd0fc9 +DIST hashbrown-0.11.2.crate 85713 BLAKE2B 402f9f1bdcb92631206f9b72923ee35e28db8623e87469c0f1496664bc7185077013ab3c8aea68268241e5b2504f10cddc613a350abd4291050deda6c112e559 SHA512 c21ca68fd49bbb741901f59fed04cc124b8da99e2a4dfc26e2e5e1140637872b344612a01691bd30cc771575c571be15f756c84dde225441699cd2322af2ad6c +DIST heck-0.3.3.crate 10260 BLAKE2B dc756738081d855583f239908f671e9b5dde72ebfb577f6387b1a169817a03332464cf67071708a4c4f06b1ecb222118e8c719073ccdec1c0f938e5ef378b13f SHA512 b3498e033f44e03206421e565efec5b21d13107b60d35e4476331c44e6effd75c81f7678f2452c822eefd581209a2ffefd2034779cca2d8b4fac4583bbbf777f +DIST hermit-abi-0.1.19.crate 9979 BLAKE2B 801e8052b85341cca388ada9db4b06bb1bd7b64474185b2ad06c0256b9e597639bd3dd4ba0053ea010f922e53969a4ab47b90d451fd9b94c8f2324055d151ea1 SHA512 1c877fcd562b15d2de9c151fd6c5f3ea4bf48abcb799e6139a180ffad5d64b632f0000d5707bbd92ff23a0e5f349157b9e0f5be8b50f03680b0fa47315dbb78a +DIST http-0.2.4.crate 105489 BLAKE2B 07acee6b91b6a316f3277ad324df6da1d2ac804a409983384d2fc027ab63ed05390278b21867c0096730c91a00b8f8971ab6a66d17b9764f119d245592a1cfb6 SHA512 0b5c609c12ae4020801a184dd6c751919bfd4db985844c55b53368afbe2b9f641cf9aa523ae49a0b25a251cd8f19ed634fa28990d4582cf7a27f10c4304eb465 +DIST http-body-0.3.1.crate 5394 BLAKE2B 9dd7a35cd22d22060762e17f028e9353fd66fcdc81c0fcb2f0361dc7ac86bab18b89ba774f28e2e2b451aebd01a31b01029587a3d119c5a30ff176c203482367 SHA512 0c81b2d8512be3f07d5b08534d2a27424fd6abdf175e9bad9a657b9d95a48e2916c8713bea8de3154520c7ebd097324de246a1d2ca6595f2355e1c93fd9fe6ee +DIST httparse-1.5.1.crate 26758 BLAKE2B c2f17a601b54032c1898b88feb836ec380465b5305e240d9466760aea85bc709ed873d1677714acba0d493d27fa5f5288931cb7d62f240e50e2d6b84d4e72046 SHA512 70eec6bec5927e272d7cbd09472a14b0f33d153498d5e1894c0853bfd35981c0d249a799c3f4acc01b8499c29519a49d81efb755bdbce124e55f73eb75cf8592 +DIST httpdate-0.3.2.crate 10768 BLAKE2B b435d0a530fcab46496a921a565c3ad8654cb39ea038bc942c8fefab8dee2576e9b157f203b376e80a10690650c1c899eaa29e5af75888c8998b07d5d049fa97 SHA512 5cb56c85aac5acc0e9e2c72fe0913d2faaaaeab10a15c0479407ab779494bd81f8e3fc9675f5990186a34689e841427e83723a87a91a5204ff57188e89be98ea +DIST hyper-0.13.10.crate 141981 BLAKE2B 8cc13ed7579957040f19a81aa2540d4b9d453737b6e277dc65df648530673a536ba009e8b1d61f61da88dd2613d2fd5ba537271b1105eaa528ba2933cd66c9d7 SHA512 cc7c6b00e1864c44a647fcdbe6e59c7a7574169b787778b1074d102a39e092a80802383d93eb4a6d0f7f5da9449c45e5dcd1e6caf6efb946ddebd687d2c2c10a +DIST indexmap-1.7.0.crate 50363 BLAKE2B b45318ae2a6e1f008494db77a3159eea3fed4f77eb04ae65599be9392d6ef78d4677b65d04fefab8f917f6808fee821a33bcf53a50b88785fae5ef6848e3a08a SHA512 9b882b4a7068a686acaee0a08bd4f3b35b58d36e786358cf14a3436eb61339649e64f1757331cc7833a2fa364c76eb6b75cf0c732afaeb202113de1e66b72ab9 +DIST iovec-0.1.4.crate 8720 BLAKE2B aa1b4cd98ebe47901c0959cf1d8eb2586a803d0453e2a8bdd5c63442b32886dbcb37650aa218c748fd45c9fe3a7fdf20569eae5b19716487b139caae1526da4c SHA512 e23fcaac239807daea20ddcf2cdd4fb858ba1aa970ce6248f70f0fba5bff7ebdb27247c0997ac0ff2791178f86ff9657e473d8f64b86c644763e5b3474edd158 +DIST itoa-0.4.8.crate 11926 BLAKE2B e5a648b490908d0ffa3a0832342ad11264eb4357939bb39aad014aed3938bb60e82703b7e31929a458525061e9bc40539d33753bdbd722a03b6804e57dd1f70c SHA512 6911d269ff3ed7350e4f0dcfc6e9e0d70e25833e1e7cfcc57d5b8aff1f47b8be4f2e9baf1b92e5517cff63492be489b6d29b48dd9bb642e428acaa431216b68e +DIST kernel32-sys-0.2.2.crate 24537 BLAKE2B dfc4a1e31d3ec9e2ac62b890839919fb7fed1444070c1dcd75bb75acfb53556d6cf2eddf5a6639e7852a3df2a0cc715c5ce1d3fc898ef16a1687020d98f715bc SHA512 682bc7c629aefd035966a2873518fd60719121cca7d63d89d6c97ff5306f24d8b5055a3c91b4eedaec22b1d5dd3fb8b48ff7341a05bbd72d86e06c422dab473b +DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8 +DIST libc-0.2.102.crate 537138 BLAKE2B 2814792c4215555d5a33d4e3d21f2c78e1d9c87b3e1884d7fffa512aaed0737ed2329db6298fc074d477abfdc02f5bd30ec485f3fa7afe7d7a3e608453985c63 SHA512 cec681043b9c279e25ffbfdf2aeffe2a5fe057a8187fc2c986aca9a3fc900eac96ae3134632b124f1aaae4e5d2ecbc7122aeb40d94f83b5ec075769ede361643 +DIST log-0.4.14.crate 34582 BLAKE2B ddfba35947ae1f5905cd9ecb9eb862a78af6f00ee8b8fe6258b369b140928fe677a02b1b3ca5bdec36ff2b16abd85a9f49688fd5f3d1ba2b2905e7f96b8a84c1 SHA512 796100167663d85a7bc4244cd305e9b3f0a1b1520764b63464698eb136318d0928c40c16f5d19d9f602a5bf769851275bbd48d66b088b0c37be7a6fb62def7cc +DIST memchr-2.4.1.crate 64977 BLAKE2B 31479718c118093b684bed946eae0706d77d9d275bd49f5aeff4de490f479abd60c7dc462150eafffc6d6fc1da0853123b78be038826b775d2a41a4c39d93ab5 SHA512 d8912e3902a2126f86159bdc998532a2890b882cbb7d59b5a470fffcad4c32281e045f2fff48a235aa4189f1928866bf3d33b699d50866ad6b6c272bba7adb11 +DIST mio-0.6.23.crate 103554 BLAKE2B 1286ea6deb7579964a5c15926509d438c5454d4f56e936753c76927826fbc5444dbe33b7465a15d0ae6c122bcc98899959391a5418bff31c176d51d7b2f33077 SHA512 ea95d15072fe36524a85b50108415a809d7ea3744deee45e4b6a1b763a11c88cda6dbabe4f8d01945a5edeb52296a74fcf457c85be3032c1311a35025860d05c +DIST mio-uds-0.6.8.crate 11496 BLAKE2B e52d131f292c7c09fa116ec5c760d50e8389c27fd7b79a4418f0222ae124fba0e5943b5494866e9db75407ab9f6b1a9c7aa7fdf2c4d601e8c785dacd8166f6da SHA512 b6c752ae9f25c37fc7e23e06a8843089c5291d60e53a6e9093eed1d8baf64c9e0ff14bb2ea1c0c8815b00026b28fefab2aa34104bdbce7e99549786d0f507a73 +DIST miow-0.2.2.crate 22044 BLAKE2B bec3bbd899a080e5c97a8c1dd9dead16a57aa44cf2bcd97be03155c28345c45fb731650eabffd2fe18a633ff947e63561327cfc86560ee86c3fa71ad4d2a3b62 SHA512 e42012f67e1c5a475d1c9790bc731add53f7a3838d36f8a701f69974c3ff33d31364006220e69c8f37bae2eb31055ee704c42b64241d13be528c768ca5c3d6ba +DIST net2-0.2.37.crate 21311 BLAKE2B 21cef5df92d5d51c8e23c57ad2225e3311c13083fb86830bcb313965eb5ad0170519bed9a47cefb2305d3614ce55e11896a06437cf9ca50c79b7843ea633e99f SHA512 9ae70c655468c3e35ce05988626e0398a3cdf7b7343c08aaecf1267bb958329e608b814cc7be252fe085de3cf6913a1c72aad206c677459469ba4886c20206ec +DIST num-traits-0.2.14.crate 45476 BLAKE2B ae310d9d5640acc3e45e1e5d1d2f519539795922c0058ee940c94c94b6654b39358b7c18dd23a276f2c1b16a30dd4de4cbc8575bcda6a5c11e70665d670e6439 SHA512 c3028eca9f7b718de0db3a36cf3e462bdba43562d52c9b809ed4cc0aa6af403aea542d6d4da743cd1dd541397815a3c5a84cef4d6e40122994e4be6a62319b2e +DIST once_cell-1.8.0.crate 28925 BLAKE2B 7681b1a7497b5711e663773c1a7e076f333c06c10d3f289079a781c36f050c1620cc279742ea8e5b15ec48f3d6038a6079bbda7fee3ae8e1128bd916d53ed43a SHA512 88e55c9433225ce85a08353168c87fca2237615482160a5c28f3ac17f06d48c63e0c21b5f7ef81f82ca133436e371802ea099453844f1c111003bcb6ba89e827 +DIST openssl-0.10.36.crate 206367 BLAKE2B d059480338da28c1e6707db85127bdd4721e931f74bf27d2c8f80315c43cf9c37a977740b9d799a03bb59a1fdf26fc1fd9ef11319863b63ac7b6ba3ddc2c1385 SHA512 bf215f7ccfe24b3f490d516541ac746785853dc61ab6cf023e303275578c206fcb14b6e5001f36de2f71b0a8c48ccb26f4f343c5b88ae38ad2cba12ccc941641 +DIST openssl-probe-0.1.4.crate 7066 BLAKE2B 656434ec1d34466e903e5c69289a277d14623aa7bd8a7c19bea974c7de57fcec9b2b4ed212f37d7f7b90fbf02a486a8ac7f7c318cfb3b3930e54e276103154b9 SHA512 c5d4ffcc6faf009b38dc715ec85fd75b3e3b0c0293041ea26071bb6d19d8d018a43ec166bf79ef1c7a126cf783bd4a7121d5dfcbed36db5ebf0fe4decb198f17 +DIST openssl-src-111.16.0+1.1.1l.crate 5095644 BLAKE2B 5c0f1e5348d283355a61d2479dbef138de71cbc459f406bb6765923fd15b7a47e529567e1f10fddf56f3c6d9d1dd9358b671adb465b4f9dad3b7382a6c4df1c6 SHA512 de5723f7745fc3d445856a7e8afa0e1053afeb63d11a13973c772ff94eec9d09a69a593d24d1de0cba289eccd14a079683af554ce5752ea32e7e76c40fe78cf2 +DIST openssl-sys-0.9.66.crate 54599 BLAKE2B 5c03c5e4a524a518885a68a7d7c9fefc0d6cb97e35368bfa49898cf5a97fdce0ce34047bc7e7ba5aff3430b51b3b546bac1bbdddb743bea1bab877df684fc1e4 SHA512 ab2d39a766df694f3985d67495d4e820bd196987571fbc229c003f441fe61bdc1aab9cd35a83ec3be9518d2b4e463f33f19bb109e9297a2d4114fe2d1d932a59 +DIST pin-project-1.0.8.crate 54991 BLAKE2B 27ee86530b313e3514950e5f072367875fff4961e0f3ff635acaa3be08e0cf1b60aa96ff782651e25d1aee9abb4351262fad02ce5f90972a5188ca1b8ba30fe8 SHA512 7a838ad361025b22cfd6ef0ae600b100e673b537d499ce8cde9728520eaec11a68edc8c65e3a1532ffe8cc1efad1d7aac7d8e9f82372cc5a18a3deaeea189dbe +DIST pin-project-internal-1.0.8.crate 27941 BLAKE2B 74992114d7d582282a92334d2b88f6c50083dcefc1bd62f5cfc588d5255ecbbdd8a2764a4d877051af0258ff9ae37d503e021d27f2a35ca497bfc11a12317ae4 SHA512 9bd11fbb60e3cb99d81eee590b4672d2c2616825e5aa99e01c6b310e5c6651b9e7f6097db0975542746ddf4c455f090f450ec7a588dad4031bb5d09dd91d11cd +DIST pin-project-lite-0.1.12.crate 16854 BLAKE2B 48ecd648fd7a7694a48144e9e3f05a3e2878e52a5e5ecf2c6cc2cdc556957282bbaa3bb04f6418cbcfb254cceab5a0bca92173cf293db5cfc9c9589ec1597543 SHA512 4285eb45548b1827b54890162c68698e50d3747eba7b4c1c75a8104124846bc745a40d9acce18115bd06993d7d8f11232168e5e6f4159d3d273ff800706e5bc4 +DIST pin-project-lite-0.2.7.crate 27212 BLAKE2B 71997c66fe24bbded0030acf9d460c8ecdd07f7a047007413ad5daee06ade30ce487e7f921d610f9e0bc7aa036391f6c595493d9b7d95c17e9195f5a2b23441a SHA512 c948201981269f6f54da069470c56c5b9c4c6f52e349dc7970ad828d412facfbb66a09745c0565b4320fbfd1aa7983f3664604f7ade37a30cf25ce253afe8749 +DIST pin-utils-0.1.0.crate 7580 BLAKE2B 457e1287202f16d1873b24bf4f1de1828300128c4ba3131758e64f9784d36d47365f22d85493c3a85d854f0d8dbb4c6cef3a0f5b064014dc03943e58b7ba9178 SHA512 828422b8440cc82ac6b0743e0112fa7540d437aed457564999092b1462cd7672cd6b1f0201b67075431aeedd3d9c5127468a3dd028744109944f7f023c82fd70 +DIST pkg-config-0.3.19.crate 15451 BLAKE2B dc23b5ef12719b4b3d2fc5c93c087399ba954a5e127be91b26619466d5d7422e71684d02905304dca65273d69b66338d94c0642e3810a14df845ef507ddc0bfb SHA512 42bc13c4e39c8f71690db527d815884acdfd2ccf5fbfea700c6ed60257e852cdcb1c443e7774409e51da53612b0ff0aa165554b99fd0cba973f94a8df52982d9 +DIST ppv-lite86-0.2.10.crate 20915 BLAKE2B 83a075381c24b2b89f5266929f5672ce051c3781c1a199252738dadbf471618c8b87452ce84e1cd87a9eac11b44107002894f544091210cc7e77bf52c045288e SHA512 c9941052e504b9b310024064026e4b1d540dd877705ef450a833d9ff6dee70ba874cdad68c46381a71d5b54482cd80b3dbb8e0c225758fd339069031a55195f1 +DIST proc-macro-error-1.0.4.crate 25293 BLAKE2B ef918c5efaf2545ab38787c8d0c07315af00431139e4dff66346bf798e3a429f91d12a79776c150412fdda0b158a72badd5e1044ac4d6917f8482d4b5a7110b7 SHA512 8a47bc9d3e24e9561d1e384d8f5a633284c2cf9b5e6733c5f9d1dbfe1870ccc8e2152482852e50b551cecb68e009148585b910ffb0508a7b4875598eaf8657db +DIST proc-macro-error-attr-1.0.4.crate 7971 BLAKE2B 98e2925881c2be186e22c2c439697e91d43f807eb61a5d13e3b0b4321ed50a74f3d699942c04b89b6fea0f156bb5d19ebcf22f9cd4b98a7e6917c437600ed823 SHA512 2606afa9ec78d7dad4500c98d3a5ecbd02c6b53ab829c742bed7f57b322a95238ab4e01cf268746815f1424fd9b02eddfa30e72f98c66106f57765f3d3116495 +DIST proc-macro2-1.0.29.crate 38772 BLAKE2B 742c2602afc4beddc96b688d105fd93b1dbdb3cfced724aaf542e97120d374d334e90cfbf02ab62741dd052a272dc583b7d2e1992da3d1b8ff260414c65ac89e SHA512 b3b3b7c6988afeb92209c7e0362f45f9c207611a74bb63bc7746b86fb9ab0d74fea9e7a2d9bc8ac943225ea439540726ffc13711dc5bcb056c1821fc99e8dc63 +DIST quote-1.0.9.crate 25042 BLAKE2B 26ef31e89fd2f0cc21ff65f8072f30c7977ac634d2536cf9845a0894d6659f62a96cd0a6ee48f7706036c2c1b898ef8c9167bd62714ad0c9cba4fb02f30922af SHA512 dd6cdaea183b85400531ef01e56657edbec0d8f7c27898c1e591b72dff755fa5875b33ca320bd65be0e9aecfc6a61ec119a4bd1291e9f2057fca642ab5b198c8 +DIST rand-0.8.4.crate 87406 BLAKE2B c09358416d2425a8243b623346fe71bf6f03fddab1a23fc752f4303ba7c241b3606629e4edf0ea720785bda0bca534acd675c2de079b78eac3df24a1ad6ba654 SHA512 77ae0e988e31e12f7d3f2c40814f930eecbc94c4aced827c337be78eeeabf39fde2dc5c4fda059afdc01285ff4afe30393c32694377de004feff16207606558e +DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e9032fba8eb38a6d1b30180d15e2f89ffa2a162bf6358da41e030098242d81e71dab4321980d0a4f6ddfc2974ce3 SHA512 8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075 +DIST rand_core-0.6.3.crate 21938 BLAKE2B 7c73e2da6d423c68dbbca31f6528bdb3f42fa39b30d0951ca7058e05ce16ef09ef5e047697b33ec17720314f934512c0907aeb892df93d63abd8b63eda2b50a7 SHA512 0fc31f96ca8ebba8c179367de01458e909265e1d627ec0c5620be7c8e83d2f9570471d6ec2cb2bc4bc531505b02fc31f1165708cc1357906791c87123b06ee87 +DIST rand_hc-0.3.1.crate 11891 BLAKE2B b3aa810638390eea4245ebb711de88ccdc2a64350a5c6e14064fea7685d49746b4b77215dbb8374fa7a6cbc2cfd79fb553513d6e551acf64586d8303f7d4f3a0 SHA512 582bb44b81c27e698eb57c6f06444b8a7c9d3f7ee73f4e14be8004c4bfd3bbfd9795c69f7294b5e87107e86b90fa3e91ad080964474af81c92705d356e43fbb5 +DIST redox_syscall-0.2.10.crate 23582 BLAKE2B 7253dd96415e7b70df488c208d86c250c670b1245ac6573a59085faabbde9e33fabfacd233e7d737e365493db14008c180274b41ea0a4af5f6f98eec666a873f SHA512 ef012eb4bffe32119e50ecdbef4cc31f6e84a344e94f026484fe4e2c904f94053a8b6249fb6bd8ada31b3ecfbf0096085283bb68aeb62b1b01b57f35794aee92 +DIST remove_dir_all-0.5.3.crate 9184 BLAKE2B ab7ef94e0230ddc9b363f038254a180881bbc20eb04a254f97e6f71ed491c99ba1c88f5e85632d450243882a4a0df63f3b8b183bc1fbca9caf30ec23d577b1d7 SHA512 50417d6d8a33912193a1ed37eb72b47431b12ae65d2780cdb7080c3d141e63819da13751c3fb737685cea322f70b36d413389c3dc01aa12b4dce615aefed0e2c +DIST rust-native-tls-255dd5493b446755a9e40be3a4638afedfe67b03.crate 36375 BLAKE2B da5f3fbaa20533aa71d601e615fbb1f84f042371dbeff262719626d33f836768016317330f5c8332023c93cf9dab6e4f3694b6440b3b2e83f1f5fce541e9fa01 SHA512 454e57651aec1af76eab6c80339233479c2c6b815a82ad76927ebe25060c9f23cb5239bda623a2594a0d7cb4b831e75909f36ae63b34ea8741102e84065b5c85 +DIST schannel-0.1.19.crate 42755 BLAKE2B 11503202bb6c8fdff3cc716558a5c00ca7497f7aaa4890d332084754e0d1e1013719d5bd744d8aa12b8b042401f4828fda8453c104d5feeb9b437d7cc51b5273 SHA512 319d9931cdeaa0f6b50c46e413fed2b6e97b28fe8c4825d4e5ed0fe22083e686e124117bfab7c89bcce815a31a3478f8c230cdedae6a852a31719a0df34645b0 +DIST security-framework-0.3.4.crate 48568 BLAKE2B 2502bbd48ad17114fba8cd88f9f8f2416856a7340e27c8271d70ecaeebe2b4f5dadc56e8222d1a5451bbd601581c7864211cce7987901a0c0ff805d8c983df5a SHA512 4c23e76834c0a2d013a2785030a8ce85658bbb144318eede6ea790029f8cc848045aa69f3ce8895eb2eb6708a50cf62a5dffb908d5fc5eee53bc203f9cf8ae46 +DIST security-framework-sys-0.3.3.crate 9554 BLAKE2B 851c1c7e7d972b9f74d7278fc501c3894ffa0fea31954fdd2ef5e070c28c080cce04d35acfbdec9871c4544b218ad420ebd42bf6f426142046d805ea99dadc27 SHA512 a78a9affbdff5c44e63e555970748724a4cf1fb1e47a6a5645294f70b2c0960d3ef93d3289c3695d5de31c8f7a9b093e3ffb801a1631b474b5ac68e0b68bfe22 +DIST signal-hook-registry-1.4.0.crate 17912 BLAKE2B c50ade90e580e5f009832d812299b33529e53f68e6f1b7f5f9b5ac9ee0de502825c7bbd66199a65d4494152809eaf3dcfb676152c5b4f66c7a38b33551fcdd30 SHA512 b564379e5df1061739734179a69897badf9e2e6b469e091954428b05c3c7143885396df4bd008d77e08dae53729d2267d50fc8563121b086e25d8a5adabf6d6d +DIST simple_logger-1.13.0.crate 8051 BLAKE2B c2d3280901c17f79826e6a56bf5411b52c576c75a71fca7205d69d32bfd194152adbabe0bdd5467e33612ceb4bad8b87ce45fd2840375f373509d3609f54c020 SHA512 f6dbb74a5d25895189092e567784daca9e0b4cb48a527a400b4c2ccfeed7ffcdd3f00719e8d084f82390971567b4c280bfc3c47db2356331c0107fbaef941b8c +DIST slab-0.4.4.crate 15725 BLAKE2B 54f3d5e4e76aee03d52f25e2927c03c10d89fb7ff62d83ba6f56003daf8a98e63ec220f564107f3282e96bdf3bd525b68e71511ba367db2550d3aed18b4bc59d SHA512 a8232c85d9693c2a417201768a5b2ecd82e3a721fee39ec80e44c769c66f8cb3ddf00a157f376ebe4c168082550ec48e63af23de2da4f30ed343b4e3bd13c3d1 +DIST socket2-0.3.19.crate 33782 BLAKE2B 1ab3c61a439c1594e19c4a14958d0a85b54666532d16eaa9a1e40e586b7707b1c7b5a751fb373f16bcc26510abc25e0321808e721c0b33b7b04416b9f6cbc5bb SHA512 113d902ca0b966bc0bcad71e3b7d715c79cd075d9dd7fc4140a042bac91b3ce692fb0f1fd0216fa3f6286920b4a92e1a4c342d7ae8d1d98ded36e7480ddafec9 +DIST strsim-0.8.0.crate 9309 BLAKE2B 40a8be506c43ee1ffe006ddc7dee98c3d418bdd205d57b78f5d1e4c9312feb57e1eaf952e02d92d4e0932db240c6fba45beb06ea8c4fc6de1cf1faa8b6a3a939 SHA512 1d55a8d946cd55f5f37d06aea536549ded95739fa58c0f2da285a0041154c181f663682bdcac643aa198b3e762d694a04f058db985c62ebe22b5c16327ba6d34 +DIST structopt-0.3.23.crate 52029 BLAKE2B ad87f3d2da5a4a972b2ed0dbd49830038ab6b46243561cabcbc06013d7088e7a44acf1a29137af11a53ee8720aa8cd69cd7200a388b0ec626a0c513b6390ce2f SHA512 6f6cb5e2ecb7bc2e1e7c58d98e3e9f54dd4ff4698d22aa32e2fe7ab6c51a8e9e8c418260321a3f4aaae1808a68eebcc40f619de28433949aa846c27f06ff5cef +DIST structopt-derive-0.4.16.crate 20996 BLAKE2B 3410095fd88bafba6d08d0aacdca295cf86f4d8f028103934c03cb16da334955c1334039d000ef7eed471eb8020046c56cafb00dbc7713ecc1f76585cdc6f22f SHA512 11c5fa7a0fdc35a02fba22c940260a4a5bb26ec431d92e032789731afd97576cfe63c988ca614747ac477433cad640c972b48f5c90cb9893be28ffc9774c247c +DIST syn-1.0.76.crate 233723 BLAKE2B 99b781b6ffa926ca71d0a09ae81dacfc6ee713e15fd057232e527761b73f088c30967eb13d624bdf34a089c5a33fa28ecf6ca069e3dfd7061932643849243967 SHA512 0f32138d219ca74fcff1ee5ee5bb89f965a30b74c10a040bd8361332cb84900322194dd85ad7571c4bce72c1f66368546db5881165939800f2587b15ce07298a +DIST tempfile-3.2.0.crate 25892 BLAKE2B ea6870c642c5712c7c96072a5d3dc04d75c19cf1413081e3bf53c1ae6c75e05ab537446071cadb5460b34f7fb7715a03005a1335a64139458db938c3415f7c0d SHA512 56d1c5af7cb6863f9eac990354126979534aae7bf298bc8b1c918c7317ce2ba31f53089aaa1ecf8baa4a39d4111d74f4450be82b509b3c2aa0428880029e663a +DIST textwrap-0.11.0.crate 17322 BLAKE2B 257428908342774593bbd3528fcdae710712ff54e8a711393a24356d8ba0e16e466a4b20c05f942c48ca76b3b5b5aaa90ec202f782cad892caa8b71ccf124da6 SHA512 f5c0fe4f28ff1a3a0931e8e235b5157a45f67967985bcc752418c5ec3481fca44a8ae4800088889b37e8cd0533f53d3c456d5ffd19b767b3f83a87b49a2e209a +DIST tokio-0.2.25.crate 413390 BLAKE2B 3fc36579030bac46a733bbb061088eee56e9a172241f74d744de972065507db14202a0533a5d231bbba495404c16b5d6bec0d11ebb11e258ff0273b47b2f7d90 SHA512 19b8d46a81230be0a06d6354c2775b20fe0c108b4c504f5fe798952bf84f8ecfd9fd149ba899ee67a1158e1b0ea9eab49f6249a655eb0ab1cf418c0097b30705 +DIST tokio-macros-0.2.6.crate 6460 BLAKE2B 239493963b5fb28eb9ea7dd568576db4d38c7e6b8ead4d072862891ca5aa096a8ae61481f3cc256d1bba2a2ae9a62660a8a0ac3a1b0408cf33f4b204a252d095 SHA512 1e3f7f42dcece16d8785e500816768ecdef944b0297bea9ca215c15aadf1dc89030061cd4ac01fc9d3c32ee83c6471dccbf7e99ff8f2385853e831e08954a51f +DIST tokio-tls-0.3.1.crate 22517 BLAKE2B 05be1ca4abb345fc859677bb1b4e49064324ef7858c5bff7301b4a5110e4a6339857f5d85037bbd66b433a3c2439eb3c15edc63648fe04df2da9bfe1c93b8e08 SHA512 46ac00d839415a8dc9d9709967414e3812606a23c2c1e0e9dc9aa6aff70b24afb44e4c5a231d0d857ea8d06d07c254c97a459713122006cf1afbc6d4f7b7b6dd +DIST tokio-util-0.3.1.crate 27233 BLAKE2B 96e43dd3f6f6209a6436e6ef3a40739f44507312b02a83f0316c7500dd6a59b5a71af005a98818d9b1db0e33aed4a9330e4cf955855925c8a428132762985db2 SHA512 301a5d9a8a9537653e17d3360dc27d41c95aa28bcda3e0815923dca0ac735071b01b9fc8c1d53e826e0cd1e6e5f98cc233f1e9dea906ba06c6b5192608ae7ae8 +DIST tower-service-0.3.1.crate 6299 BLAKE2B f56562faebe3a933f39f8e2093af65378bd307c59f9695408510ea9ca2230c68228c6726a0a2c7c42943002837dd9d86ce0a1d4b7849ba5c61df28df7632d909 SHA512 d23f9db2d6632f561970b55eaeaac22a20c8b9af18931cd564db193688eb2a2973127b440e175cfd7358f3d0ead53f7a759e34b7b86c293751079af9c2181ba7 +DIST tracing-0.1.28.crate 71369 BLAKE2B b583ef29cbd83e843794a3cf73d27999dcf085854dadff4539b08db98b401bcda67676ad0b3392045b5b1fcf85553090c138c3a475ccfefac2dac417e3e29836 SHA512 2dd9909d35f2147493e628b94bba6a1fc9a5b1557ff06d582174f71a36717393f4a6c19dbb9af5bfd5d64841d419a9db61a6fe3e81f64c0533a06379bdc931b3 +DIST tracing-core-0.1.20.crate 50446 BLAKE2B 7c665c7607d4c9f873194d0d8dd37ae84a7ac9ac424b85332669bbd4bac60274f27041199fb67fae6b8153ed09e04fd99e09e239de98846697a46a6c509fe0ec SHA512 bbf9c0802e04bf5e2fd192af7e00b2807319661212e88dae9ef4284886c34fc58ce6e9b17e77522e108b2c38f47357bed220e1832fcc6b464e0bec059b57b388 +DIST tracing-futures-0.2.5.crate 11637 BLAKE2B 2b23233705674cadf5dc8092d3990f375e780de2b9bdfcbfdd5f4bc9bd0f15a14c6bc8e36963bcd332e729b33b90ecd10b2250495e0657eaeb302e666313534e SHA512 8a437a029e18dcac3a3be7a3355a63e75432ff892316c9f2929c7557e3895b1bb5efb59a7588372bd9efc386b5cab54c2b382be99ef8fa643e66ae5656e506bb +DIST try-lock-0.2.3.crate 4158 BLAKE2B d8bb2fd8ba10285871ac3dee069474d4225e312c0a13b6bc238604c5207fe33437541abfdb507a6b400fc3359b78d39a7e9a5bebca426692b5dab4622b09c192 SHA512 ebae7ba9227e6fc20499b48ab85169943765342d4790bb4a31ac33a2be0af9401e2854c8e00b9d3b7e225d16875c90700b1c3fa99af07833d3b7a91b7a414fc3 +DIST unbound-telemetry-0.1.0_pre20210920.tar.gz 53698 BLAKE2B 5bfeda0c74836c4ed9b9723d37e31ad9a9fd8a9a81a229bbee67f4d925e62e0f7d520f57c0d5712f285df5ad99e2d34125fe2ff446ef8eb3aa7216e7469989f2 SHA512 160f13e5ea8bb4750d18e3e22cff38a47d9f01397bcf9364da68ffed2f6f864679bd36b54d6264cbedcb31d25f9b52da9e9ca5195f6d1723aef9d767f5fe702a +DIST unicode-segmentation-1.8.0.crate 94011 BLAKE2B 33440cedd5b51bd6075c9c75541bb8dcc16037b1c937ca72962f6c46be71a30850ab8e8a144d8b7548e5a91c78d551e7bbab5f26a713f1df0311d15f11299af9 SHA512 f0779ec42907b665df53f38ea370e661f10e7c72a75917f4cbd055868428c0eac1c7fc194d4bbf048e00f0f3d3e2b3602ae88d7820ad0c73e94a5228b61f6495 +DIST unicode-width-0.1.9.crate 16745 BLAKE2B 38d4b92e47a284d6881a8073089be59a73d82b91efe5522f55be977f95f479890b6c02cd519544729f1b1e62eb21bcfff8c5f5382917f953603b760e39cf1ea7 SHA512 0f5ec46c57e3b5e50cb8430c89db8d9c129e80ca11a9c398b5312bfe95001e19ca3efbfeb01c3ac09c4ce7e26c6ee1f352f7e114ecef78cefd68c54d2d50f5f4 +DIST unicode-xid-0.2.2.crate 14955 BLAKE2B 6c6da49ac08dbd8b3248272224d6bff96b9cd1f36029b1937a58a0b929c3a48326053305ed49e73edd70f572f5abbc4817cedc899c69e3457805ad056669f6af SHA512 92ffd0dd34e3ca235ecf110b38c447d3ec1faa23d76c112457f28d432f92fa6b5f428bc5e1bfd278f361f55426dd96e19ecb0d3eff6cf250892f069c52bd89a8 +DIST vcpkg-0.2.15.crate 228735 BLAKE2B 6b6bacd9a7fa38919241f45a97f58cae957e58d3aac99df208a26aa718e4f1644f4ccefa31b09151e5c1952288e0e5837c363918b98c7f55079a948a952c1c50 SHA512 7322a21e8811b2fe4e79e09dc321458068ecdf1953f05d36233f3278ecc0b1dfc64194db7010dd46fcf692285f42475beb090c6c6cac0c8f9fe0eb5c770e3172 +DIST vec_map-0.8.2.crate 14466 BLAKE2B 8f109fbff19604b82ea2aa61c952e2ce9b5597ccc8e1ef4e847648e2de08dece8c4debe92889edeccb8d393645fd0b62436b49d236ded7ad181c4a51239a9539 SHA512 4f1ef59bc2c437e79f1f84fe021bce5aa8ccd581f500f3d5776913d5f17d45b03ccee64f5bd03d47656318cfc9344a1f4311079d471fa409a8e4e94c143973f9 +DIST version_check-0.9.3.crate 12547 BLAKE2B 85761c300a8d755e0b376191ef0604728ae641261fdb10682a3134a828eadc4a33216426d286bcdbd8d0c5fcfe6ca8ba20ed078c4f53066b959739a0e73daec0 SHA512 4b3b428214a0322af536a18e6f050438398766af6589389f20a804121a6721962ba411e2dcfded60aaa74313128fb0e831bea31378e2695c29b29bdc24d7cbfd +DIST want-0.3.0.crate 6550 BLAKE2B d97ac51dd5e49bec27cd196711110679013bb7aca520235db3f38c7d4399a2a17b9cf599cd0811137df957f2341e75442d48483dc7aed6910f0eed7a78ddad37 SHA512 7e7af8ddcc6faed3e3d18384a000339617187b74b0adf111a02bc15fdb152c88007844d6fe6f35a47a13f3384a19ee4723b884623de7d45c6619d76aa6699404 +DIST wasi-0.10.2+wasi-snapshot-preview1.crate 27505 BLAKE2B 4eb8644b945633d6e856ad80dd74990be19eb6af99823b147163384f61d471e2d9ec054d78a7064072344be53783e57073e8fffc6d5555c149b4834a9bf31dba SHA512 06977a294d76369a3867c45abdd8a87ea5c84e5a3681075ba0d14af1aee3114ff24495c7e7f7fe1e6e42230e65fba0e062898e69bc89e0209af62c2d14094ec7 +DIST winapi-0.2.8.crate 455145 BLAKE2B 50f3c2a0cf4eeedd6891b11392e520c1cca139a71f8f736eabaf43aa7e4b1b5d57697918978220459572d373940edf971eb8302f292cbff832283e905076319a SHA512 115e6f027cdd4a56f77ca24f4ab249d2a6cac1e1f955c826a9b6ee05db4861790a533f5e674aebbb540370fff52ed41618c2cd7c906e73200e92df213109cebe +DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97 +DIST winapi-build-0.1.1.crate 669 BLAKE2B 6c8d8e0f81574c086f06fb3f234b0e6759d293d1d254857c3d491e4d43279e5c2f57f2fcfdc9d5d7b083280f4cc2a75a6ee9bc1541ec6ce8f8d904ded0567faf SHA512 8b0a239e205a5368892f41c870a8a7ea16e3468c364b03382bef7fa3a2e7159b09c07661e95b1227578f6d72c14879daa4444b28c51ae20ef15d985d59ca5a77 +DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2 +DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513 +DIST ws2_32-sys-0.2.1.crate 4697 BLAKE2B 52a7a3f57bcd73156730ada4d78fe12a54a498c9064e0928e09de13a95bd9237f884538e5f9368b47a7ac3c425f0f798c26bad85f20bed4ea26c2fa16c779b97 SHA512 18356861fc595efe7d0180afb8ce7649da35a4f9ba456271d2068679ab258a861af32a2e016e241fbfbf5f6ef0eb33127b26eabfc11428af39506538faa4821f diff --git a/app-metrics/unbound-telemetry/files/confd b/app-metrics/unbound-telemetry/files/confd new file mode 100644 index 000000000000..f57920bf5bce --- /dev/null +++ b/app-metrics/unbound-telemetry/files/confd @@ -0,0 +1,7 @@ +# /etc/conf.d/unbound-telemetry: Configuration file for unbound-telemetry daemon + +# the args to pass to the unbound-telemetry daemon (see unbound-telemetry --help) +unbound_telemetry_args="tcp" + +# example for UNIX socket (unbound needs to be set up accordingly) +#unbound_telemetry_args="uds --bind=127.0.0.1:9167 --control-interface=/run/unbound/remote-control" diff --git a/app-metrics/unbound-telemetry/files/initd b/app-metrics/unbound-telemetry/files/initd new file mode 100644 index 000000000000..e4ad1684f6d6 --- /dev/null +++ b/app-metrics/unbound-telemetry/files/initd @@ -0,0 +1,17 @@ +#!/sbin/openrc-run +# Copyright 2021 Sony Interactive Entertainment LLC +# Distributed under the terms of the GNU General Public License v2 + +name="unbound-telemetry daemon" +description="Prometheus exporter for Unbound DNS resolver" +command=/usr/bin/unbound-telemetry +command_args="${unbound_telemetry_args}" +command_user="unbound-telemetry:unbound-telemetry" + +supervisor=supervise-daemon +output_logger="logger -p daemon.info -t ${RC_SVCNAME}.stdout --" +error_logger="logger -p daemon.err -t ${RC_SVCNAME}.error --" + +depend() { + use unbound +} diff --git a/app-metrics/unbound-telemetry/metadata.xml b/app-metrics/unbound-telemetry/metadata.xml new file mode 100644 index 000000000000..56e379f48d61 --- /dev/null +++ b/app-metrics/unbound-telemetry/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>chutzpah@gentoo.org</email> + <name>Patrick McLean</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/app-metrics/unbound-telemetry/unbound-telemetry-0.1.0_pre20210920-r1.ebuild b/app-metrics/unbound-telemetry/unbound-telemetry-0.1.0_pre20210920-r1.ebuild new file mode 100644 index 000000000000..2c009a021830 --- /dev/null +++ b/app-metrics/unbound-telemetry/unbound-telemetry-0.1.0_pre20210920-r1.ebuild @@ -0,0 +1,159 @@ +# Copyright 2017-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +[[ ${PV} == *_pre???????? ]] && \ + COMMIT="19e53b05828a43b7062b67a9cc6c84836ca26439" + + CRATES=" + ansi_term@0.11.0 + approx@0.5.0 + async-trait@0.1.51 + atty@0.2.14 + autocfg@1.0.1 + bitflags@1.3.2 + bytes@0.5.6 + bytes@1.1.0 + cc@1.0.70 + cfg-if@0.1.10 + cfg-if@1.0.0 + claim@0.5.0 + clap@2.33.3 + core-foundation@0.6.4 + core-foundation-sys@0.6.2 + domain@0.6.1 + dtoa@0.4.8 + fnv@1.0.7 + foreign-types@0.3.2 + foreign-types-shared@0.1.1 + fuchsia-zircon@0.3.3 + fuchsia-zircon-sys@0.3.3 + futures-channel@0.3.17 + futures-core@0.3.17 + futures-sink@0.3.17 + futures-task@0.3.17 + futures-util@0.3.17 + getrandom@0.2.3 + h2@0.2.7 + hashbrown@0.11.2 + heck@0.3.3 + hermit-abi@0.1.19 + http@0.2.4 + http-body@0.3.1 + httparse@1.5.1 + httpdate@0.3.2 + hyper@0.13.10 + indexmap@1.7.0 + iovec@0.1.4 + itoa@0.4.8 + kernel32-sys@0.2.2 + lazy_static@1.4.0 + libc@0.2.102 + log@0.4.14 + memchr@2.4.1 + mio@0.6.23 + mio-uds@0.6.8 + miow@0.2.2 + net2@0.2.37 + num-traits@0.2.14 + once_cell@1.8.0 + openssl@0.10.36 + openssl-probe@0.1.4 + openssl-sys@0.9.66 + openssl-src@111.16.0+1.1.1l + pin-project@1.0.8 + pin-project-internal@1.0.8 + pin-project-lite@0.1.12 + pin-project-lite@0.2.7 + pin-utils@0.1.0 + pkg-config@0.3.19 + ppv-lite86@0.2.10 + proc-macro-error@1.0.4 + proc-macro-error-attr@1.0.4 + proc-macro2@1.0.29 + quote@1.0.9 + rand@0.8.4 + rand_chacha@0.3.1 + rand_core@0.6.3 + rand_hc@0.3.1 + redox_syscall@0.2.10 + remove_dir_all@0.5.3 + schannel@0.1.19 + security-framework@0.3.4 + security-framework-sys@0.3.3 + signal-hook-registry@1.4.0 + simple_logger@1.13.0 + slab@0.4.4 + socket2@0.3.19 + strsim@0.8.0 + structopt@0.3.23 + structopt-derive@0.4.16 + syn@1.0.76 + tempfile@3.2.0 + textwrap@0.11.0 + tokio@0.2.25 + tokio-macros@0.2.6 + tokio-tls@0.3.1 + tokio-util@0.3.1 + tower-service@0.3.1 + tracing@0.1.28 + tracing-core@0.1.20 + tracing-futures@0.2.5 + try-lock@0.2.3 + unicode-segmentation@1.8.0 + unicode-width@0.1.9 + unicode-xid@0.2.2 + vcpkg@0.2.15 + vec_map@0.8.2 + version_check@0.9.3 + want@0.3.0 + wasi@0.10.2+wasi-snapshot-preview1 + winapi@0.2.8 + winapi@0.3.9 + winapi-build@0.1.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + ws2_32-sys@0.2.1 +" + +inherit cargo + +RUST_NATIVE_TLS_COMMIT="255dd5493b446755a9e40be3a4638afedfe67b03" +DESCRIPTION="Prometheus exporter for Unbound DNS resolver" +HOMEPAGE="https://github.com/svartalf/unbound-telemetry" +SRC_URI=" + https://github.com/svartalf/unbound-telemetry/archive/${COMMIT:-${PV}}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} + https://github.com/Goirad/rust-native-tls/archive/${RUST_NATIVE_TLS_COMMIT}.tar.gz -> rust-native-tls-${RUST_NATIVE_TLS_COMMIT}.crate +" +S="${WORKDIR}/${PN}-${COMMIT:-${PV}}" + +LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unlicense" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + acct-group/unbound-telemetry + acct-user/unbound-telemetry +" + +DOCS=( + README.md +) + +src_prepare() { + # Ensure Cargo is satisfied with the manually downloaded rust-native-tls + # Upstream use a fork *and* a certain branch + sed -i -e '/pkcs8/d' Cargo.toml || die + + default +} + +src_install() { + cargo_src_install + + dodoc "${DOCS[@]}" + newinitd "${FILESDIR}/initd" "${PN}" + newconfd "${FILESDIR}/confd" "${PN}" +} |
