48 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| #
 | |
| # Cookbook:: kosmos-bitcoin
 | |
| # Recipe:: lnd-scb-s3
 | |
| #
 | |
| # Static Channel Backup for LND channel states
 | |
| #
 | |
| 
 | |
| include_recipe "kosmos-bitcoin::aws-client"
 | |
| 
 | |
| package "inotify-tools"
 | |
| 
 | |
| backup_script_path = "/opt/lnd-channel-backup-s3.sh"
 | |
| 
 | |
| template backup_script_path do
 | |
|   source "lnd-channel-backup-s3.sh.erb"
 | |
|   mode '0740'
 | |
|   variables lnd_dir: node['lnd']['lnd_dir'],
 | |
|             bitcoin_network: node['bitcoin']['network'],
 | |
|             s3_bucket: node['backup']['s3']['bucket'],
 | |
|             s3_scb_dir: "#{node['name']}/lnd/#{node['bitcoin']['network']}"
 | |
|   notifies :restart, "systemd_unit[lnd-channel-backup.service]", :delayed
 | |
| end
 | |
| 
 | |
| systemd_unit 'lnd-channel-backup.service' do
 | |
|   content({
 | |
|     Unit: {
 | |
|       Description: 'LND Static Channel Backup',
 | |
|       Documentation: ['https://gist.github.com/alexbosworth/2c5e185aedbdac45a03655b709e255a3'],
 | |
|       Requires: 'lnd.service',
 | |
|       After: 'lnd.service'
 | |
|     },
 | |
|     Service: {
 | |
|       User: 'root',
 | |
|       Group: 'root',
 | |
|       Type: 'simple',
 | |
|       ExecStart: backup_script_path,
 | |
|       Restart: 'always',
 | |
|       RestartSec: 1
 | |
|     },
 | |
|     Install: {
 | |
|       WantedBy: 'multi-user.target'
 | |
|     }
 | |
|   })
 | |
|   verify false
 | |
|   triggers_reload true
 | |
|   action [:create, :enable, :start]
 | |
| end
 |