Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 May 2026 17:54:03 +0000
From:      Bernhard Froehlich <decke@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Cc:        Zach Leslie <zach.leslie@grafana.com>
Subject:   git: 6f38f202cac5 - main - sysutils/alloy: Update to 1.13.1 and fix two bugs in rc script
Message-ID:  <6a0df53b.24636.450b22ba@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by decke:

URL: https://cgit.FreeBSD.org/ports/commit/?id=6f38f202cac5be6215217302c334942ebdf0226c

commit 6f38f202cac5be6215217302c334942ebdf0226c
Author:     Zach Leslie <zach.leslie@grafana.com>
AuthorDate: 2026-05-20 17:48:36 +0000
Commit:     Bernhard Froehlich <decke@FreeBSD.org>
CommitDate: 2026-05-20 17:52:22 +0000

    sysutils/alloy: Update to 1.13.1 and fix two bugs in rc script
    
    PR:             292472, 294288
    Reviewed by:    fuz@ (earlier revision)
    Pull Request:   https://github.com/freebsd/freebsd-ports/pull/488
---
 sysutils/alloy/Makefile       | 51 ++++++++++++++++++++++++++++++++++---------
 sysutils/alloy/distinfo       | 12 +++++-----
 sysutils/alloy/files/alloy.in | 30 ++++++++++++++++++++++++-
 3 files changed, 75 insertions(+), 18 deletions(-)

diff --git a/sysutils/alloy/Makefile b/sysutils/alloy/Makefile
index 266cfbbd5aa9..365ce5cb4ba7 100644
--- a/sysutils/alloy/Makefile
+++ b/sysutils/alloy/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	alloy
 DISTVERSIONPREFIX=	v
-DISTVERSION=	1.10.2
-PORTREVISION=	11
+DISTVERSION=	1.13.1
 CATEGORIES=	sysutils
 
 MAINTAINER=	zach.leslie@grafana.com
@@ -10,30 +9,62 @@ WWW=		https://github.com/grafana/alloy
 
 LICENSE=	MIT
 
-USES=		go:modules
+# no_targets: we supply do-build/do-install for the collector submodule.
+USES=		go:modules,no_targets
 
 USE_GITHUB=	yes
 GH_ACCOUNT=	grafana
 
+# Fetch go.mod from GitHub rather than GOPROXY so the framework does not
+# also download a GOPROXY zip, which would conflict with the GitHub tarball
+# WRKSRC.  With GO_MOD_DIST=github, go.mk skips the GOPROXY zip and leaves
+# WRKSRC set correctly by USE_GITHUB.
+GO_MOD_DIST=	github
+
 USE_RC_SUBR=	${PORTNAME}
 
 GO_MODULE=	github.com/${GH_ACCOUNT}/${GH_PROJECT}
-GO_PKGNAME=	github.com/${GH_ACCOUNT}/${GH_PROJECT}
-GO_TARGET=	github.com/${GH_ACCOUNT}/${GH_PROJECT}
 GO_BUILDFLAGS=	-ldflags='-X github.com/grafana/alloy/internal/build.Version=${GH_TAGNAME}'
 
+# The main go.mod has "replace ./syntax => ./syntax".  go-post-fetch (800)
+# runs go mod download from DIST_SUBDIR and needs syntax/go.mod present.
+# post-fetch runs at priority 700, after do-fetch (500) downloads the tarball.
 post-fetch:
