itamae/cookbooks/prometheus-exporters/exporter_proxy.rb

72 lines
1.2 KiB
Ruby

URL = 'https://github.com/rrreeeyyy/exporter_proxy/releases/download/v0.4.1/exporter_proxy_linux_amd64'
BIN = '/usr/local/bin/exporter_proxy'
CONFDIR = '/etc/prometheus_exporters.d/exporter_proxy/'
CONF = 'config.yml'
execute "wget #{URL} -O #{BIN}" do
not_if "test -e #{BIN}"
end
file BIN do
user 'root'
group 'root'
mode '755'
end
directory CONFDIR do
user 'root'
group 'root'
mode '755'
end
remote_file "#{CONFDIR}#{CONF}" do
user 'root'
group 'root'
mode '644'
end
remote_file '/etc/systemd/system/exporter_proxy.service' do
user 'root'
group 'root'
mode '644'
end
service 'exporter_proxy' do
action [:enable, :start]
end
remote_file '/etc/consul.d/service-exporter_proxy.json' do
user 'root'
group 'root'
mode '644'
notifies :restart, 'service[consul]'
end
service 'consul' do
action :nothing
end
# Firewall settings here:
%w( 60000/tcp ).each do |p|
execute "ufw allow #{p}" do
user 'root'
not_if "LANG=c ufw status | grep #{p}"
notifies :run, 'execute[ufw reload-or-enable]'
end
end
execute 'ufw reload-or-enable' do
user 'root'
command 'LANG=C ufw reload | grep skipping && ufw --force enable || exit 0'
action :nothing
end