# # 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