diff --git a/manifests/config.pp b/manifests/config.pp index 0a6817724..b23af5afe 100644 --- a/manifests/config.pp +++ b/manifests/config.pp @@ -61,6 +61,15 @@ $systemd_notify = Exec['prometheus-systemd-reload'] } + if $prometheus::env_file_path != undef { + file { "${prometheus::env_file_path}/prometheus": + mode => '0644', + owner => 'root', + group => '0', # Darwin uses wheel + content => "ARGS='${join($daemon_flags, ' ')}'\n", + } + } + case $prometheus::server::init_style { 'upstart' : { file { '/etc/init/prometheus.conf': diff --git a/templates/prometheus.debian.erb b/templates/prometheus.debian.erb index 8c08ba528..40a18284e 100644 --- a/templates/prometheus.debian.erb +++ b/templates/prometheus.debian.erb @@ -18,8 +18,12 @@ DESC="Prometheus monitoring framework" NAME=prometheus DAEMON=<%= scope.lookupvar('prometheus::server::bin_dir') %>/$NAME PIDFILE=/var/run/$NAME/$NAME.pid +<% if scope.lookupvar('prometheus::server::env_file_path') %> +DAEMON_ARGS='' +<% else %> DAEMON_ARGS="<%= @daemon_flags.join("\n ") %> <%= scope.lookupvar('prometheus::server::extra_options') %>" +<% end %> USER=<%= scope.lookupvar('prometheus::server::user') %> SCRIPTNAME=/etc/init.d/$NAME diff --git a/templates/prometheus.systemd.erb b/templates/prometheus.systemd.erb index e960be7f1..06a491e41 100644 --- a/templates/prometheus.systemd.erb +++ b/templates/prometheus.systemd.erb @@ -7,8 +7,13 @@ After=basic.target network.target [Service] User=<%= scope.lookupvar('prometheus::server::user') %> Group=<%= scope.lookupvar('prometheus::server::group') %> +<% if scope.lookupvar('prometheus::server::env_file_path') %> +EnvironmentFile=<%= scope.lookupvar('prometheus::server::env_file_path') %>/prometheus +ExecStart=<%= scope.lookupvar('prometheus::server::bin_dir') %>/prometheus $ARGS +<% else %> ExecStart=<%= scope.lookupvar('prometheus::server::bin_dir') %>/prometheus \ <%= @daemon_flags.join(" \\\n ") %> +<% end %> ExecReload=/bin/kill -HUP $MAINPID KillMode=process Restart=always