View | Details | Raw Unified | Return to bug 228185 | Differences between
and this patch

Collapse All | Expand All

(-)b/net-mgmt/prometheus2/Makefile (-4 / +53 lines)
Lines 16-23 GO_PKGNAME= github.com/${GH_ACCOUNT}/${GH_PROJECT} Link Here
16
USE_GITHUB=	yes
16
USE_GITHUB=	yes
17
USE_RC_SUBR=	prometheus
17
USE_RC_SUBR=	prometheus
18
18
19
USERS=		prometheus
19
PROMETHEUS_USER?=	prometheus
20
GROUPS=		prometheus
20
PROMETHEUS_GROUP?=	prometheus
21
22
USERS=		${PROMETHEUS_USER}
23
GROUPS=		${PROMETHEUS_GROUP}
24
25
PROMETHEUS_BINARIES=				prometheus promtool
26
PROMETHEUS_SHARE_DIR=				${DATADIR}
27
PROMETHEUS_CONSOLES_DIR=			${PROMETHEUS_SHARE_DIR}/consoles
28
PROMETHEUS_CONSOLE_LIBRARIES_DIR=	${PROMETHEUS_SHARE_DIR}/console_libraries
29
PROMETHEUS_DB_DIR=					/var/db/${PORTNAME}
30
PROMETHEUS_LOG_DIR=					/var/log/prometheus
31
PROMETHEUS_LOG_FILE=				${PROMETHEUS_LOG_DIR}/prometheus.log
32
33
SUB_FILES=	prometheus \
34
			newsyslog.conf \
35
			syslog.d.conf
36
37
SUB_LIST+=	PROMETHEUS_USER=${PROMETHEUS_USER} \
38
			PROMETHEUS_GROUP=${PROMETHEUS_GROUP} \
39
			PROMETHEUS_CONSOLE_LIBRARIES_DIR=${PROMETHEUS_CONSOLE_LIBRARIES_DIR} \
40
			PROMETHEUS_CONSOLES_DIR=${PROMETHEUS_CONSOLES_DIR} \
41
			PROMETHEUS_DB_DIR=${PROMETHEUS_DB_DIR} \
42
			PROMETHEUS_LOG_DIR=${PROMETHEUS_LOG_DIR} \
43
			PROMETHEUS_LOG_FILE=${PROMETHEUS_LOG_FILE} \
44
			PROMETHEUS_SHARE_DIR=${PROMETHEUS_SHARE_DIR}
45
46
PLIST_SUB+=	PROMETHEUS_CONSOLE_LIBRARIES_DIR=${PROMETHEUS_CONSOLE_LIBRARIES_DIR} \
47
			PROMETHEUS_CONSOLES_DIR=${PROMETHEUS_CONSOLES_DIR} \
48
			PROMETHEUS_DB_DIR=${PROMETHEUS_DB_DIR} \
49
			PROMETHEUS_LOG_DIR=${PROMETHEUS_LOG_DIR}
21
50
22
BUILD_USER?=	${USER}
51
BUILD_USER?=	${USER}
23
LD_FLAG_X_PREFIX=	-X ${GO_PKGNAME}/vendor/${GO_PKGNAME:H}/common/version
52
LD_FLAG_X_PREFIX=	-X ${GO_PKGNAME}/vendor/${GO_PKGNAME:H}/common/version
Lines 26-32 LD_FLAG_STRING= -s \ Link Here
26
				${LD_FLAG_X_PREFIX}.Revision=${PORTREVISION} \
55
				${LD_FLAG_X_PREFIX}.Revision=${PORTREVISION} \
27
				${LD_FLAG_X_PREFIX}.Branch=release-${PORTVERSION:R} \
56
				${LD_FLAG_X_PREFIX}.Branch=release-${PORTVERSION:R} \
28
				${LD_FLAG_X_PREFIX}.BuildUser=${BUILD_USER}
57
				${LD_FLAG_X_PREFIX}.BuildUser=${BUILD_USER}
29
PROMETHEUS_BINARIES=	prometheus promtool
30
58
31
do-build:
59
do-build:
32
.for bin in ${PROMETHEUS_BINARIES}
60
.for bin in ${PROMETHEUS_BINARIES}
Lines 38-47 do-install: Link Here
38
.for bin in ${PROMETHEUS_BINARIES}
66
.for bin in ${PROMETHEUS_BINARIES}
39
	${INSTALL_PROGRAM} ${GO_WRKDIR_BIN}/${bin} ${STAGEDIR}${PREFIX}/bin
67
	${INSTALL_PROGRAM} ${GO_WRKDIR_BIN}/${bin} ${STAGEDIR}${PREFIX}/bin
40
.endfor
68
.endfor
69
41
	${INSTALL_DATA} \
