]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/matomo/recipes/default.rb
Use default sandboxing for API statistics and rails job runners
[chef.git] / cookbooks / matomo / recipes / default.rb
index 9b2b6302c64278b364ac31a1db670c9ce263e1a6..2cbd469b6daf22fce16da80d72da9dd4c636b3ff 100644 (file)
@@ -25,6 +25,8 @@ include_recipe "php::fpm"
 passwords = data_bag_item("matomo", "passwords")
 
 package %w[
 passwords = data_bag_item("matomo", "passwords")
 
 package %w[
+  brotli
+  gzip
   php-cli
   php-curl
   php-mbstring
   php-cli
   php-curl
   php-mbstring
@@ -41,23 +43,12 @@ version = node[:matomo][:version]
 
 geoip_directory = node[:geoipupdate][:directory]
 
 
 geoip_directory = node[:geoipupdate][:directory]
 
-directory "/opt/matomo-#{version}" do
-  owner "root"
-  group "root"
-  mode "0755"
-end
-
 remote_file "#{Chef::Config[:file_cache_path]}/matomo-#{version}.zip" do
   source "https://builds.matomo.org/matomo-#{version}.zip"
 end
 
 archive_file "#{Chef::Config[:file_cache_path]}/matomo-#{version}.zip" do
 remote_file "#{Chef::Config[:file_cache_path]}/matomo-#{version}.zip" do
   source "https://builds.matomo.org/matomo-#{version}.zip"
 end
 
 archive_file "#{Chef::Config[:file_cache_path]}/matomo-#{version}.zip" do
-  action :nothing
   destination "/opt/matomo-#{version}"
   destination "/opt/matomo-#{version}"
-  overwrite true
-  owner "root"
-  group "root"
-  subscribes :extract, "remote_file[#{Chef::Config[:file_cache_path]}/matomo-#{version}.zip]", :immediately
   notifies :run, "notify_group[matomo-updated]"
 end
 
   notifies :run, "notify_group[matomo-updated]"
 end
 
@@ -69,12 +60,11 @@ node[:matomo][:plugins].each do |plugin_name, plugin_version|
   end
 
   archive_file "#{Chef::Config[:file_cache_path]}/matomo-#{plugin_name}-#{plugin_version}.zip" do
   end
 
   archive_file "#{Chef::Config[:file_cache_path]}/matomo-#{plugin_name}-#{plugin_version}.zip" do
-    action :nothing
-    destination "/opt/matomo-#{version}/matomo/plugins"
-    overwrite true
-    owner "root"
-    group "root"
-    subscribes :extract, "remote_file[#{Chef::Config[:file_cache_path]}/matomo-#{plugin_name}-#{plugin_version}.zip]", :immediately
+    destination "/opt/matomo-#{plugin_name}-#{plugin_version}"
+  end
+
+  link "/opt/matomo-#{version}/matomo/plugins/#{plugin_name}" do
+    to "/opt/matomo-#{plugin_name}-#{plugin_version}/#{plugin_name}"
     notifies :run, "notify_group[matomo-updated]"
   end
 end
     notifies :run, "notify_group[matomo-updated]"
   end
 end
@@ -153,9 +143,27 @@ if File.symlink?("/srv/matomo.openstreetmap.org")
     subscribes :run, "execute[core:update]"
   end
 
     subscribes :run, "execute[core:update]"
   end
 
+  execute "/opt/matomo-#{version}/matomo/matomo.br" do
+    action :nothing
+    command "brotli --keep --force --best /opt/matomo-#{version}/matomo/matomo.js"
+    cwd "/opt/matomo-#{version}"
+    user "root"
+    group "root"
+    subscribes :run, "execute[custom-matomo-js:update]"
+  end
+
   execute "/opt/matomo-#{version}/matomo/matomo.js" do
     action :nothing
   execute "/opt/matomo-#{version}/matomo/matomo.js" do
     action :nothing
-    command "gzip -k -9 /opt/matomo-#{version}/matomo/matomo.js"
+    command "gzip --keep --force --best /opt/matomo-#{version}/matomo/matomo.js"
+    cwd "/opt/matomo-#{version}"
+    user "root"
+    group "root"
+    subscribes :run, "execute[custom-matomo-js:update]"
+  end
+
+  execute "/opt/matomo-#{version}/matomo/piwik.br" do
+    action :nothing
+    command "brotli --keep --force --best /opt/matomo-#{version}/matomo/piwik.js"
     cwd "/opt/matomo-#{version}"
     user "root"
     group "root"
     cwd "/opt/matomo-#{version}"
     user "root"
     group "root"
@@ -164,7 +172,7 @@ if File.symlink?("/srv/matomo.openstreetmap.org")
 
   execute "/opt/matomo-#{version}/matomo/piwik.js" do
     action :nothing
 
   execute "/opt/matomo-#{version}/matomo/piwik.js" do
     action :nothing
-    command "gzip -k -9 /opt/matomo-#{version}/matomo/piwik.js"
+    command "gzip --keep --force --best /opt/matomo-#{version}/matomo/piwik.js"
     cwd "/opt/matomo-#{version}"
     user "root"
     group "root"
     cwd "/opt/matomo-#{version}"
     user "root"
     group "root"