From 7f27e1013c70ca5e77521314dd07e0dee541ec9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A2u=20Cao?= Date: Sat, 18 Apr 2026 15:43:18 +0400 Subject: [PATCH] Allow listing and deleting own blobs --- attributes/default.rb | 4 ++++ recipes/default.rb | 6 +++++- templates/default/config.yml.erb | 8 ++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/attributes/default.rb b/attributes/default.rb index 18b3902..af8e1f5 100644 --- a/attributes/default.rb +++ b/attributes/default.rb @@ -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 diff --git a/recipes/default.rb b/recipes/default.rb index e7bb05f..5200715 100644 --- a/recipes/default.rb +++ b/recipes/default.rb @@ -47,7 +47,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 diff --git a/templates/default/config.yml.erb b/templates/default/config.yml.erb index 5d42826..64f2284 100644 --- a/templates/default/config.yml.erb +++ b/templates/default/config.yml.erb @@ -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 %>