git: 237cbc12220c - main - sysutils/ipmi_exporter: New Port
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 07 Nov 2022 18:05:26 UTC
The branch main has been updated by ygy: URL: https://cgit.FreeBSD.org/ports/commit/?id=237cbc12220cc789e21d75cda4622e090b534f3f commit 237cbc12220cc789e21d75cda4622e090b534f3f Author: Goran Mekić <meka@tilda.center> AuthorDate: 2022-11-07 18:05:15 +0000 Commit: Guangyuan Yang <ygy@FreeBSD.org> CommitDate: 2022-11-07 18:05:15 +0000 sysutils/ipmi_exporter: New Port Changelog: https://github.com/prometheus-community/ipmi_exporter PR: 267578 --- sysutils/Makefile | 1 + sysutils/ipmi_exporter/Makefile | 29 +++++++++++++++++++++++ sysutils/ipmi_exporter/distinfo | 5 ++++ sysutils/ipmi_exporter/files/ipmi_exporter.in | 34 +++++++++++++++++++++++++++ sysutils/ipmi_exporter/pkg-descr | 5 ++++ 5 files changed, 74 insertions(+) diff --git a/sysutils/Makefile b/sysutils/Makefile index 378cf179681b..a59b7afef052 100644 --- a/sysutils/Makefile +++ b/sysutils/Makefile @@ -567,6 +567,7 @@ SUBDIR += ipfs-go-fs-repo-migrations SUBDIR += ipget SUBDIR += ipmitool + SUBDIR += ipmi_exporter SUBDIR += ipsc SUBDIR += isc-cron SUBDIR += isomaster diff --git a/sysutils/ipmi_exporter/Makefile b/sysutils/ipmi_exporter/Makefile new file mode 100644 index 000000000000..15f34ae9687e --- /dev/null +++ b/sysutils/ipmi_exporter/Makefile @@ -0,0 +1,29 @@ +PORTNAME= ipmi_exporter +DISTVERSIONPREFIX= v +DISTVERSION= 1.6.1 +CATEGORIES= sysutils + +MAINTAINER= meka@tilda.center +COMMENT= IPMI exporter for Prometheus +WWW= https://github.com/prometheus-community/ipmi_exporter + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +LIB_DEPENDS= libfreeipmi.so:sysutils/freeipmi + +USES= go:modules +USE_RC_SUBR= ${PORTNAME} + +GO_MODULE= github.com/prometheus-community/${PORTNAME} + +PLIST_FILES= bin/${PORTNAME} \ + etc/${PORTNAME}/ipmi_local.yml.sample \ + etc/${PORTNAME}/ipmi_remote.yml.sample + +post-install: + @${MKDIR} ${STAGEDIR}${ETCDIR} + ${INSTALL_DATA} ${WRKSRC}/ipmi_local.yml ${STAGEDIR}${ETCDIR}/ipmi_local.yml.sample + ${INSTALL_DATA} ${WRKSRC}/ipmi_remote.yml ${STAGEDIR}${ETCDIR}/ipmi_remote.yml.sample + +.include <bsd.port.mk> diff --git a/sysutils/ipmi_exporter/distinfo b/sysutils/ipmi_exporter/distinfo new file mode 100644 index 000000000000..03dfd1ddfcbe --- /dev/null +++ b/sysutils/ipmi_exporter/distinfo @@ -0,0 +1,5 @@ +TIMESTAMP = 1661430489 +SHA256 (go/sysutils_ipmi_exporter/ipmi_exporter-v1.6.1/v1.6.1.mod) = fb908a34735a343073c6dfd6b58660577da1d42b6dc662a23dfa133e22c6a349 +SIZE (go/sysutils_ipmi_exporter/ipmi_exporter-v1.6.1/v1.6.1.mod) = 1398 +SHA256 (go/sysutils_ipmi_exporter/ipmi_exporter-v1.6.1/v1.6.1.zip) = 79cc9c0a435d3f2aa124ee85b6bfa0aa95a1fd2843dfc8a995880773b8529016 +SIZE (go/sysutils_ipmi_exporter/ipmi_exporter-v1.6.1/v1.6.1.zip) = 57539 diff --git a/sysutils/ipmi_exporter/files/ipmi_exporter.in b/sysutils/ipmi_exporter/files/ipmi_exporter.in new file mode 100644 index 000000000000..da8e1c4b16ac --- /dev/null +++ b/sysutils/ipmi_exporter/files/ipmi_exporter.in @@ -0,0 +1,34 @@ +#!/bin/sh + +# PROVIDE: ipmi_exporter +# REQUIRE: LOGIN +# KEYWORD: shutdown +# +# Add the following lines to /etc/rc.conf.local or /etc/rc.conf +# to enable this service: +# +# ipmi_exporter_enable (bool): Set to YES to enable the IPMI exporter. +# Default: NO +# ipmi_exporter_config (str): Set to the path of configuration file. +# Default: "" + +. /etc/rc.subr +name=ipmi_exporter +rcvar=${name}_enable +load_rc_config $name + +: ${impi_exporter_enable:="NO"} +: ${impi_exporter_config:=""} + +pidfile="/var/run/${name}.pid" +command="/usr/sbin/daemon" +procname="%%PREFIX%%/bin/${name}" +command_args="-S -p ${pidfile} ${procname} --config.file=\"${impi_exporter_config}\"" +start_precmd="${name}_precmd" + +ipmi_exporter_precmd() +{ + export PATH=${PATH}:/usr/local/sbin +} + +run_rc_command "$1" diff --git a/sysutils/ipmi_exporter/pkg-descr b/sysutils/ipmi_exporter/pkg-descr new file mode 100644 index 000000000000..2c19bc0f0e71 --- /dev/null +++ b/sysutils/ipmi_exporter/pkg-descr @@ -0,0 +1,5 @@ +IPMI exporter for Prometheus. +It supports both the regular /metrics endpoint, exposing metrics from the host +that the exporter is running on, as well as an /ipmi endpoint that supports +IPMI over RMCP - one exporter running on one host can be used to monitor a +large number of IPMI interfaces by passing the target parameter to a scrape.