From: Tom Hughes Date: Thu, 20 Mar 2025 22:43:26 +0000 (+0000) Subject: Test wiki cookbook on Debian 12 X-Git-Url: https://git.openstreetmap.org./chef.git/commitdiff_plain/HEAD?ds=sidebyside;hp=631e07aeacee422c8b79b02152f2cd9bbba12599 Test wiki cookbook on Debian 12 --- diff --git a/.github/workflows/test-kitchen.yml b/.github/workflows/test-kitchen.yml index e1c8df555..143ed1216 100644 --- a/.github/workflows/test-kitchen.yml +++ b/.github/workflows/test-kitchen.yml @@ -135,6 +135,8 @@ jobs: suite: git-server - os: debian-12 suite: git-web + - os: debian-12 + suite: gps-tile - os: debian-12 suite: imagery-tiler - os: debian-12 @@ -153,6 +155,8 @@ jobs: suite: web-frontend - os: debian-12 suite: web-rails + - os: debian-12 + suite: wiki exclude: - suite: apt-repository os: ubuntu-2204 @@ -164,6 +168,8 @@ jobs: os: ubuntu-2204 - suite: git-web os: ubuntu-2204 + - suite: gps-tile + os: ubuntu-2204 - suite: mailman os: ubuntu-2204 - suite: letsencrypt diff --git a/cookbooks/web/resources/rails_port.rb b/cookbooks/web/resources/rails_port.rb index 681690452..cb71e73a5 100644 --- a/cookbooks/web/resources/rails_port.rb +++ b/cookbooks/web/resources/rails_port.rb @@ -453,7 +453,7 @@ action :create do only_if { new_resource.build_assets } end - bundle_exec "#{rails_directory}/app/assets/javascripts/i18n" do + bundle_exec "#{rails_directory}/config/i18n-js.yml" do action :nothing directory rails_directory command "rails i18n:js:export" @@ -463,7 +463,18 @@ action :create do user new_resource.user group new_resource.group subscribes :run, "git[#{rails_directory}]" - only_if { new_resource.build_assets } + only_if { new_resource.build_assets && ::File.exist?("#{rails_directory}/config/i18n-js.yml") } + end + + bundle_exec "#{rails_directory}/config/i18n.yml" do + action :nothing + directory rails_directory + command "i18n export" + environment "HOME" => rails_directory + user new_resource.user + group new_resource.group + subscribes :run, "git[#{rails_directory}]" + only_if { new_resource.build_assets && ::File.exist?("#{rails_directory}/config/i18n.yml") } end bundle_exec "#{rails_directory}/public/assets" do @@ -480,7 +491,8 @@ action :create do subscribes :run, "file[#{rails_directory}/config/settings.local.yml]" subscribes :run, "file[#{rails_directory}/config/storage.yml]" subscribes :run, "bundle_exec[#{rails_directory}/package.json]" - subscribes :run, "bundle_exec[#{rails_directory}/app/assets/javascripts/i18n]" + subscribes :run, "bundle_exec[#{rails_directory}/config/i18n-js.yml]" + subscribes :run, "bundle_exec[#{rails_directory}/config/i18n.yml]" only_if { new_resource.build_assets } end diff --git a/cookbooks/wiki/attributes/default.rb b/cookbooks/wiki/attributes/default.rb index 0cde6a313..e843d9a95 100644 --- a/cookbooks/wiki/attributes/default.rb +++ b/cookbooks/wiki/attributes/default.rb @@ -1,2 +1,7 @@ -# Force apache to listen only on localhost -# default[:apache][:listen_address] = "127.0.0.1" +default[:wiki][:site_name] = "wiki.openstreetmap.org" +default[:wiki][:site_aliases] = [ + "wiki.osm.org", "wiki.openstreetmap.com", "wiki.openstreetmaps.org", + "osm.wiki", "www.osm.wiki", "wiki.osm.wiki" +] +default[:wiki][:site_notice] = nil +default[:wiki][:site_readonly] = nil diff --git a/cookbooks/wiki/recipes/default.rb b/cookbooks/wiki/recipes/default.rb index 74e96d2cc..6e58b3703 100644 --- a/cookbooks/wiki/recipes/default.rb +++ b/cookbooks/wiki/recipes/default.rb @@ -19,6 +19,8 @@ include_recipe "mediawiki" +site_name = node[:wiki][:site_name] + passwords = data_bag_item("wiki", "passwords") package "lua5.1" # newer versions do not work with Scribuntu! @@ -27,9 +29,8 @@ apache_site "default" do action [:disable] end -mediawiki_site "wiki.openstreetmap.org" do - aliases ["wiki.osm.org", "wiki.openstreetmap.com", "wiki.openstreetmaps.org", - "osm.wiki", "www.osm.wiki", "wiki.osm.wiki"] +mediawiki_site site_name do + aliases node[:wiki][:site_aliases] fpm_max_children 200 fpm_start_servers 25 @@ -54,54 +55,54 @@ mediawiki_site "wiki.openstreetmap.org" do hcaptcha_public_key "b67a410b-955e-4049-b432-f9c00e0202c0" hcaptcha_private_key passwords["hcaptcha"] - # site_notice "MAINTENANCE: WIKI READ-ONLY UNTIL Monday 16 May 2016 - 11:00am UTC/GMT." - # site_readonly "MAINTENANCE: WIKI READ-ONLY UNTIL Monday 16 May 2016 - 11:00am UTC/GMT." + site_notice node[:wiki][:site_notice] + site_readonly node[:wiki][:site_readonly] end mediawiki_extension "CodeEditor" do - site "wiki.openstreetmap.org" + site site_name end mediawiki_extension "CodeMirror" do - site "wiki.openstreetmap.org" + site site_name end mediawiki_extension "Scribunto" do - site "wiki.openstreetmap.org" + site site_name template "mw-ext-Scribunto.inc.php.erb" template_cookbook "wiki" end mediawiki_extension "Wikibase" do - site "wiki.openstreetmap.org" + site site_name template "mw-ext-Wikibase.inc.php.erb" template_cookbook "wiki" end mediawiki_extension "OsmWikibase" do - site "wiki.openstreetmap.org" + site site_name repository "https://github.com/nyurik/OsmWikibase.git" reference "master" end mediawiki_extension "Echo" do - site "wiki.openstreetmap.org" + site site_name template "mw-ext-Echo.inc.php.erb" template_cookbook "wiki" end mediawiki_extension "Thanks" do - site "wiki.openstreetmap.org" + site site_name template "mw-ext-Thanks.inc.php.erb" template_cookbook "wiki" end mediawiki_extension "TimedMediaHandler" do - site "wiki.openstreetmap.org" + site site_name end mediawiki_extension "MultiMaps" do - site "wiki.openstreetmap.org" + site site_name template "mw-ext-MultiMaps.inc.php.erb" template_cookbook "wiki" variables :thunderforest_key => passwords["thunderforest"] @@ -109,37 +110,37 @@ mediawiki_extension "MultiMaps" do end mediawiki_extension "JsonConfig" do - site "wiki.openstreetmap.org" + site site_name template "mw-ext-JsonConfig.inc.php.erb" template_cookbook "wiki" end mediawiki_extension "Kartographer" do - site "wiki.openstreetmap.org" + site site_name template "mw-ext-Kartographer.inc.php.erb" template_cookbook "wiki" end -cookbook_file "/srv/wiki.openstreetmap.org/osm_logo_wiki.png" do +cookbook_file "/srv/#{site_name}/osm_logo_wiki.png" do owner node[:mediawiki][:user] group node[:mediawiki][:group] mode "644" end -template "/srv/wiki.openstreetmap.org/robots.txt" do +template "/srv/#{site_name}/robots.txt" do owner node[:mediawiki][:user] group node[:mediawiki][:group] mode "644" source "robots.txt.erb" end -cookbook_file "/srv/wiki.openstreetmap.org/favicon.ico" do +cookbook_file "/srv/#{site_name}/favicon.ico" do owner node[:mediawiki][:user] group node[:mediawiki][:group] mode "644" end -directory "/srv/wiki.openstreetmap.org/dump" do +directory "/srv/#{site_name}/dump" do owner node[:mediawiki][:user] group node[:mediawiki][:group] mode "0775" @@ -149,13 +150,13 @@ systemd_service "wiki-dump" do description "Wiki dump" type "oneshot" exec_start "/usr/bin/php w/maintenance/dumpBackup.php --full --quiet --output=gzip:dump/dump.xml.gz" - working_directory "/srv/wiki.openstreetmap.org" + working_directory "/srv/#{site_name}" user "wiki" nice 19 sandbox :enable_network => true memory_deny_write_execute false restrict_address_families "AF_UNIX" - read_write_paths "/srv/wiki.openstreetmap.org/dump" + read_write_paths "/srv/#{site_name}/dump" end systemd_timer "wiki-dump" do @@ -173,14 +174,14 @@ systemd_service "wiki-rdf-dump" do exec_start [ "/usr/bin/php w/extensions/Wikibase/repo/maintenance/dumpRdf.php --wiki wiki --format ttl --flavor full-dump --entity-type item --entity-type property --no-cache --output /tmp/wikibase-rdf.ttl", "/bin/gzip -9 /tmp/wikibase-rdf.ttl", - "/bin/mv /tmp/wikibase-rdf.ttl.gz /srv/wiki.openstreetmap.org/dump/wikibase-rdf.ttl.gz" + "/bin/mv /tmp/wikibase-rdf.ttl.gz /srv/#{site_name}/dump/wikibase-rdf.ttl.gz" ] - working_directory "/srv/wiki.openstreetmap.org" + working_directory "/srv/#{site_name}" user "wiki" sandbox :enable_network => true memory_deny_write_execute false restrict_address_families "AF_UNIX" - read_write_paths "/srv/wiki.openstreetmap.org/dump" + read_write_paths "/srv/#{site_name}/dump" end systemd_timer "wiki-rdf-dump" do