diff --git a/nodes/bitcoin-2.json b/nodes/bitcoin-2.json index 0d9d007..c888e0c 100644 --- a/nodes/bitcoin-2.json +++ b/nodes/bitcoin-2.json @@ -18,6 +18,7 @@ "kosmos-base", "kosmos-base::default", "kosmos-bitcoin::source", + "kosmos-bitcoin::lnd", "apt::default", "timezone_iii::default", "timezone_iii::debian", @@ -32,7 +33,10 @@ "postfix::_attributes", "postfix::sasl_auth", "hostname::default", - "ark::default" + "ark::default", + "git::default", + "git::package", + "golang::default" ], "platform": "ubuntu", "platform_version": "20.04", @@ -50,6 +54,7 @@ }, "run_list": [ "recipe[kosmos-base]", - "recipe[kosmos-bitcoin::source]" + "recipe[kosmos-bitcoin::source]", + "recipe[kosmos-bitcoin::lnd]" ] } \ No newline at end of file diff --git a/site-cookbooks/kosmos-bitcoin/attributes/default.rb b/site-cookbooks/kosmos-bitcoin/attributes/default.rb index 70dca3c..306c2c7 100644 --- a/site-cookbooks/kosmos-bitcoin/attributes/default.rb +++ b/site-cookbooks/kosmos-bitcoin/attributes/default.rb @@ -24,3 +24,7 @@ node.default['bitcoin']['conf'] = { zmqpubrawblock: 'tcp://127.0.0.1:8337', zmqpubrawtx: 'tcp://127.0.0.1:8338' } + +node.default['lnd']['repo'] = 'https://github.com/lightningnetwork/lnd' +node.default['lnd']['revision'] = 'v0.11.0-beta' +node.default['lnd']['source_dir'] = '/opt/lnd' diff --git a/site-cookbooks/kosmos-bitcoin/metadata.rb b/site-cookbooks/kosmos-bitcoin/metadata.rb index 59b2b93..a462885 100644 --- a/site-cookbooks/kosmos-bitcoin/metadata.rb +++ b/site-cookbooks/kosmos-bitcoin/metadata.rb @@ -19,5 +19,6 @@ chef_version '>= 14.0' # # source_url 'https://github.com//kosmos-bitcoin' -depends "ark" -depends "golang" +depends 'ark' +depends 'git' +depends 'golang' diff --git a/site-cookbooks/kosmos-bitcoin/recipes/lnd.rb b/site-cookbooks/kosmos-bitcoin/recipes/lnd.rb new file mode 100644 index 0000000..4708447 --- /dev/null +++ b/site-cookbooks/kosmos-bitcoin/recipes/lnd.rb @@ -0,0 +1,50 @@ +# +# Cookbook:: kosmos-bitcoin +# Recipe:: lnd +# +# The MIT License (MIT) +# +# Copyright:: 2020, Kosmos Developers +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# + +include_recipe "git" +include_recipe "golang" + +# bitcoin_user = node['bitcoin']['username'] +# bitcoin_group = node['bitcoin']['usergroup'] +# bitcoin_datadir = node['bitcoin']['datadir'] +# bitcoin_conf_path = node['bitcoin']['conf_path'] + +git node['lnd']['source_dir'] do + repository node['lnd']['repo'] + revision node['lnd']['revision'] + action :sync + notifies :run, 'bash[compile_lnd]', :immediately +end + +bash "compile_lnd" do + cwd node['lnd']['source_dir'] + code <<-EOH + source /etc/profile.d/golang.sh + make clean && make && make install + EOH + action :nothing +end