60 lines
1.3 KiB
Ruby
60 lines
1.3 KiB
Ruby
#
|
|
# Cookbook:: kosmos-bitcoin
|
|
# Recipe:: price_tracking
|
|
#
|
|
# Track BTC rates and publish them via remoteStorage
|
|
#
|
|
|
|
%w[curl jq].each do |pkg|
|
|
apt_package pkg
|
|
end
|
|
|
|
daily_tracker_path = "/usr/local/bin/btc-price-tracker-daily"
|
|
|
|
credentials = Chef::EncryptedDataBagItem.load('credentials', 'kosmos-rs')
|
|
|
|
template daily_tracker_path do
|
|
source "btc-price-tracker-daily.sh.erb"
|
|
mode '0740'
|
|
variables rs_base_url: node['price_tracking']['rs_base_url']
|
|
notifies :restart, "systemd_unit[lnd-channel-backup.service]", :delayed
|
|
end
|
|
|
|
systemd_unit 'btc-price-tracker-daily.service' do
|
|
content({
|
|
Unit: {
|
|
Description: 'BTC price tracker (daily rates)',
|
|
After: 'network-online.target',
|
|
Wants: 'network-online.target'
|
|
},
|
|
Service: {
|
|
Type: 'oneshot',
|
|
ExecStart: daily_tracker_path,
|
|
Environment: "RS_AUTH=#{credentials["auth_tokens"]["/btc-price"]}"
|
|
},
|
|
Install: {
|
|
WantedBy: 'multi-user.target'
|
|
}
|
|
})
|
|
sensitive true
|
|
triggers_reload true
|
|
action [:create]
|
|
end
|
|
|
|
systemd_unit 'btc-price-tracker-daily.timer' do
|
|
content({
|
|
Unit: {
|
|
Description: 'Run BTC price tracker daily'
|
|
},
|
|
Timer: {
|
|
OnCalendar: '*-*-* 00:00:00',
|
|
Persistent: 'true'
|
|
},
|
|
Install: {
|
|
WantedBy: 'timers.target'
|
|
}
|
|
})
|
|
triggers_reload true
|
|
action [:create, :enable, :start]
|
|
end
|