47 lines
1.2 KiB
Ruby
47 lines
1.2 KiB
Ruby
#
|
|
# Cookbook:: kosmos-bitcoin
|
|
# Recipe:: blocksdir-mount
|
|
#
|
|
|
|
include_recipe 'kosmos-bitcoin::user'
|
|
|
|
bitcoin_user = node['bitcoin']['username']
|
|
bitcoin_group = node['bitcoin']['usergroup']
|
|
bitcoin_blocksdir = node['bitcoin']['blocksdir']
|
|
credentials = Chef::EncryptedDataBagItem.load('credentials', 'bitcoin')
|
|
|
|
directory bitcoin_blocksdir do
|
|
owner bitcoin_user
|
|
group bitcoin_group
|
|
mode '0750'
|
|
recursive true
|
|
action :create
|
|
end
|
|
|
|
case node["bitcoin"]["blocksdir_mount_type"]
|
|
when "cifs"
|
|
apt_package "cifs-utils"
|
|
|
|
systemd_unit "mnt-data-blocks.mount" do
|
|
content({
|
|
Unit: {
|
|
Description: 'Bitcoin Core blocks directory',
|
|
Requires: 'network-online.target',
|
|
After: 'network-online.service'
|
|
},
|
|
Mount: {
|
|
What: credentials["blocksdir_cifs_share"],
|
|
Where: bitcoin_blocksdir,
|
|
Type: 'cifs',
|
|
Options: "user=#{credentials["blocksdir_cifs_user"]},password=#{credentials["blocksdir_cifs_password"]},uid=#{bitcoin_user},gid=#{bitcoin_group},rw,vers=1.0"
|
|
},
|
|
Install: {
|
|
WantedBy: 'multi-user.target'
|
|
}
|
|
})
|
|
verify false
|
|
triggers_reload true
|
|
action [:create, :enable, :start]
|
|
end
|
|
end
|