X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/f1eca0ea18fa4ba37f17019440b7882ada6db92e..04b7f0d2a1f964ef17e22c3bea6fef186f7539e8:/cookbooks/community/recipes/default.rb diff --git a/cookbooks/community/recipes/default.rb b/cookbooks/community/recipes/default.rb index 224cb975d..51c4624ea 100644 --- a/cookbooks/community/recipes/default.rb +++ b/cookbooks/community/recipes/default.rb @@ -62,9 +62,8 @@ 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 + # DANGER launch wrapper automatically updates git repo if rebuild method used: https://github.com/discourse/discourse_docker/blob/107ffb40fe8b1ea40e00814468db974a4f3f8e8f/launcher#L799 + revision "136c63890674b95df1327d24270c55e4ef8e87a8" user "root" group "root" notifies :run, "notify_group[discourse_container_new_data]" @@ -81,16 +80,28 @@ template "/srv/community.openstreetmap.org/docker/containers/data.yml" do 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, - :prometheus_servers => prometheus_servers + :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" @@ -110,18 +121,24 @@ notify_group "discourse_container_new_web_only" do notifies :run, "execute[discourse_container_data_start]", :immediately # noop if site up notifies :run, "execute[discourse_container_web_only_bootstrap]", :immediately # site up but runs in parallel. Slow notifies :run, "execute[discourse_container_web_only_destroy]", :immediately # site down - notifies :run, "execute[discourse_container_data_rebuild]", :immediately # site down + notifies :run, "execute[discourse_container_data_destroy]", :immediately # site down + notifies :run, "execute[discourse_container_data_bootstrap]", :immediately # site down + notifies :run, "execute[discourse_container_data_start]", :immediately # site down notifies :run, "execute[discourse_container_web_only_start]", :immediately # site restore end notify_group "discourse_container_new_data" do notifies :run, "execute[discourse_container_web_only_destroy]", :immediately # site down - notifies :run, "execute[discourse_container_data_rebuild]", :immediately # site down + notifies :run, "execute[discourse_container_data_destroy]", :immediately # site down + notifies :run, "execute[discourse_container_data_bootstrap]", :immediately # site down + notifies :run, "execute[discourse_container_data_start]", :immediately # site down notifies :run, "execute[discourse_container_web_only_start]", :immediately # site restore end notify_group "discourse_container_new_mail_receiver" do - notifies :run, "execute[discourse_container_mail_receiver_rebuild]", :immediately + notifies :run, "execute[discourse_container_mail_receiver_destroy]", :immediately + notifies :run, "execute[discourse_container_mail_receiver_bootstrap]", :immediately + notifies :run, "execute[discourse_container_mail_receiver_start]", :immediately end # Attempt at a failsafe to ensure all containers are running @@ -132,17 +149,25 @@ notify_group "discourse_container_ensure_all_running" do notifies :run, "execute[discourse_container_mail_receiver_start]", :delayed end -execute "discourse_container_data_start" do +execute "discourse_container_data_bootstrap" do action :nothing - command "./launcher start data" + command "./launcher bootstrap data" + cwd "/srv/community.openstreetmap.org/docker/" + user "root" + group "root" +end + +execute "discourse_container_data_destroy" do + action :nothing + command "./launcher destroy data" cwd "/srv/community.openstreetmap.org/docker/" user "root" group "root" end -execute "discourse_container_data_rebuild" do +execute "discourse_container_data_start" do action :nothing - command "./launcher rebuild data" + command "./launcher start data" cwd "/srv/community.openstreetmap.org/docker/" user "root" group "root" @@ -172,10 +197,17 @@ execute "discourse_container_web_only_start" do group "root" end -# Rebuild: Stop Destroy Bootstap Start -execute "discourse_container_mail_receiver_rebuild" do +execute "discourse_container_mail_receiver_bootstrap" do + action :nothing + command "./launcher bootstrap mail-receiver" + cwd "/srv/community.openstreetmap.org/docker/" + user "root" + group "root" +end + +execute "discourse_container_mail_receiver_destroy" do action :nothing - command "./launcher rebuild mail-receiver" + command "./launcher destroy mail-receiver" cwd "/srv/community.openstreetmap.org/docker/" user "root" group "root"