Compare commits

...

2 Commits

Author SHA1 Message Date
d789091d8a Execute build task on deployment of new revisions 2026-04-18 15:44:07 +04:00
7f27e1013c Allow listing and deleting own blobs 2026-04-18 15:43:18 +04:00
3 changed files with 29 additions and 1 deletions

View File

@@ -12,3 +12,7 @@ node.default['blossom']['storage']['backend'] = 'local'
node.default['blossom']['storage']['local']['dir'] = "/home/#{node['blossom']['user']}/data/blobs"
node.default['blossom']['storage']['s3'] = {}
node.default['blossom']['max_size'] = 104857600
node.default['blossom']['list']['enabled'] = true
node.default['blossom']['list']['require_auth'] = true
node.default['blossom']['list']['allow_list_others'] = false
node.default['blossom']['delete']['require_auth'] = true

View File

@@ -23,9 +23,21 @@ git node['blossom']['install_dir'] do
action :sync
user node['blossom']['user']
group node['blossom']['group']
notifies :run, 'execute[blossom_build]', :immediately
notifies :restart, 'service[blossom]', :delayed
end
execute 'blossom_build' do
command '/usr/local/bin/deno task build'
cwd node['blossom']['install_dir']
user node['blossom']['user']
group node['blossom']['group']
environment(
'DENO_DIR' => "/home/#{node['blossom']['user']}/.cache/deno"
)
action :nothing
end
directory "/home/#{node['blossom']['user']}/data" do
owner node['blossom']['user']
group node['blossom']['group']
@@ -47,7 +59,11 @@ template "#{node['blossom']['install_dir']}/config.yml" do
storage_local_dir: node['blossom']['storage']['local']['dir'],
storage_s3: node['blossom']['storage']['s3'],
allowed_pubkeys: node['blossom']['allowed_pubkeys'],
max_size: node['blossom']['max_size']
max_size: node['blossom']['max_size'],
list_enabled: node['blossom']['list']['enabled'],
list_require_auth: node['blossom']['list']['require_auth'],
list_allow_others: node['blossom']['list']['allow_list_others'],
delete_require_auth: node['blossom']['delete']['require_auth']
)
notifies :restart, 'service[blossom]', :delayed
end

View File

@@ -41,3 +41,11 @@ upload:
requireAuth: <%= @allowed_pubkeys && !@allowed_pubkeys.empty? ? 'true' : 'false' %>
requirePubkeyInRule: <%= @allowed_pubkeys && !@allowed_pubkeys.empty? ? 'true' : 'false' %>
maxSize: <%= @max_size %>
list:
enabled: <%= @list_enabled %>
requireAuth: <%= @list_require_auth %>
allowListOthers: <%= @list_allow_others %>
delete:
requireAuth: <%= @delete_require_auth %>