pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

alertmanager: finish up package. Add rc script.



Module Name:	pkgsrc-wip
Committed By:	Tobias Nygren <tnn%NetBSD.org@localhost>
Pushed By:	tnn
Date:		Mon Aug 24 01:51:17 2026 +0200
Changeset:	00bc627401394f64990695038ec300488cdb2d47

Modified Files:
	alertmanager/Makefile
	alertmanager/PLIST
Added Files:
	alertmanager/files/alertmanager.sh

Log Message:
alertmanager: finish up package. Add rc script.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=00bc627401394f64990695038ec300488cdb2d47

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 alertmanager/Makefile              | 26 +++++++++++++++++-
 alertmanager/PLIST                 |  1 +
 alertmanager/files/alertmanager.sh | 54 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 80 insertions(+), 1 deletion(-)

diffs:
diff --git a/alertmanager/Makefile b/alertmanager/Makefile
index 9c81bcc962..3a2ccf7d25 100644
--- a/alertmanager/Makefile
+++ b/alertmanager/Makefile
@@ -18,6 +18,27 @@ SITES.${FE_DISTNAME}=		https://github.com/prometheus/alertmanager/releases/downl
 EXTRACT_DIR.${FE_DISTNAME}=	${WRKSRC}/ui/app
 EXTRACT_ONLY=			${DEFAULT_DISTFILES} ${FE_DISTNAME}
 
+EXAMPLE_DIR=		share/examples/alertmanager
+DATADIR=		${VARBASE}/lib/alertmanager
+LOGDIR=			${VARBASE}/log/alertmanager
+
+BUILD_DEFS+=		VARBASE PROMETHEUS_USER PROMETHEUS_GROUP
+FILES_SUBST+=		PROMETHEUS_USER=${PROMETHEUS_USER:Q}
+FILES_SUBST+=		PROMETHEUS_GROUP=${PROMETHEUS_GROUP:Q}
+FILES_SUBST+=		DATADIR=${DATADIR:Q}
+FILES_SUBST+=		LOGDIR=${LOGDIR:Q}
+
+OWN_DIRS_PERMS+=	${DATADIR} ${PROMETHEUS_USER} ${PROMETHEUS_GROUP} 0700
+OWN_DIRS_PERMS+=	${LOGDIR} ${PROMETHEUS_USER} ${PROMETHEUS_GROUP} 0700
+PKG_USERS_VARS+=	PROMETHEUS_USER
+PKG_GROUPS_VARS+=	PROMETHEUS_GROUP
+PKG_GROUPS=		${PROMETHEUS_GROUP}
+PKG_USERS=		${PROMETHEUS_USER}:${PROMETHEUS_GROUP}
+RCD_SCRIPTS=		alertmanager
+
+INSTALLATION_DIRS+=	${EXAMPLE_DIR}
+CONF_FILES_PERMS+=	${EXAMPLE_DIR}/simple.yml ${PKG_SYSCONFDIR}/alertmanager.yml ${PROMETHEUS_USER} ${PROMETHEUS_GROUP} 0640
+
 GOFLAGS+=		-ldflags " \
 			-X github.com/prometheus/common/version.Version=${PKGVERSION_NOREV} \
 			-X github.com/prometheus/common/version.Revision=${PKGVERSION} \
@@ -29,7 +50,10 @@ GOFLAGS+=		-ldflags " \
 GO_BUILD_PATTERN+=	./cmd/alertmanager
 GO_BUILD_PATTERN+=	./cmd/amtool
 
-.include "go-modules.mk"
+post-install:
+	${INSTALL_DATA} ${WRKSRC}/doc/examples/simple.yml \
+	  ${DESTDIR}${PREFIX}/${EXAMPLE_DIR}/.
 
+.include "go-modules.mk"
 .include "../../lang/go/go-module.mk"
 .include "../../mk/bsd.pkg.mk"
diff --git a/alertmanager/PLIST b/alertmanager/PLIST
index ede1e3c736..3e9cb994d5 100644
--- a/alertmanager/PLIST
+++ b/alertmanager/PLIST
@@ -1,3 +1,4 @@
 @comment $NetBSD$
 bin/alertmanager
 bin/amtool
+share/examples/alertmanager/simple.yml
diff --git a/alertmanager/files/alertmanager.sh b/alertmanager/files/alertmanager.sh
new file mode 100644
index 0000000000..8870721ab1
--- /dev/null
+++ b/alertmanager/files/alertmanager.sh
@@ -0,0 +1,54 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD$
+#
+# PROVIDE: alertmanager
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+#
+# Consider installing pkgtools/rc.subr in unprivileged.
+#
+# You will need to set some variables in @SYSCONFBASE@/rc.conf to start alertmanager:
+#
+# alertmanager=YES
+
+if [ -f @SYSCONFBASE@/rc.subr ]; then
+	$_rc_subr_loaded . @SYSCONFBASE@/rc.subr
+fi
+
+name="alertmanager"
+rcvar=$name
+alertmanager_user="@PROMETHEUS_USER@"
+alertmanager_group="@PROMETHEUS_GROUP@"
+command="@PREFIX@/bin/alertmanager"
+command_args=">> @LOGDIR@/alertmanager.log 2>&1 &"
+alertmanager_flags=${alertmanager_flags:-"--config.file=@PKG_SYSCONFDIR@/alertmanager.yml --storage.path=@DATADIR@ --web.listen-address=127.0.0.1:9093 --log.level=error"}
+
+if [ -f @SYSCONFBASE@/rc.subr -a -d @SYSCONFBASE@/rc.d -a -f @SYSCONFBASE@/rc.d/DAEMON ]; then
+	load_rc_config $name
+	run_rc_command "$1"
+else
+	if [ -f @SYSCONFBASE@/rc.conf ]; then
+		. @SYSCONFBASE@/rc.conf
+	fi
+	case "$1" in
+	start)
+		if [ -r "${pidfile}" ]; then
+			@ECHO@ "Already running ${name}."
+		else
+			@ECHO@ "Starting ${name}."
+			eval ${command} ${command_args}
+		fi
+		;;
+	stop)
+		if [ -r "${pidfile}" ]; then
+			@ECHO@ "Stopping ${name}."
+			kill `@CAT@ "${pidfile}"` && @RM@ "${pidfile}"
+		fi
+		;;
+	*)
+		@ECHO@ "Usage: $0 {start|stop}" 1>&2
+		exit 10
+		;;
+	esac
+fi


Home | Main Index | Thread Index | Old Index