include_recipe "networking"
passwords = data_bag_item("prometheus", "passwords")
+tokens = data_bag_item("prometheus", "tokens")
+
+prometheus_exporter "fastly" do
+ port 8080
+ listen_switch "endpoint"
+ listen_type "url"
+ environment "FASTLY_API_TOKEN" => tokens["fastly"]
+end
package "prometheus"
property :exporter, :kind_of => String, :name_property => true
property :port, :kind_of => Integer, :required => [:create]
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 :options, :kind_of => [String, Array]
property :environment, :kind_of => Hash, :default => {}
end
def executable_options
- "--#{new_resource.listen_switch}=#{listen_address} #{Array(new_resource.options).join(' ')}"
+ "--#{new_resource.listen_switch}=#{listen_argument} #{Array(new_resource.options).join(' ')}"
+ end
+
+ def listen_argument
+ case new_resource.listen_type
+ when "address" then listen_address
+ when "url" then "http://#{listen_address}/metrics"
+ end
end
def listen_address