passwords = data_bag_item("community", "passwords")
license_keys = data_bag_item("geoipupdate", "license-keys") unless kitchen?
+prometheus_servers = search(:node, "recipes:prometheus\\:\\:server").map do |server|
+ server.ipaddresses(:role => :external)
+end.flatten
+
# Disable any default installed apache2 service. Web server is embedded within the discourse docker container
service "apache2" do
action [:disable, :stop]
mode "755"
end
+directory "/srv/community.openstreetmap.org/files" do
+ owner "community"
+ group "community"
+ mode "755"
+end
+
+template "/srv/community.openstreetmap.org/files/update-feeds.atom" do
+ source "update-feeds.atom.erb"
+ owner "community"
+ group "community"
+ mode "644"
+end
+
git "/srv/community.openstreetmap.org/docker" do
action :sync
repository "https://github.com/discourse/discourse_docker.git"
+ # Revision pin not possible as launch wrapper automatically updates git repo.
revision "main"
depth 1
user "root"
notifies :run, "notify_group[discourse_container_new_data]"
end
+resolvers = node[:networking][:nameservers].map do |resolver|
+ resolver =~ /:/ ? "[#{resolver}]" : resolver
+end
+
template "/srv/community.openstreetmap.org/docker/containers/web_only.yml" do
source "web_only.yml.erb"
owner "root"
group "root"
mode "640"
- variables :license_keys => license_keys, :passwords => passwords
+ variables :license_keys => license_keys, :passwords => passwords,
+ :prometheus_servers => prometheus_servers, :resolvers => resolvers
notifies :run, "notify_group[discourse_container_new_web_only]"
end
+template "/srv/community.openstreetmap.org/files/policyd-spf.conf" do
+ source "policyd-spf.conf.erb"
+ owner "community"
+ group "community"
+ mode "644"
+ notifies :run, "notify_group[discourse_container_new_mail_receiver]"
+end
+
template "/srv/community.openstreetmap.org/docker/containers/mail-receiver.yml" do
source "mail-receiver.yml.erb"
owner "root"
end
ssl_certificate "community.openstreetmap.org" do
- domains ["community.openstreetmap.org", "community.osm.org", "communities.openstreetmap.org", "communities.osm.org"]
+ domains ["community.openstreetmap.org", "community.osm.org", "communities.openstreetmap.org", "communities.osm.org", "c.openstreetmap.org", "c.osm.org", "forum.openstreetmap.org", "forum.osm.org"]
notifies :run, "notify_group[discourse_container_new_web_only]"
notifies :run, "notify_group[discourse_container_new_mail_receiver]"
end