Replace application cookbook with git resource

This commit is contained in:
Greg Karékinian 2023-06-28 18:55:05 +02:00
parent 54098a450c
commit b7d17c1ad7
2 changed files with 42 additions and 42 deletions

View File

@ -12,4 +12,3 @@ depends 'kosmos-base'
depends 'kosmos-nginx'
depends 'kosmos-nodejs'
depends 'firewall'
depends 'application_javascript'

View File

@ -13,50 +13,51 @@ deploy_group = "ipfs"
group deploy_group
path_to_deploy = "/opt/#{app_name}"
app_path = "/opt/#{app_name}"
rsk_node_ip = search(:node, "role:rskj_testnet").first["knife_zero"]["host"]
rsk_rpc_url = "http://#{rsk_node_ip}:4444"
application path_to_deploy do
owner deploy_user
group deploy_group
git do
git app_path do
user deploy_user
group deploy_group
repository "https://gitea.kosmos.org/kredits/#{app_name}.git"
revision node['kosmos-ipfs']['kredits-pinner']['revision']
end
npm_install do
user deploy_user
end
execute "systemctl daemon-reload" do
command "systemctl daemon-reload"
action :nothing
end
template "/lib/systemd/system/#{app_name}.service" do
source 'nodejs.systemd.service.erb'
owner 'root'
group 'root'
mode '0640'
variables(
user: deploy_user,
group: deploy_group,
app_dir: path_to_deploy,
entry: "/usr/bin/node /usr/bin/npm start -- --watch --rpc-url #{rsk_rpc_url}",
environment: {
'DEBUG' => 'ipfs-pinner'
}
)
notifies :run, "execute[systemctl daemon-reload]", :delayed
notifies :restart, "service[#{app_name}]", :delayed
end
service app_name do
action [:enable, :start]
end
notifies :restart, "systemd_unit[#{app_name}.service]", :delayed
end
execute "npm install" do
cwd app_path
environment "HOME" => app_path
user deploy_user
end
service_env = {
'DEBUG' => 'ipfs-pinner'
}
systemd_unit "#{app_name}.service" do
content({
Unit: {
Description: app_name,
After: "ipfs.service"
},
Service: {
ExecStartPre: '/bin/sleep 5',
ExecStart: "/usr/bin/npm start -- --watch --rpc-url #{rsk_rpc_url}",
WorkingDirectory: app_path,
User: deploy_user,
Group: deploy_group,
Environment: service_env.map { |k, v| "'#{k}=#{v}'" },
Restart: 'always'
},
Install: {
WantedBy: 'multi-user.target'
}
})
verify false
triggers_reload true
action [:create, :enable, :start]
end