@@ -32,6 +32,10 @@ file_env() {
32
32
: " ${RABBITMQ_MANAGEMENT_SSL_CACERTFILE:= $RABBITMQ_SSL_CACERTFILE } "
33
33
: " ${RABBITMQ_MANAGEMENT_SSL_CERTFILE:= $RABBITMQ_SSL_CERTFILE } "
34
34
: " ${RABBITMQ_MANAGEMENT_SSL_KEYFILE:= $RABBITMQ_SSL_KEYFILE } "
35
+ # ... and so should "prometheus"
36
+ : " ${RABBITMQ_PROMETHEUS_SSL_CACERTFILE:= $RABBITMQ_SSL_CACERTFILE } "
37
+ : " ${RABBITMQ_PROMETHEUS_SSL_CERTFILE:= $RABBITMQ_SSL_CERTFILE } "
38
+ : " ${RABBITMQ_PROMETHEUS_SSL_KEYFILE:= $RABBITMQ_SSL_KEYFILE } "
35
39
36
40
# Allowed env vars that will be read from mounted files (i.e. Docker Secrets):
37
41
fileEnvKeys=(
@@ -51,6 +55,9 @@ sslConfigKeys=(
51
55
managementConfigKeys=(
52
56
" ${sslConfigKeys[@]/#/ ssl_} "
53
57
)
58
+ prometheusConfigKeys=(
59
+ " ${sslConfigKeys[@]/#/ ssl_} "
60
+ )
54
61
rabbitConfigKeys=(
55
62
default_pass
56
63
default_user
@@ -61,12 +68,16 @@ fileConfigKeys=(
61
68
management_ssl_cacertfile
62
69
management_ssl_certfile
63
70
management_ssl_keyfile
71
+ prometheus_ssl_cacertfile
72
+ prometheus_ssl_certfile
73
+ prometheus_ssl_keyfile
64
74
ssl_cacertfile
65
75
ssl_certfile
66
76
ssl_keyfile
67
77
)
68
78
allConfigKeys=(
69
79
" ${managementConfigKeys[@]/#/ management_} "
80
+ " ${prometheusConfigKeys[@]/#/ prometheus_} "
70
81
" ${rabbitConfigKeys[@]} "
71
82
" ${sslConfigKeys[@]/#/ ssl_} "
72
83
)
@@ -75,6 +86,9 @@ declare -A configDefaults=(
75
86
[management_ssl_fail_if_no_peer_cert]=' false'
76
87
[management_ssl_verify]=' verify_none'
77
88
89
+ [prometheus_ssl_fail_if_no_peer_cert]=' false'
90
+ [prometheus_ssl_verify]=' verify_none'
91
+
78
92
[ssl_fail_if_no_peer_cert]=' true'
79
93
[ssl_verify]=' verify_peer'
80
94
)
@@ -126,6 +140,7 @@ for conf in "${allConfigKeys[@]}"; do
126
140
case " $conf " in
127
141
ssl_* ) haveSslConfig=1 ;;
128
142
management_ssl_* ) haveManagementSslConfig=1 ;;
143
+ prometheus_ssl_* ) havePrometheusSslConfig=1 ;;
129
144
esac
130
145
fi
131
146
done
@@ -271,6 +286,7 @@ rabbit_env_config() {
271
286
case " $prefix " in
272
287
ssl) key=" ssl_options.$key " ;;
273
288
management_ssl) key=" management.ssl.$key " ;;
289
+ prometheus_ssl) key=" prometheus.ssl.$key " ;;
274
290
esac
275
291
276
292
local val=" ${! var:- } "
@@ -390,6 +406,17 @@ if [ "$1" = 'rabbitmq-server' ] && [ "$shouldWriteConfig" ]; then
390
406
rabbit_set_config ' management.load_definitions' " $managementDefinitionsFile "
391
407
fi
392
408
fi
409
+
410
+ # if prometheus plugin is installed, generate config for it
411
+ # https://www.rabbitmq.com/prometheus.html#prometheus-configuration
412
+ if [ " $( rabbitmq-plugins list -q -m -e rabbitmq_prometheus) " ]; then
413
+ if [ " $havePrometheusSslConfig " ]; then
414
+ rabbit_set_config ' prometheus.ssl.port' 15691
415
+ rabbit_env_config ' prometheus_ssl' " ${sslConfigKeys[@]} "
416
+ else
417
+ rabbit_set_config ' prometheus.tcp.port' 15692
418
+ fi
419
+ fi
393
420
fi
394
421
395
422
combinedSsl=' /tmp/rabbitmq-ssl/combined.pem'
0 commit comments