70
	${INSTALL_DATA} \
42
		${WRKSRC}/documentation/examples/prometheus.yml \
71
		${WRKSRC}/documentation/examples/prometheus.yml \
43
		${STAGEDIR}${LOCALBASE}/etc/prometheus.yml.sample
72
		${STAGEDIR}${LOCALBASE}/etc/prometheus.yml.sample
44
73
45
	${MKDIR} ${STAGEDIR}${DESTDIR}/var/db/prometheus
74
	${MKDIR} ${STAGEDIR}${PREFIX}/etc/newsyslog.conf.d
75
	${MKDIR} ${STAGEDIR}${PREFIX}/etc/syslog.d
76
	${MKDIR} ${STAGEDIR}${DESTDIR}${PROMETHEUS_DB_DIR}
77
	${MKDIR} ${STAGEDIR}${DESTDIR}${PROMETHEUS_CONSOLES_DIR}
78
	${MKDIR} ${STAGEDIR}${DESTDIR}${PROMETHEUS_CONSOLE_LIBRARIES_DIR}
79
	${MKDIR} ${STAGEDIR}${PROMETHEUS_LOG_DIR}
80
81
	${INSTALL_DATA} \
82
		${WRKDIR}/newsyslog.conf \
83
		${STAGEDIR}${PREFIX}/etc/newsyslog.conf.d/prometheus.conf
84
85
	${INSTALL_DATA} \
86
		${WRKDIR}/syslog.d.conf \
87
		${STAGEDIR}${PREFIX}/etc/syslog.d/prometheus.conf
88
89
	( cd ${WRKSRC}/console_libraries \
90
		&& ${COPYTREE_SHARE} . ${STAGEDIR}${PROMETHEUS_CONSOLE_LIBRARIES_DIR} \
91
	)
92
	( cd ${WRKSRC}/consoles \
93
		&& ${COPYTREE_SHARE} . ${STAGEDIR}${PROMETHEUS_CONSOLES_DIR} \
94
	)
46
95
47
.include <bsd.port.mk>
96
.include <bsd.port.mk>
(-)b/net-mgmt/prometheus2/files/newsyslog.conf.in (+6 lines)
Added Link Here
1
# newsyslog(8) file for net-mgmt/prometheus2
2
# See newsyslog.conf(5) for details.
3
#
4
# Log file will be rotated daily, and we'll keep 15 days of logs matching the
5
# default Prometheus TSDB retention time.
6
%%PROMETHEUS_LOG_FILE%%	640	15	*	@T00	JC
(-)b/net-mgmt/prometheus2/files/prometheus.in (-26 / +32 lines)
Lines 7-24 Link Here
7
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
7
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
8
# to enable this service:
8
# to enable this service:
9
#
9
#
10
# prometheus_enable (bool):     Set to NO by default
10
# prometheus_enable (bool)
11
#                               Set it to YES to enable prometheus
11
#     Set to NO by default
12
# prometheus_user (string):     Set user to run prometheus
12
#     Set it to YES to enable prometheus
13
#                               Default is "prometheus"
13
# prometheus_user (string)
14
# prometheus_group (string):    Set group to run prometheus
14
#     Set user to run prometheus
15
#                               Default is "prometheus"
15
#     Default is "%%PROMETHEUS_USER%%"
16
# prometheus_data_dir (string): Set dir to run prometheus in
16
# prometheus_group (string)
17
#                               Default is "/var/db/prometheus"
17
#     Set group to run prometheus
18
# prometheus_log_file (string): Set file that prometheus will log to
18
#     Default is "%%PROMETHEUS_GROUP%%"
19
#                               Default is "/var/log/prometheus.log"
19
# prometheus_data_dir (string)
20
# prometheus_args (string):     Set additional command line arguments
20
#     Set dir to run prometheus in
21
#                               Default is ""
21
#     Default is "%%PROMETHEUS_DB_DIR%%"
22
# prometheus_consoles (string)
23
#     Set dir that contains Prometheus consoles
24
#     Default is "%%PROMETHEUS_CONSOLES_DIR%%"
25
# prometheus_console_libraries (string)
26
#     Set dir containing Prometheus console libraries
27
#     Default is "%%PROMETHEUS_CONSOLE_LIBRARIES_DIR%%"
28
# prometheus_flags (string)
29
#     Set additional command line arguments
30
#     Default is ""
22
31
23
. /etc/rc.subr
32
. /etc/rc.subr
24
33
Lines 28-39 rcvar=prometheus_enable Link Here
28
load_rc_config $name
37
load_rc_config $name
29
38
30
: ${prometheus_enable:="NO"}
39
: ${prometheus_enable:="NO"}
31
: ${prometheus_user:="prometheus"}
40
: ${prometheus_user:="%%PROMETHEUS_USER%%"}
32
: ${prometheus_group:="prometheus"}
41
: ${prometheus_group:="%%PROMETHEUS_GROUP%%"}
33
: ${prometheus_config:="%%PREFIX%%/etc/prometheus.yml"}
42
: ${prometheus_config:="%%PREFIX%%/etc/prometheus.yml"}
34
: ${prometheus_data_dir:="/var/db/prometheus"}
43
: ${prometheus_data_dir:="%%PROMETHEUS_DB_DIR%%"}
35
: ${prometheus_log_file:="/var/log/prometheus.log"}
44
: ${prometheus_consoles_dir:="%%PROMETHEUS_CONSOLES_DIR%%"}
36
: ${prometheus_args:=""}
45
: ${prometheus_console_libraries_dir:="%%PROMETHEUS_CONSOLE_LIBRARIES_DIR%%"}
46
: ${prometheus_flags:=""}
37
47
38
pidfile="/var/run/${name}.pid"
48
pidfile="/var/run/${name}.pid"
39
required_files="${prometheus_config}"
49
required_files="${prometheus_config}"
Lines 41-50 command="/usr/sbin/daemon" Link Here
41
procname="%%PREFIX%%/bin/${name}"
51
procname="%%PREFIX%%/bin/${name}"
42
sig_reload="HUP"
52
sig_reload="HUP"
43
extra_commands="reload"
53
extra_commands="reload"
44
command_args="-p ${pidfile} /usr/bin/env ${procname} \
54
command_args="-p ${pidfile} -m 3 -T prometheus \
55
                /usr/bin/env ${procname} \
