From 18574659064bf3976089cec77ad458bb9b97523e Mon Sep 17 00:00:00 2001 From: Robot8A Date: Thu, 31 Jul 2025 16:44:59 +0200 Subject: [PATCH 01/16] Add funding.json and .well-known/funding-manifest-urls Signed-off-by: Grant Slater --- .../static/.well-known/funding-manifest-urls | 1 + .../web/files/default/static/funding.json | 192 ++++++++++++++++++ 2 files changed, 193 insertions(+) create mode 100644 cookbooks/web/files/default/static/.well-known/funding-manifest-urls create mode 100644 cookbooks/web/files/default/static/funding.json diff --git a/cookbooks/web/files/default/static/.well-known/funding-manifest-urls b/cookbooks/web/files/default/static/.well-known/funding-manifest-urls new file mode 100644 index 000000000..a51eb6de3 --- /dev/null +++ b/cookbooks/web/files/default/static/.well-known/funding-manifest-urls @@ -0,0 +1 @@ +https://www.openstreetmap.org/funding.json \ No newline at end of file diff --git a/cookbooks/web/files/default/static/funding.json b/cookbooks/web/files/default/static/funding.json new file mode 100644 index 000000000..a906f302e --- /dev/null +++ b/cookbooks/web/files/default/static/funding.json @@ -0,0 +1,192 @@ +{ + "version": "v1.0.0", + "entity": { + "type": "organisation", + "role": "other", + "name": "OpenStreetMap Foundation", + "email": "secretary@osmfoundation.org", + "description": "The OpenStreetMap Foundation is a not-for-profit organization that supports the OpenStreetMap Project. The OpenStreetMap Project based at OpenStreetMap.org, is the worldwide mapping effort that includes over two million volunteers around the globe.\n\nThe foundation consists of members from around the world who elect its board of directors.\n\nMuch of the foundation’s extensive work is done in the background, yet is critical to the ongoing functioning and growth of the OpenStreetMap Project.\n\nThe foundation supports the project with several key functions:\n\n* As a UK-registered limited company, the foundation acts as a legal entity for the OpenStreetMap Project.\n* The foundation is the custodian for the computer servers and services necessary to host the OpenStreetMap project.\n* Provides a vehicle for fund-raising to support the project. The foundation can accept donations for the OpenStreetMap Project and allocate those donations to OpenStreetMap Project activities.\n* Organizes the annual conference, State-of-the-map\n* Supports and communicates with the working groups, such as communications, licensing, etc. The foundation board at times will delegate various tasks to working groups, such as public relations, Web site development, etc.\n\nOpenStreetMap is an open initiative to create and provide free map data to anyone who wants them.", + "webpageUrl": { + "url": "https://osmfoundation.org" + } + }, + "projects": [ + { + "guid": "openstreetmap", + "name": "OpenStreetMap", + "description": "OpenStreetMap is an initiative to create and provide free geographic data, such as street maps, to anyone.\nOpenStreetMap is built by a community of mappers that contribute and maintain data about roads, trails, cafés, railway stations, and much more, all over the world.", + "webpageUrl": { + "url": "https://www.openstreetmap.org", + "wellKnown": "https://www.openstreetmap.org/.well-known/funding-manifest-urls" + }, + "repositoryUrl": { + "url": "https://github.com/openstreetmap" + }, + "licenses": [ + "spdx:ODbL-1.0" + ], + "tags": [ + "database", + "vgi" + ] + } + ], + "funding": { + "channels": [ + { + "guid": "funding-website", + "type": "payment-provider", + "address": "https://supporting.openstreetmap.org" + }, + { + "guid": "bitcoin", + "type": "other", + "address": "1J3pt9koWJZTo2jarg98RL89iJqff9Kobp" + }, + { + "guid": "eur-account", + "type": "bank", + "address": "IE25 BOFI 900033 15040822", + "description": "Account name: OpenStreetMap Foundation Limited\nAccount Bank: Bank of Ireland\nIBAN: IE25 BOFI 900033 15040822\nSWIFTBIC: BOFIIE2D\nReference: Donation\nCurrency: EUR\n\nYou are encouraged to email donations@openstreetmap.org stating the amount and date of the donation so that we can ensure that the donation is received." + }, + { + "guid": "usd-account", + "type": "bank", + "address": "IE48 BOFI 901394 79780002", + "description": "Account name: OpenStreetMap Foundation Limited\nAccount Bank: Bank of Ireland\nIBAN: IE48 BOFI 901394 79780002\nSWIFTBIC: BOFIIE2D\nReference: Donation\nCurrency: USD\n\nYou are encouraged to email donations@openstreetmap.org stating the amount and date of the donation so that we can ensure that the donation is received." + }, + { + "guid": "gbp-account", + "type": "bank", + "address": "IE75 BOFI 901394 79780001", + "description": "Account name: OpenStreetMap Foundation Limited\nAccount Bank: Bank of Ireland\nIBAN: IE75 BOFI 901394 79780001\nSWIFTBIC: BOFIIE2D\nReference: Donation\nCurrency: GBP\n\nYou are encouraged to email donations@openstreetmap.org stating the amount and date of the donation so that we can ensure that the donation is received." + }, + { + "guid": "paypal", + "type": "payment-provider", + "address": "https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=treasurer%40openstreetmap%2eorg&item_name=Donation%20to%20OpenStreetMap%20Foundation&no_shipping=1&return=https%3a%2f%2fwiki.osmfoundation.org%2fwiki%2fDonate%2fPayPal%2fThank_you&no_note=1&t" + }, + { + "guid": "gh-sponsors", + "type": "payment-provider", + "address": "https://github.com/sponsors/osmfoundation" + } + ], + "plans": [ + { + "guid": "one-time-donation", + "status": "active", + "name": "One-time donation", + "amount": 0, + "currency": "USD", + "frequency": "one-time", + "channels": [ + "funding-website", + "bitcoin", + "eur-account", + "usd-account", + "gbp-account", + "paypal", + "gh-sponsors" + ] + }, + { + "guid": "normal-membership", + "status": "active", + "name": "Normal Membership", + "description": "Available to all natural persons. The membership fee is £15 per year and lets you influence the direction of OpenStreetMap by being able to vote in elections for officers of the foundation.", + "amount": 15, + "currency": "GBP", + "frequency": "yearly", + "channels": [ + "funding-website" + ] + }, + { + "guid": "associate-membership", + "status": "active", + "name": "Associate Membership", + "description": "Available to all natural persons. The membership fee is £15 per year and they may vote just as normal members, but subject to the limitations of section 76 of the Articles of Association. This means that they cannot vote on special resolutions.", + "amount": 15, + "currency": "GBP", + "frequency": "yearly", + "channels": [ + "funding-website" + ] + }, + { + "guid": "active-contributor-membership", + "status": "active", + "name": "Active Contributor Membership", + "description": "If you are an active contributor with at least 42 mapping days in the last 365 days, or if you are equally active in OpenStreetMap with non-mapping activities, we would like you to become a member of the OSMF regardless of if and how you could pay the membership fee.\nYou can apply for an active contributor membership or become an associate or normal member, and help decide the direction and future of the OSMF.", + "amount": 0, + "currency": "USD", + "frequency": "yearly", + "channels": [ + "funding-website" + ] + }, + { + "guid": "corporate-supporter", + "status": "active", + "name": "Corporate Membership - Supporter Tier", + "description": "Size of Operation: OSM data is used in your product or service and you have revenue in the tens of thousands\nAnnual Membership Fee: €750\nHow We Will Thank You: Your name appears on the OSMF corporate membership page", + "amount": 750, + "currency": "EUR", + "frequency": "yearly", + "channels": [ + "funding-website" + ] + }, + { + "guid": "corporate-bronze", + "status": "active", + "name": "Corporate Membership - Bronze Tier", + "description": "Size of Operation: OSM data is used in your product or service and/or you have revenue in the hundreds of thousands\nAnnual Membership Fee: €2,250\nHow We Will Thank You: Your logo appears on the OSMF corporate membership page", + "amount": 2250, + "currency": "EUR", + "frequency": "yearly", + "channels": [ + "funding-website" + ] + }, + { + "guid": "corporate-silver", + "status": "active", + "name": "Corporate Membership - Silver Tier", + "description": "Size of Operation: OSM data is used in your product or service and/or you have revenue in the millions\nAnnual Membership Fee: €6,000\nHow We Will Thank You: Your logo appears on the OSMF corporate membership page and your Silver membership is acknowledged on OSM social media", + "amount": 6000, + "currency": "EUR", + "frequency": "yearly", + "channels": [ + "funding-website" + ] + }, + { + "guid": "corporate-gold", + "status": "active", + "name": "Corporate Membership - Gold Tier", + "description": "Size of Operation: Map applications are core to your business; and/or you have a product that depends on OSM data and/or revenue in the tens of millions\nAnnual Membership Fee: €15,000\nHow We Will Thank You: Your logo appears on the OSMF corporate membership page, and your Gold membership is acknowledged on OSM social media", + "amount": 15000, + "currency": "EUR", + "frequency": "yearly", + "channels": [ + "funding-website" + ] + }, + { + "guid": "corporate-platinum", + "status": "active", + "name": "Corporate Membership - Platinum Tier", + "description": "Size of Operation: Map applications are core to your business; and/or you have a product that depends on OSM data and/or revenue in the hundreds of millions\nAnnual Membership Fee: €30,000\nHow We Will Thank You: Your logo featured on the OSMF corporate membership page, and your Platinum membership is acknowledged on OSM social media", + "amount": 30000, + "currency": "EUR", + "frequency": "yearly", + "channels": [ + "funding-website" + ] + } + ], + "history": [] + } +} -- 2.39.5 From 9a88cf0215f56b8f683ee130904aef10b7253957 Mon Sep 17 00:00:00 2001 From: Grant Slater Date: Mon, 6 Oct 2025 12:01:25 +0100 Subject: [PATCH 02/16] web: Enable funding.json and .well-known/funding-manifest-urls --- cookbooks/web/templates/default/apache.frontend.erb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cookbooks/web/templates/default/apache.frontend.erb b/cookbooks/web/templates/default/apache.frontend.erb index e8c36f59c..d78fdcdab 100644 --- a/cookbooks/web/templates/default/apache.frontend.erb +++ b/cookbooks/web/templates/default/apache.frontend.erb @@ -178,6 +178,8 @@ ErrorLog /var/log/apache2/error.log SetEnv SECRET_KEY_BASE <%= @secret_key_base %> Alias /favicon.ico <%= node[:web][:base_directory] %>/rails/app/assets/favicons/favicon.ico Alias /openlayers <%= node[:web][:base_directory] %>/static/openlayers + Alias /funding.json <%= node[:web][:base_directory] %>/static/funding.json + Alias /.well-known/funding-manifest-urls <%= node[:web][:base_directory] %>/static/.well-known/funding-manifest-urls RedirectPermanent /stats https://planet.openstreetmap.org/statistics # @@ -339,6 +341,10 @@ ErrorLog /var/log/apache2/error.log Require all granted + + + ForceType text/plain + -- 2.39.5 From 441229e9e214ca5b17bc4a67af7eb56796971e91 Mon Sep 17 00:00:00 2001 From: Grant Slater Date: Mon, 6 Oct 2025 19:58:21 +0100 Subject: [PATCH 03/16] web: Add security.txt --- cookbooks/web/recipes/frontend.rb | 7 +++++++ cookbooks/web/templates/default/apache.frontend.erb | 2 ++ cookbooks/web/templates/default/security.txt.erb | 10 ++++++++++ 3 files changed, 19 insertions(+) create mode 100644 cookbooks/web/templates/default/security.txt.erb diff --git a/cookbooks/web/recipes/frontend.rb b/cookbooks/web/recipes/frontend.rb index c7309b7f3..2ab7d8e9a 100644 --- a/cookbooks/web/recipes/frontend.rb +++ b/cookbooks/web/recipes/frontend.rb @@ -53,6 +53,13 @@ remote_directory "#{node[:web][:base_directory]}/static" do files_mode "644" end +template "#{node[:web][:base_directory]}/static/.well-known/security.txt" do + source "security.txt.erb" + owner "root" + group "root" + mode "644" +end + remote_file "#{Chef::Config[:file_cache_path]}/cloudflare-ipv4-list" do source "https://www.cloudflare.com/ips-v4" compile_time true diff --git a/cookbooks/web/templates/default/apache.frontend.erb b/cookbooks/web/templates/default/apache.frontend.erb index d78fdcdab..85e571947 100644 --- a/cookbooks/web/templates/default/apache.frontend.erb +++ b/cookbooks/web/templates/default/apache.frontend.erb @@ -180,6 +180,8 @@ ErrorLog /var/log/apache2/error.log Alias /openlayers <%= node[:web][:base_directory] %>/static/openlayers Alias /funding.json <%= node[:web][:base_directory] %>/static/funding.json Alias /.well-known/funding-manifest-urls <%= node[:web][:base_directory] %>/static/.well-known/funding-manifest-urls + Alias /.well-known/security.txt <%= node[:web][:base_directory] %>/static/.well-known/security.txt + Alias /security.txt <%= node[:web][:base_directory] %>/static/.well-known/security.txt RedirectPermanent /stats https://planet.openstreetmap.org/statistics # diff --git a/cookbooks/web/templates/default/security.txt.erb b/cookbooks/web/templates/default/security.txt.erb new file mode 100644 index 000000000..ae1a64b89 --- /dev/null +++ b/cookbooks/web/templates/default/security.txt.erb @@ -0,0 +1,10 @@ +<% + require "time" + target_date = (Time.now.utc + 28*24*60*60).to_date + expires_time = Time.utc(target_date.year, target_date.month, target_date.day, 22, 0, 0) +%> +Contact: https://github.com/openstreetmap/operations/blob/master/SECURITY.md +Expires: <%= expires_time.iso8601 %> +Preferred-Languages: en +Policy: https://github.com/openstreetmap/operations/blob/master/SECURITY.md +Canonical: https://www.openstreetmap.org/.well-known/security.txt -- 2.39.5 From e708ed92700c61fa6ecebf4835e13de22624da23 Mon Sep 17 00:00:00 2001 From: Grant Slater Date: Tue, 7 Oct 2025 12:53:36 +0100 Subject: [PATCH 04/16] Fix web test data_bag typo --- test/data_bags/web/passwords.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/data_bags/web/passwords.json b/test/data_bags/web/passwords.json index eb1e423a4..0b5b456cc 100644 --- a/test/data_bags/web/passwords.json +++ b/test/data_bags/web/passwords.json @@ -23,7 +23,7 @@ "totp_key": "totp", "aws_keys": { "AKIASQUXHPE7AMJQRFOS": "aws" - } + }, "openid_connect_key": [ "-----BEGIN PRIVATE KEY-----", "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC1yJqM4c0bJNVN", -- 2.39.5 From 53e18d347b9051484aaf0762669455002e6e08d5 Mon Sep 17 00:00:00 2001 From: Grant Slater Date: Tue, 7 Oct 2025 13:23:06 +0100 Subject: [PATCH 05/16] web: Add funding-manifest-urls for github repo in funding.json --- cookbooks/web/files/default/static/funding.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cookbooks/web/files/default/static/funding.json b/cookbooks/web/files/default/static/funding.json index a906f302e..f65284cbd 100644 --- a/cookbooks/web/files/default/static/funding.json +++ b/cookbooks/web/files/default/static/funding.json @@ -20,7 +20,8 @@ "wellKnown": "https://www.openstreetmap.org/.well-known/funding-manifest-urls" }, "repositoryUrl": { - "url": "https://github.com/openstreetmap" + "url": "https://github.com/openstreetmap", + "wellKnown": "https://github.com/openstreetmap/chef/raw/refs/heads/master/cookbooks/web/files/default/static/.well-known/funding-manifest-urls" }, "licenses": [ "spdx:ODbL-1.0" -- 2.39.5 From 865ed20e48ab5fb6929ae34711383b585c2cb0aa Mon Sep 17 00:00:00 2001 From: Grant Slater Date: Tue, 7 Oct 2025 13:30:13 +0100 Subject: [PATCH 06/16] foundation: add funding-manifest-urls to osmfoundation.org --- .../files/default/.well-known/funding-manifest-urls | 1 + cookbooks/foundation/recipes/wiki.rb | 7 +++++++ 2 files changed, 8 insertions(+) create mode 100644 cookbooks/foundation/files/default/.well-known/funding-manifest-urls diff --git a/cookbooks/foundation/files/default/.well-known/funding-manifest-urls b/cookbooks/foundation/files/default/.well-known/funding-manifest-urls new file mode 100644 index 000000000..a51eb6de3 --- /dev/null +++ b/cookbooks/foundation/files/default/.well-known/funding-manifest-urls @@ -0,0 +1 @@ +https://www.openstreetmap.org/funding.json \ No newline at end of file diff --git a/cookbooks/foundation/recipes/wiki.rb b/cookbooks/foundation/recipes/wiki.rb index ead5694cd..b6c993bb5 100644 --- a/cookbooks/foundation/recipes/wiki.rb +++ b/cookbooks/foundation/recipes/wiki.rb @@ -63,3 +63,10 @@ template "/srv/osmfoundation.org/robots.txt" do mode "644" source "robots.txt.erb" end + +cookbook_file "/srv/osmfoundation.org/.well-known/funding-manifest-urls" do + owner node[:mediawiki][:user] + group node[:mediawiki][:group] + mode "644" + source ".well-known/funding-manifest-urls" +end -- 2.39.5 From 1b3147768cde4c11a7920d7b20c57c13b7f194eb Mon Sep 17 00:00:00 2001 From: Grant Slater Date: Tue, 7 Oct 2025 13:34:21 +0100 Subject: [PATCH 07/16] foundation: ensure .well-known created --- cookbooks/foundation/recipes/wiki.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cookbooks/foundation/recipes/wiki.rb b/cookbooks/foundation/recipes/wiki.rb index b6c993bb5..adb2c11fa 100644 --- a/cookbooks/foundation/recipes/wiki.rb +++ b/cookbooks/foundation/recipes/wiki.rb @@ -64,6 +64,12 @@ template "/srv/osmfoundation.org/robots.txt" do source "robots.txt.erb" end +directory "/srv/osmfoundation.org/.well-known" do + owner node[:mediawiki][:user] + group node[:mediawiki][:group] + mode "755" +end + cookbook_file "/srv/osmfoundation.org/.well-known/funding-manifest-urls" do owner node[:mediawiki][:user] group node[:mediawiki][:group] -- 2.39.5 From 912506c158d21692b041375fb3b0610f8776de1e Mon Sep 17 00:00:00 2001 From: Grant Slater Date: Tue, 7 Oct 2025 13:38:48 +0100 Subject: [PATCH 08/16] web: add osmf funding-manifest-urls to funding.json --- cookbooks/web/files/default/static/funding.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cookbooks/web/files/default/static/funding.json b/cookbooks/web/files/default/static/funding.json index f65284cbd..001b9cb91 100644 --- a/cookbooks/web/files/default/static/funding.json +++ b/cookbooks/web/files/default/static/funding.json @@ -7,7 +7,8 @@ "email": "secretary@osmfoundation.org", "description": "The OpenStreetMap Foundation is a not-for-profit organization that supports the OpenStreetMap Project. The OpenStreetMap Project based at OpenStreetMap.org, is the worldwide mapping effort that includes over two million volunteers around the globe.\n\nThe foundation consists of members from around the world who elect its board of directors.\n\nMuch of the foundation’s extensive work is done in the background, yet is critical to the ongoing functioning and growth of the OpenStreetMap Project.\n\nThe foundation supports the project with several key functions:\n\n* As a UK-registered limited company, the foundation acts as a legal entity for the OpenStreetMap Project.\n* The foundation is the custodian for the computer servers and services necessary to host the OpenStreetMap project.\n* Provides a vehicle for fund-raising to support the project. The foundation can accept donations for the OpenStreetMap Project and allocate those donations to OpenStreetMap Project activities.\n* Organizes the annual conference, State-of-the-map\n* Supports and communicates with the working groups, such as communications, licensing, etc. The foundation board at times will delegate various tasks to working groups, such as public relations, Web site development, etc.\n\nOpenStreetMap is an open initiative to create and provide free map data to anyone who wants them.", "webpageUrl": { - "url": "https://osmfoundation.org" + "url": "https://osmfoundation.org", + "wellKnown": "https://osmfoundation.org/.well-known/funding-manifest-urls" } }, "projects": [ -- 2.39.5 From 45208a51540304bf3809b8f2a5392933547c972d Mon Sep 17 00:00:00 2001 From: Paul Norman Date: Tue, 7 Oct 2025 13:26:47 -0700 Subject: [PATCH 09/16] web: funding: Don't set wellKnown for webpageUrl wellKnown is optional and only has use if the hostname that funding.json is served from differs from the webpageUrl url. Since both are served from www.openstreetmap.org, it is not necessary here. --- cookbooks/web/files/default/static/funding.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cookbooks/web/files/default/static/funding.json b/cookbooks/web/files/default/static/funding.json index 001b9cb91..401059819 100644 --- a/cookbooks/web/files/default/static/funding.json +++ b/cookbooks/web/files/default/static/funding.json @@ -17,8 +17,7 @@ "name": "OpenStreetMap", "description": "OpenStreetMap is an initiative to create and provide free geographic data, such as street maps, to anyone.\nOpenStreetMap is built by a community of mappers that contribute and maintain data about roads, trails, cafés, railway stations, and much more, all over the world.", "webpageUrl": { - "url": "https://www.openstreetmap.org", - "wellKnown": "https://www.openstreetmap.org/.well-known/funding-manifest-urls" + "url": "https://www.openstreetmap.org" }, "repositoryUrl": { "url": "https://github.com/openstreetmap", -- 2.39.5 From da62df4dabcf0f01b07e693b32565813fe509f18 Mon Sep 17 00:00:00 2001 From: Paul Norman Date: Tue, 7 Oct 2025 13:28:57 -0700 Subject: [PATCH 10/16] web: funding: Don't include empty financial history history is optional but the text says to only include if one of expenses or income is being communicated. This means it shouldn't be included if it's an empty list. --- cookbooks/web/files/default/static/funding.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cookbooks/web/files/default/static/funding.json b/cookbooks/web/files/default/static/funding.json index 401059819..33c82e1bf 100644 --- a/cookbooks/web/files/default/static/funding.json +++ b/cookbooks/web/files/default/static/funding.json @@ -187,7 +187,6 @@ "funding-website" ] } - ], - "history": [] + ] } } -- 2.39.5 From f56448a975b79aa16a00f91302dd44ac9c266f01 Mon Sep 17 00:00:00 2001 From: Paul Norman Date: Tue, 7 Oct 2025 13:33:55 -0700 Subject: [PATCH 11/16] web: funding: Fix currency mismatches Each entry in the plan array must have exactly one ISO 4217 currency code. As we not all funding channels accept all currencies, splitting the one-time donation into multiple plans allows for the donation of multiple currencies. Some channels have no ISO 4217 currency listed and cannot be part of any plan. --- .../web/files/default/static/funding.json | 33 ++++++++++++++++--- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/cookbooks/web/files/default/static/funding.json b/cookbooks/web/files/default/static/funding.json index 33c82e1bf..1f098eda6 100644 --- a/cookbooks/web/files/default/static/funding.json +++ b/cookbooks/web/files/default/static/funding.json @@ -75,22 +75,45 @@ ], "plans": [ { - "guid": "one-time-donation", + "guid": "one-time-donation-usd", "status": "active", - "name": "One-time donation", + "name": "One-time USD donation", "amount": 0, "currency": "USD", "frequency": "one-time", "channels": [ "funding-website", - "bitcoin", - "eur-account", "usd-account", - "gbp-account", "paypal", "gh-sponsors" ] }, + { + "guid": "one-time-donation-gbp", + "status": "active", + "name": "One-time GBP donation", + "amount": 0, + "currency": "USD", + "frequency": "one-time", + "channels": [ + "funding-website", + "gbp-account", + "paypal" + ] + }, + { + "guid": "one-time-donation-eur", + "status": "active", + "name": "One-time EUR donation", + "amount": 0, + "currency": "USD", + "frequency": "one-time", + "channels": [ + "funding-website", + "eur-account", + "paypal" + ] + }, { "guid": "normal-membership", "status": "active", -- 2.39.5 From 672e2c86381b6393c7c43f836d24ccc5372ddb74 Mon Sep 17 00:00:00 2001 From: Grant Slater Date: Tue, 7 Oct 2025 22:28:27 +0100 Subject: [PATCH 12/16] web: funding: fix currency mismatches --- cookbooks/web/files/default/static/funding.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cookbooks/web/files/default/static/funding.json b/cookbooks/web/files/default/static/funding.json index 1f098eda6..a9519edb6 100644 --- a/cookbooks/web/files/default/static/funding.json +++ b/cookbooks/web/files/default/static/funding.json @@ -93,7 +93,7 @@ "status": "active", "name": "One-time GBP donation", "amount": 0, - "currency": "USD", + "currency": "GBP", "frequency": "one-time", "channels": [ "funding-website", @@ -106,7 +106,7 @@ "status": "active", "name": "One-time EUR donation", "amount": 0, - "currency": "USD", + "currency": "EUR", "frequency": "one-time", "channels": [ "funding-website", -- 2.39.5 From 3a0ffa23a19710b213c81fff83bb308b04153e89 Mon Sep 17 00:00:00 2001 From: Grant Slater Date: Tue, 7 Oct 2025 22:29:09 +0100 Subject: [PATCH 13/16] spamassassin: blacklist_from repeated spammer --- cookbooks/spamassassin/templates/default/local.cf.erb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cookbooks/spamassassin/templates/default/local.cf.erb b/cookbooks/spamassassin/templates/default/local.cf.erb index bc86b14c8..dc851baf4 100644 --- a/cookbooks/spamassassin/templates/default/local.cf.erb +++ b/cookbooks/spamassassin/templates/default/local.cf.erb @@ -12,3 +12,6 @@ use_auto_whitelist 1 # Set the location for our state files bayes_path /var/spool/spamassassin/bayes auto_whitelist_path /var/spool/spamassassin/auto_whitelist + +blacklist_from *@bewertungskanzlei.de +blacklist_from *@revieweraser-sales.com -- 2.39.5 From 2aadee228ae456cf993edcca65d213c86579edaf Mon Sep 17 00:00:00 2001 From: Grant Slater Date: Wed, 8 Oct 2025 12:18:49 +0100 Subject: [PATCH 14/16] web: remove funding.json active-contributor due to plans limit --- cookbooks/web/files/default/static/funding.json | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/cookbooks/web/files/default/static/funding.json b/cookbooks/web/files/default/static/funding.json index a9519edb6..f85542cda 100644 --- a/cookbooks/web/files/default/static/funding.json +++ b/cookbooks/web/files/default/static/funding.json @@ -138,18 +138,6 @@ "funding-website" ] }, - { - "guid": "active-contributor-membership", - "status": "active", - "name": "Active Contributor Membership", - "description": "If you are an active contributor with at least 42 mapping days in the last 365 days, or if you are equally active in OpenStreetMap with non-mapping activities, we would like you to become a member of the OSMF regardless of if and how you could pay the membership fee.\nYou can apply for an active contributor membership or become an associate or normal member, and help decide the direction and future of the OSMF.", - "amount": 0, - "currency": "USD", - "frequency": "yearly", - "channels": [ - "funding-website" - ] - }, { "guid": "corporate-supporter", "status": "active", -- 2.39.5 From d8e14faa4c5cde9d870dd84a30106bf898e0051b Mon Sep 17 00:00:00 2001 From: Grant Slater Date: Wed, 8 Oct 2025 20:08:30 +0100 Subject: [PATCH 15/16] blogs: Retry to ignore faulty blog feeds --- cookbooks/blogs/recipes/default.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/cookbooks/blogs/recipes/default.rb b/cookbooks/blogs/recipes/default.rb index 86dfd3afe..026c1821f 100644 --- a/cookbooks/blogs/recipes/default.rb +++ b/cookbooks/blogs/recipes/default.rb @@ -67,6 +67,7 @@ bundle_exec "/srv/blogs.openstreetmap.org" do user "blogs" group "blogs" subscribes :run, "git[/srv/blogs.openstreetmap.org]", :immediately + retries 2 # May fail on first run due to faulty blogs end ssl_certificate "blogs.openstreetmap.org" do -- 2.39.5 From 9620f5263c793517e077121ac90b0fa5e657aaed Mon Sep 17 00:00:00 2001 From: Pablo Brasero Date: Thu, 9 Oct 2025 16:28:04 +0100 Subject: [PATCH 16/16] Use more conventional `bundle` over `bundler` --- CONTRIBUTING.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5345a0786..f025e7f85 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -52,9 +52,9 @@ This will install the recommended version of ruby for running the tests. The rec #### **6. Install Dependencies with Bundler** ```bash rbenv exec gem install bundler -rbenv exec bundler install +rbenv exec bundle install ``` -This will install the [bundler](https://bundler.io/), the ruby gem packages manager, and then uses `bundler`` to install the required gem packages for the tests. +This will install the [bundler](https://bundler.io/), the ruby gem packages manager, and then uses `bundle` to install the required gem packages for the tests. #### **7. Run Cookstyle for Linting and Style Checks** ```bash @@ -66,12 +66,12 @@ This will run [cookstyle](https://docs.chef.io/workstation/cookstyle/) a linting #### **8. List Available Tests** ```bash -rbenv exec bundler exec kitchen list +rbenv exec bundle exec kitchen list ``` This lists the [Test Kitchen](https://kitchen.ci/) tests which are available. The list of tests is generated from the definitions in the [.kitchen.yml](.kitchen.yml) file. The individual tests are written in [InSpec](https://docs.chef.io/inspec/) and are stored in the `test/integration/` directory. #### **9. Run an Example Test** ```bash -rbenv exec bundler exec kitchen test dns-ubuntu-2204 +rbenv exec bundle exec kitchen test dns-ubuntu-2204 ``` This runs the [Test Kitchen](https://kitchen.ci/) [InSpec](https://docs.chef.io/inspec/) `dns` tests using the `Ubuntu 22.04` platform. The tests are run inside a Docker container using the Test Kitchen [Dokken driver](https://github.com/test-kitchen/kitchen-dokken). -- 2.39.5