# limitations under the License.
#
+unified_mode true
+
default_action :create
property :exporter, :kind_of => String, :name_property => true
action :create do
systemd_service service_name do
+ after "network-online.target"
+ wants "network-online.target"
description "Prometheus #{new_resource.exporter} exporter"
type "simple"
user new_resource.user
only_if { node[:prometheus][:mode] == "external" }
end
+ node.default[:prometheus][:addresses][new_resource.exporter] = listen_address
+
if new_resource.register_target
node.default[:prometheus][:exporters][new_resource.port] = {
:name => new_resource.exporter,
action :restart do
service service_name do
action :restart
+ only_if { service_exists? }
end
end
end
end
+ def service_exists?
+ ::File.exist?("/etc/systemd/system/#{service_name}.service")
+ end
+
def executable_path
- "/opt/prometheus/exporters/#{new_resource.exporter}/#{new_resource.exporter}_exporter"
+ "/opt/prometheus-exporters/exporters/#{new_resource.exporter}/#{new_resource.exporter}_exporter"
end
def executable_options
end
def after_created
- subscribes :restart, "git[/opt/prometheus]"
+ subscribes :restart, "git[/opt/prometheus-exporters]"
end