45
                --config.file=${prometheus_config} \
56
                --config.file=${prometheus_config} \
46
                --storage.tsdb.path=${prometheus_data_dir} \
57
                --storage.tsdb.path=${prometheus_data_dir} \
47
                ${prometheus_args} >> ${prometheus_log_file} 2>&1"
58
                --web.console.templates=${prometheus_consoles_dir} \
59
                --web.console.libraries=${prometheus_console_libraries_dir} \
60
                ${prometheus_flags}"
48
61
49
start_precmd=prometheus_startprecmd
62
start_precmd=prometheus_startprecmd
50
63
Lines 73-85 prometheus_startprecmd() Link Here
73
            -g ${prometheus_group} \
86
            -g ${prometheus_group} \
74
            /dev/null ${pidfile};
87
            /dev/null ${pidfile};
75
    fi
88
    fi
76
    if [ ! -f "${prometheus_log_file}" ]; then
77
        install \
78
            -o ${prometheus_user} \
79
            -g ${prometheus_group} \
80
            -m 640 \
81
            /dev/null ${prometheus_log_file};
82
    fi
83
    if [ ! -d ${prometheus_data_dir} ]; then
89
    if [ ! -d ${prometheus_data_dir} ]; then
84
        install \
90
        install \
85
            -d \
91
            -d \
(-)b/net-mgmt/prometheus2/files/syslog.d.conf.in (+5 lines)
Added Link Here
1
# syslogd(8) configuration file for net-mgmt/prometheus2
2
#
3
# See syslog.conf(5) for details.
4
!prometheus
5
daemon.*	%%PROMETHEUS_LOG_FILE%%
(-)b/net-mgmt/prometheus2/pkg-plist (-1 / +13 lines)
Lines 1-4 Link Here
1
bin/prometheus
1
bin/prometheus
2
bin/promtool
2
bin/promtool
3
etc/newsyslog.conf.d/prometheus.conf
4
etc/syslog.d/prometheus.conf
5
%%PROMETHEUS_CONSOLE_LIBRARIES_DIR%%/menu.lib
6
%%PROMETHEUS_CONSOLE_LIBRARIES_DIR%%/prom.lib
7
%%PROMETHEUS_CONSOLES_DIR%%/index.html.example
8
%%PROMETHEUS_CONSOLES_DIR%%/node-cpu.html
9
%%PROMETHEUS_CONSOLES_DIR%%/node-disk.html
10
%%PROMETHEUS_CONSOLES_DIR%%/node-overview.html
11
%%PROMETHEUS_CONSOLES_DIR%%/node.html
12
%%PROMETHEUS_CONSOLES_DIR%%/prometheus-overview.html
13
%%PROMETHEUS_CONSOLES_DIR%%/prometheus.html
3
@sample etc/prometheus.yml.sample
14
@sample etc/prometheus.yml.sample
4
@dir(prometheus,prometheus) /var/db/prometheus
15
@dir(prometheus,prometheus) %%PROMETHEUS_DB_DIR%%
16
@dir(root,root) %%PROMETHEUS_LOG_DIR%%

Return to bug 228185