-	@${ECHO_MSG} "===> Fetching ${GO_MODNAME}/syntax dependency"
-	(cd ${DISTDIR}/${DIST_SUBDIR}; [ -e syntax/go.mod ] || (\
+	@(cd ${DISTDIR}/${DIST_SUBDIR}; [ -e syntax/go.mod ] || (\
 		${MKDIR} syntax; \
 		${TAR} -xzf ${DISTNAME}${EXTRACT_SUFX} ${PORTNAME}-${DISTVERSION}/syntax/go.mod; \
 		${CP} ${PORTNAME}-${DISTVERSION}/syntax/go.mod syntax/go.mod))
 
-post-extract:
-	${CP} -r ${WRKDIR}/${PORTNAME}-${DISTVERSION}/syntax ${GO_WRKSRC}
+# collector/ is a separate Go module with its own dependencies.  Download
+# them at fetch time; extract has no network access in poudriere.
+_USES_fetch+=	900:alloy-fetch-collector-deps
+alloy-fetch-collector-deps:
+	@${ECHO_MSG} "===> Fetching collector submodule dependencies"; \
+	td=$$(mktemp -d -t alloy_collector_deps); \
+	trap "rm -rf $$td" 0; \
+	${TAR} -xzf ${DISTDIR}/${DIST_SUBDIR}/${DISTNAME}${EXTRACT_SUFX} -C $$td; \
+	(cd $$td/${PORTNAME}-${DISTVERSION}/collector && \
+		${SETENVI} ${WRK_ENV} GOPATH="${GO_GOPATH}" GO111MODULE=on GOFLAGS=-modcacherw GOSUMDB=sum.golang.org \
+		GOPROXY=${GO_GOPROXY} ${GO_CMD} mod download -x all); \
+	rm -rf $$td
+
+# After go-post-extract (800) vendors the main module, vendor collector/
+# using the module cache populated above.
+_USES_extract+=	900:alloy-vendor-collector
+alloy-vendor-collector:
+	@${ECHO_MSG} "===> Vendoring collector submodule"; \
+	(cd ${WRKSRC}/collector && \
+		${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${GO_ENV} GOPROXY=${GO_MODCACHE} \
+		${GO_CMD} mod vendor -e)
+
+# The alloy binary lives in collector/, a separate Go module.
+do-build:
+	(cd ${WRKSRC}/collector; \
+		${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${GO_ENV} GOMAXPROCS=${MAKE_JOBS_NUMBER} GOPROXY=off \
+		${GO_CMD} build ${GO_BUILDFLAGS} -mod=vendor -o ${GO_WRKDIR_BIN}/alloy .)
 
 do-install:
-	${INSTALL_PROGRAM} ${WRKDIR}/bin/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
+	${INSTALL_PROGRAM} ${GO_WRKDIR_BIN}/alloy ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
 	${INSTALL_DATA} ${WRKSRC}/example-config.alloy ${STAGEDIR}${PREFIX}/etc/alloy.flow.sample
 	${MKDIR} ${STAGEDIR}/var/${PORTNAME}
 
diff --git a/sysutils/alloy/distinfo b/sysutils/alloy/distinfo
index 1ee3ee1fe929..a107e3c4254d 100644
--- a/sysutils/alloy/distinfo
+++ b/sysutils/alloy/distinfo
@@ -1,7 +1,5 @@
-TIMESTAMP = 1756329743
-SHA256 (go/sysutils_alloy/grafana-alloy-v1.10.2_GH0/v1.10.2.mod) = 00055a9dafa0182283fbb801d6bc092ffbec438405c190f3a57010f07783bcaa
-SIZE (go/sysutils_alloy/grafana-alloy-v1.10.2_GH0/v1.10.2.mod) = 67450
-SHA256 (go/sysutils_alloy/grafana-alloy-v1.10.2_GH0/v1.10.2.zip) = c1603f2447f19178e67e906c9dc012a47a77f328c6d3cf997ab1fbeea12ba258
-SIZE (go/sysutils_alloy/grafana-alloy-v1.10.2_GH0/v1.10.2.zip) = 14528199
-SHA256 (go/sysutils_alloy/grafana-alloy-v1.10.2_GH0/grafana-alloy-v1.10.2_GH0.tar.gz) = ed170622458600dd335dbdea12cf88a6bee33df1949a58b31a707b1a84f65b0f
-SIZE (go/sysutils_alloy/grafana-alloy-v1.10.2_GH0/grafana-alloy-v1.10.2_GH0.tar.gz) = 12779185
+TIMESTAMP = 1771875883
+SHA256 (go/sysutils_alloy/grafana-alloy-v1.13.1_GH0/go.mod) = 2664a5fe70d0ccd10783f47038738ced9007fc5f04f2f3252c44a47030218681
+SIZE (go/sysutils_alloy/grafana-alloy-v1.13.1_GH0/go.mod) = 66864
+SHA256 (go/sysutils_alloy/grafana-alloy-v1.13.1_GH0/grafana-alloy-v1.13.1_GH0.tar.gz) = 46bad79b5ba502d93c57b4dfe59aadc362cda173290760d8da33080552f53d9a
+SIZE (go/sysutils_alloy/grafana-alloy-v1.13.1_GH0/grafana-alloy-v1.13.1_GH0.tar.gz) = 18140497
diff --git a/sysutils/alloy/files/alloy.in b/sysutils/alloy/files/alloy.in
index 68ddee8322ca..87807f014dde 100644
--- a/sysutils/alloy/files/alloy.in
+++ b/sysutils/alloy/files/alloy.in
@@ -19,6 +19,9 @@
 #               Default is "/var/alloy".
 # alloy_args (string):          Set extra arguments to pass to alloy
 #               Default is "".
+# alloy_sig_stop (string):      Signal used to stop alloy. Default "TERM".
+# alloy_stop_timeout (int):     Seconds to wait for graceful stop before SIGKILL.
+#               Default is unset (rc.subr default wait). Set e.g. 30 for a timeout.
 
 . /etc/rc.subr
 
@@ -33,15 +36,24 @@ load_rc_config $name
 : ${alloy_args:=""}
 : ${alloy_storage_path:="/var/alloy"}
 : ${alloy_listen_address:=":9200"}
+: ${alloy_sig_stop:="TERM"}
+: ${alloy_stop_timeout:=}
 
 pidfile=/var/run/alloy.pid
 command="/usr/sbin/daemon"
 procname="%%PREFIX%%/bin/alloy"
 run="run /usr/local/etc/alloy.flow"
-command_args="-S -T ${name} -p ${pidfile} /usr/bin/env ${procname} ${run} \
+command_args="-f -S -T ${name} -p ${pidfile} /usr/bin/env ${procname} ${run} \
     --storage.path=${alloy_storage_path} --server.http.listen-addr=${alloy_listen_address} ${alloy_args}"
 
+# Alloy reloads config on SIGHUP (see /-/reload and internal/alloycli/cmd_run.go).
+sig_stop="${alloy_sig_stop}"
+sig_reload="HUP"
+extra_commands="reload"
+
 start_precmd=alloy_startprecmd
+stop_postcmd=alloy_stoppostcmd
+[ -n "${alloy_stop_timeout}" ] && stop_cmd="alloy_stop"
 
 alloy_startprecmd() {
   if [ ! -e ${pidfile} ]; then
@@ -49,5 +61,21 @@ alloy_startprecmd() {
   fi
 }
 
+alloy_stoppostcmd() {
+  rm -f ${pidfile}
+}
+
+alloy_stop() {
+  rc_pid=$(check_pidfile "${pidfile}" "${procname}")
+  if [ -z "${rc_pid}" ]; then
+    return 0
+  fi
+  echo "Stopping ${name}."
+  kill -${sig_stop} "${rc_pid}"
+  wait_for_pids "${pidfile}" ${alloy_stop_timeout}
+  kill -KILL "${rc_pid}" 2>/dev/null && echo "Killed."
+  rm -f "${pidfile}"
+}
+
 load_rc_config $name
 run_rc_command "$1"


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a0df53b.24636.450b22ba>