property :listen_switch, :kind_of => String, :default => "web.listen-address"
property :listen_type, :kind_of => String, :default => "address"
property :user, :kind_of => String, :default => "root"
+property :command, :kind_of => String
property :options, :kind_of => [String, Array]
property :environment, :kind_of => Hash, :default => {}
+property :service, :kind_of => String
action :create do
systemd_service service_name do
type "simple"
user new_resource.user
environment new_resource.environment
- exec_start "#{executable_path} #{executable_options}"
+ exec_start "#{executable_path} #{new_resource.command} #{executable_options}"
private_tmp true
protect_system "strict"
protect_home true
only_if { node[:prometheus][:mode] == "external" }
end
- node.default[:prometheus][:exporters][new_resource.exporter] = listen_address
+ node.default[:prometheus][:exporters][new_resource.port] = {
+ :name => new_resource.exporter, :address => listen_address
+ }
end
action :delete do
action_class do
def service_name
- "prometheus-#{new_resource.exporter}-exporter"
+ if new_resource.service
+ "prometheus-#{new_resource.service}-exporter"
+ else
+ "prometheus-#{new_resource.exporter}-exporter"
+ end
end
def executable_path