diff --git a/net-mgmt/prometheus2/Makefile b/net-mgmt/prometheus2/Makefile index e6300c5073b5..4eebe46882f1 100644 --- a/net-mgmt/prometheus2/Makefile +++ b/net-mgmt/prometheus2/Makefile @@ -1,86 +1,85 @@ PORTNAME= prometheus DISTVERSIONPREFIX= v -DISTVERSION= 2.47.1 -PORTREVISION= 2 +DISTVERSION= 2.49.1 CATEGORIES= net-mgmt MASTER_SITES= https://raw.githubusercontent.com/${GH_ACCOUNT}/${GH_PROJECT}/${DISTVERSIONFULL}/:gomod \ https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/releases/download/${DISTVERSIONFULL}/:ui DISTFILES= go.mod:gomod ${PORTNAME}-web-ui-${DISTVERSION}.tar.gz:ui MAINTAINER= dor.bsd@xm0.uk COMMENT= Systems monitoring and alerting toolkit WWW= https://prometheus.io/ LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE PATCH_DEPENDS= bash:shells/bash USES= cpe gmake go:modules USE_GITHUB= yes USE_RC_SUBR= prometheus GO_MODULE= github.com/prometheus/prometheus GO_TARGET= ./cmd/prometheus ./cmd/promtool GO_BUILDFLAGS= -a -v -ldflags "${LD_FLAG_STRING}" -tags netgo,builtinassets SUB_LIST+= PROMETHEUS_CONSOLE_LIBRARIES_DIR=${PROMETHEUS_CONSOLE_LIBRARIES_DIR} \ PROMETHEUS_CONSOLES_DIR=${PROMETHEUS_CONSOLES_DIR} \ PROMETHEUS_DB_DIR=${PROMETHEUS_DB_DIR} \ PROMETHEUS_GROUP=${PROMETHEUS_GROUP} \ PROMETHEUS_USER=${PROMETHEUS_USER} USERS= ${PROMETHEUS_USER} GROUPS= ${PROMETHEUS_GROUP} PLIST_SUB+= PROMETHEUS_CONSOLE_LIBRARIES_DIR=${PROMETHEUS_CONSOLE_LIBRARIES_DIR} \ PROMETHEUS_CONSOLES_DIR=${PROMETHEUS_CONSOLES_DIR} \ PROMETHEUS_GROUP=${PROMETHEUS_GROUP} \ PROMETHEUS_USER=${PROMETHEUS_USER} OPTIONS_DEFINE= DOCS BUILD_USER?= ${USER} LD_FLAG_STRING= -s ${LD_FLAG_X_PREFIX}.Version=${PORTVERSION} \ ${LD_FLAG_X_PREFIX}.Revision=${PORTREVISION} \ ${LD_FLAG_X_PREFIX}.Branch=release-${PORTVERSION:R} \ ${LD_FLAG_X_PREFIX}.BuildUser=${BUILD_USER} \ ${LD_FLAG_X_PREFIX}.BuildDate=${SOURCE_DATE_EPOCH:U${SOURCE_DATE_EPOCH_CMD:sh}} LD_FLAG_X_PREFIX= -X github.com/prometheus/common/version PROMETHEUS_CONSOLES_DIR?= ${DATADIR}/consoles PROMETHEUS_CONSOLE_LIBRARIES_DIR?= ${DATADIR}/console_libraries PROMETHEUS_DB_DIR?= /var/db/${PORTNAME} PROMETHEUS_GROUP?= prometheus PROMETHEUS_USER?= prometheus # Bring DISTINFO_FILE into scope so we can get the timestamp. .include SOURCE_DATE_EPOCH_CMD= date -ur $$(${GREP} TIMESTAMP ${DISTINFO_FILE} | ${SED} -e 's/[^0-9]//g') \ '+%Y%m%d-%T' post-patch: @${RM} -rf ${WRKSRC}/web/ui/static # A symlink isn't good enough here, copy the entire static directory over @${CP} -a ${WRKDIR}/static ${WRKSRC}/web/ui/static @( cd ${WRKSRC} && ${WRKSRC}/scripts/compress_assets.sh ) post-install: ${MKDIR} ${STAGEDIR}${DESTDIR}${PROMETHEUS_CONSOLES_DIR} ${MKDIR} ${STAGEDIR}${DESTDIR}${PROMETHEUS_CONSOLE_LIBRARIES_DIR} ${INSTALL_DATA} \ ${WRKSRC}/documentation/examples/prometheus.yml \ ${STAGEDIR}${LOCALBASE}/etc/prometheus.yml.sample ( cd ${WRKSRC}/console_libraries \ && ${COPYTREE_SHARE} . ${STAGEDIR}${PROMETHEUS_CONSOLE_LIBRARIES_DIR} ) ( cd ${WRKSRC}/consoles \ && ${COPYTREE_SHARE} . ${STAGEDIR}${PROMETHEUS_CONSOLES_DIR} ) post-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} @( cd ${WRKSRC}/docs \ && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} ) .include diff --git a/net-mgmt/prometheus2/distinfo b/net-mgmt/prometheus2/distinfo index e2aa7cb3bf90..f3f6a1d8d818 100644 --- a/net-mgmt/prometheus2/distinfo +++ b/net-mgmt/prometheus2/distinfo @@ -1,7 +1,7 @@ -TIMESTAMP = 1696674105 -SHA256 (go/net-mgmt_prometheus2/prometheus-prometheus-v2.47.1_GH0/go.mod) = 7ecfafcca3a934253beb3b928905606dcda5a3bf9385271208b790fe2246f3d7 -SIZE (go/net-mgmt_prometheus2/prometheus-prometheus-v2.47.1_GH0/go.mod) = 9657 -SHA256 (go/net-mgmt_prometheus2/prometheus-prometheus-v2.47.1_GH0/prometheus-web-ui-2.47.1.tar.gz) = 360570c4a85a83f69c139b1d3f7f75d02b8659559f9934a75d24b3b448cba1bb -SIZE (go/net-mgmt_prometheus2/prometheus-prometheus-v2.47.1_GH0/prometheus-web-ui-2.47.1.tar.gz) = 2420839 -SHA256 (go/net-mgmt_prometheus2/prometheus-prometheus-v2.47.1_GH0/prometheus-prometheus-v2.47.1_GH0.tar.gz) = 2fbbdd907453d7448114e55d6074dbdfb046410ee21e03b937ab51287c4384fa -SIZE (go/net-mgmt_prometheus2/prometheus-prometheus-v2.47.1_GH0/prometheus-prometheus-v2.47.1_GH0.tar.gz) = 6335122 +TIMESTAMP = 1708263208 +SHA256 (go/net-mgmt_prometheus2/prometheus-prometheus-v2.49.1_GH0/go.mod) = 6ecc22e2c39aa282a5a4a03f3dab45decaa9232649d10dcdda1dfce513798ce1 +SIZE (go/net-mgmt_prometheus2/prometheus-prometheus-v2.49.1_GH0/go.mod) = 9568 +SHA256 (go/net-mgmt_prometheus2/prometheus-prometheus-v2.49.1_GH0/prometheus-web-ui-2.49.1.tar.gz) = 707333bbbfd6aae46f6c252502ce14e8facb3f83c08a07583b235bbf13687880 +SIZE (go/net-mgmt_prometheus2/prometheus-prometheus-v2.49.1_GH0/prometheus-web-ui-2.49.1.tar.gz) = 2419051 +SHA256 (go/net-mgmt_prometheus2/prometheus-prometheus-v2.49.1_GH0/prometheus-prometheus-v2.49.1_GH0.tar.gz) = 985d7f45ed3d16e23a30eae490c17911518fae96cba0245d493eb07097a10b3b +SIZE (go/net-mgmt_prometheus2/prometheus-prometheus-v2.49.1_GH0/prometheus-prometheus-v2.49.1_GH0.tar.gz) = 6091825 diff --git a/net-mgmt/prometheus2/files/prometheus.in b/net-mgmt/prometheus2/files/prometheus.in index 7171ec94472b..a89342d038e7 100644 --- a/net-mgmt/prometheus2/files/prometheus.in +++ b/net-mgmt/prometheus2/files/prometheus.in @@ -1,141 +1,151 @@ #!/bin/sh # PROVIDE: prometheus # REQUIRE: LOGIN # KEYWORD: shutdown # # Add the following lines to /etc/rc.conf.local or /etc/rc.conf # to enable this service: # # prometheus_enable (bool) # Set it to YES to enable prometheus # Set to NO by default # prometheus_user (string) # Set user that prometheus will run under # Default is "%%PROMETHEUS_USER%%" # prometheus_group (string) # Set group that own prometheus files # Default is "%%PROMETHEUS_GROUP%%" # prometheus_config (string) # Set full path to config file # Default is "%%PREFIX%%/etc/prometheus.yml" # prometheus_pidfile (string) # Set full path to pid file # Default is "/var/run/prometheus.pid" # prometheus_syslog_output_enable (bool) # Set it to NO to disable syslog output # Set to YES by default # prometheus_syslog_output_tag (str) # Set syslog tag if syslog enabled # Default is "prometheus" # prometheus_syslog_output_priority (string) # Set syslog priority if syslog enabled # Default is "info" # prometheus_syslog_output_facility (string) # Set syslog facility if syslog enabled # Default is "daemon" +# prometheus_agent_mode (bool) +# Set to "YES" to enable Prometheus Agent Mode +# Default is "NO" # prometheus_consoles (string) # Set dir that contains Prometheus consoles # Default is "%%PROMETHEUS_CONSOLES_DIR%%" # prometheus_console_libraries (string) # Set dir containing Prometheus console libraries # Default is "%%PROMETHEUS_CONSOLE_LIBRARIES_DIR%%" # prometheus_data_dir (string) # Set dir to run prometheus in # Default is "%%PROMETHEUS_DB_DIR%%" # prometheus_loglevel (string) # Set one of [debug, info, warn, error] # Default is "info" # prometheus_logformat (string) # Set one of [logfmt, json] # Default is "logfmt" # prometheus_env (string) # Set environment variables used with prometheus # Default is "" # prometheus_args (string) # Set additional command line arguments # Default is "" . /etc/rc.subr name=prometheus rcvar=prometheus_enable load_rc_config $name : ${prometheus_enable:="NO"} : ${prometheus_user:="%%PROMETHEUS_USER%%"} : ${prometheus_group:="%%PROMETHEUS_GROUP%%"} : ${prometheus_config:="%%PREFIX%%/etc/prometheus.yml"} : ${prometheus_pidfile:="/var/run/prometheus.pid"} : ${prometheus_syslog_output_enable:="YES"} +: ${prometheus_agent_mode:="NO"} : ${prometheus_consoles_dir:="%%PROMETHEUS_CONSOLES_DIR%%"} : ${prometheus_console_libraries_dir:="%%PROMETHEUS_CONSOLE_LIBRARIES_DIR%%"} : ${prometheus_data_dir:="%%PROMETHEUS_DB_DIR%%"} : ${prometheus_loglevel:="info"} : ${prometheus_logformat:="logfmt"} if checkyesno prometheus_syslog_output_enable; then if [ -n "${prometheus_syslog_output_tag}" ]; then prometheus_syslog_output_flags="-T ${prometheus_syslog_output_tag}" else prometheus_syslog_output_flags="-T ${name}" fi if [ -n "${prometheus_syslog_output_priority}" ]; then prometheus_syslog_output_flags="${prometheus_syslog_output_flags} -s ${prometheus_syslog_output_priority}" fi if [ -n "${prometheus_syslog_output_facility}" ]; then prometheus_syslog_output_flags="${prometheus_syslog_output_flags} -l ${prometheus_syslog_output_facility}" fi fi +if checkyesno prometheus_agent_mode; then + prometheus_storage_flags="--enable-feature=agent --storage.agent.path=${prometheus_data_dir}" +else + prometheus_storage_flags="--storage.tsdb.path=${prometheus_data_dir}" +fi + pidfile="${prometheus_pidfile}" required_files="${prometheus_config}" procname="%%PREFIX%%/bin/prometheus" command="/usr/sbin/daemon" command_args="-f ${prometheus_syslog_output_flags} -p ${pidfile} -t ${name} \ /usr/bin/env ${prometheus_env} ${procname} \ --config.file=${prometheus_config} \ --web.console.templates=${prometheus_consoles_dir} \ --web.console.libraries=${prometheus_console_libraries_dir} \ - --storage.tsdb.path=${prometheus_data_dir} \ --log.level=${prometheus_loglevel} \ --log.format=${prometheus_logformat} \ + ${prometheus_storage_flags} \ ${prometheus_args}" start_precmd="prometheus_start_precmd" extra_commands="reload" # This checks for the existence of a prometheus 1.x data at the # $prometheus_data_dir location. If one is found, Prometheus will not start. prometheus_check_data_version() { local _version local _version_file="${prometheus_data_dir}/VERSION" if [ -f "${_version_file}" ]; then read _version < "${_version_file}" if [ "${_version}" = "1" ]; then return 1 fi fi } prometheus_start_precmd() { if [ ! -e "${pidfile}" ]; then install -m 0600 -o "${prometheus_user}" -g "${prometheus_group}" /dev/null "${pidfile}" fi if [ ! -d "${prometheus_data_dir}" ]; then install -d -m 750 -o "${prometheus_user}" -g "${prometheus_group}" "${prometheus_data_dir}" else # Ensure it's not a prometheus 1.x data if [ ! prometheus_check_data_version ]; then err 1 "Found \"net-mgmt/prometheus1\" data, refusing to start." fi fi } run_rc_command "$1"