From 57fdf0723f0e4964de4c40e2ced5d05a9eed78d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Greg=20Kar=C3=A9kinian?= Date: Wed, 28 Jun 2023 16:31:11 +0200 Subject: [PATCH] Deploy RTL without the deprecated application cookbook --- .../kosmos-bitcoin/attributes/default.rb | 7 +- site-cookbooks/kosmos-bitcoin/metadata.rb | 1 - site-cookbooks/kosmos-bitcoin/recipes/rtl.rb | 99 +++++++++---------- 3 files changed, 49 insertions(+), 58 deletions(-) diff --git a/site-cookbooks/kosmos-bitcoin/attributes/default.rb b/site-cookbooks/kosmos-bitcoin/attributes/default.rb index b608f93..ed524e3 100644 --- a/site-cookbooks/kosmos-bitcoin/attributes/default.rb +++ b/site-cookbooks/kosmos-bitcoin/attributes/default.rb @@ -74,13 +74,8 @@ node.default['rtl']['revision'] = 'v0.12.1' node.default['rtl']['host'] = '10.1.1.163' node.default['rtl']['port'] = '3000' -node.default['lndhub']['repo'] = 'https://gitea.kosmos.org/kosmos/lndhub.git' -node.default['lndhub']['revision'] = 'master' -node.default['lndhub']['port'] = '3023' -node.default['lndhub']['domain'] = 'lndhub.kosmos.org' - node.default['lndhub-go']['repo'] = 'https://github.com/getAlby/lndhub.go.git' -node.default['lndhub-go']['revision'] = '0.12.0' +node.default['lndhub-go']['revision'] = '0.14.0' node.default['lndhub-go']['source_dir'] = '/opt/lndhub-go' node.default['lndhub-go']['port'] = 3026 node.default['lndhub-go']['domain'] = 'lndhub.kosmos.org' diff --git a/site-cookbooks/kosmos-bitcoin/metadata.rb b/site-cookbooks/kosmos-bitcoin/metadata.rb index cfea78c..1cf8f30 100644 --- a/site-cookbooks/kosmos-bitcoin/metadata.rb +++ b/site-cookbooks/kosmos-bitcoin/metadata.rb @@ -7,7 +7,6 @@ long_description 'Installs/configures bitcoin-related software' version '0.1.0' chef_version '>= 14.0' -depends 'application_javascript' depends 'ark' depends 'backup' depends 'firewall' diff --git a/site-cookbooks/kosmos-bitcoin/recipes/rtl.rb b/site-cookbooks/kosmos-bitcoin/recipes/rtl.rb index 1a170a6..a0592b4 100644 --- a/site-cookbooks/kosmos-bitcoin/recipes/rtl.rb +++ b/site-cookbooks/kosmos-bitcoin/recipes/rtl.rb @@ -51,60 +51,57 @@ if node['boltz'] rtl_config[:nodes][0][:Settings][:boltzServerUrl] = "https://#{node['boltz']['rest_host']}:#{node['boltz']['rest_port']}" end -application rtl_dir do +git rtl_dir do + user bitcoin_user + group bitcoin_group + repository node['rtl']['repo'] + revision node['rtl']['revision'] + notifies :restart, "systemd_unit[#{app_name}.service]", :delayed +end + +execute "npm install" do + cwd rtl_dir + environment "HOME" => rtl_dir + user bitcoin_user +end + +file "#{rtl_dir}/RTL-Config.json" do owner bitcoin_user group bitcoin_group + mode '0640' + content rtl_config.to_json + notifies :restart, "systemd_unit[#{app_name}.service]", :delayed +end - git do - user bitcoin_user - group bitcoin_group - repository node['rtl']['repo'] - revision node['rtl']['revision'] - notifies :restart, "systemd_unit[rtl.service]", :delayed - end - - npm_install do - user bitcoin_user - end - - file "#{rtl_dir}/RTL-Config.json" do - owner bitcoin_user - group bitcoin_group - mode '0640' - content rtl_config.to_json - notifies :restart, "systemd_unit[rtl.service]", :delayed - end - - systemd_unit 'rtl.service' do - content({ - Unit: { - Description: 'Ride The Lightning', - Documentation: ['https://github.com/Ride-The-Lightning/RTL'], - Requires: 'lnd.service', - After: 'lnd.service' - }, - Service: { - User: bitcoin_user, - Group: bitcoin_group, - Type: 'simple', - # ExecStartPre: '/bin/sleep 120', - ExecStart: "/usr/bin/node #{rtl_dir}/rtl.js", - Restart: 'always', - RestartSec: '30', - TimeoutSec: '120', - PrivateTmp: true, - ProtectSystem: 'full', - NoNewPrivileges: true, - PrivateDevices: true, - }, - Install: { - WantedBy: 'multi-user.target' - } - }) - verify false - triggers_reload true - action [:create, :enable, :start] - end +systemd_unit "#{app_name}.service" do + content({ + Unit: { + Description: 'Ride The Lightning', + Documentation: ['https://github.com/Ride-The-Lightning/RTL'], + Requires: 'lnd.service', + After: 'lnd.service' + }, + Service: { + User: bitcoin_user, + Group: bitcoin_group, + Type: 'simple', + # ExecStartPre: '/bin/sleep 120', + ExecStart: "/usr/bin/node #{rtl_dir}/rtl.js", + Restart: 'always', + RestartSec: '30', + TimeoutSec: '120', + PrivateTmp: true, + ProtectSystem: 'full', + NoNewPrivileges: true, + PrivateDevices: true, + }, + Install: { + WantedBy: 'multi-user.target' + } + }) + verify false + triggers_reload true + action [:create, :enable, :start] end include_recipe 'firewall'