X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/2f23300adc2b6a6730c3d8eaa1bcc45d95b208e6..c8e12edfbc66208ba83b421fb9327023b1c478c9:/cookbooks/community/recipes/default.rb diff --git a/cookbooks/community/recipes/default.rb b/cookbooks/community/recipes/default.rb index b70a1412d..2297fa76c 100644 --- a/cookbooks/community/recipes/default.rb +++ b/cookbooks/community/recipes/default.rb @@ -25,11 +25,6 @@ include_recipe "geoipupdate" passwords = data_bag_item("community", "passwords") license_keys = data_bag_item("geoipupdate", "license-keys") -ssl_certificate "community.openstreetmap.org" do - domains ["community.openstreetmap.org", "community.osm.org"] - notifies :run, "execute[discourse_container_web_only_rebuild]" -end - directory "/srv/community.openstreetmap.org" do owner "root" group "root" @@ -50,7 +45,8 @@ git "/srv/community.openstreetmap.org/docker" do user "root" group "root" notifies :run, "execute[discourse_container_data_rebuild]" - notifies :run, "execute[discourse_container_web_only_rebuild]" + notifies :run, "execute[discourse_container_web_only_bootstrap]" + notifies :run, "execute[discourse_container_mail_receiver_rebuild]" end template "/srv/community.openstreetmap.org/docker/containers/data.yml" do @@ -58,7 +54,7 @@ template "/srv/community.openstreetmap.org/docker/containers/data.yml" do owner "root" group "root" mode "644" - variables :license_keys => license_keys, :passwords => passwords + variables :passwords => passwords notifies :run, "execute[discourse_container_data_rebuild]" end @@ -68,9 +64,19 @@ template "/srv/community.openstreetmap.org/docker/containers/web_only.yml" do group "root" mode "644" variables :license_keys => license_keys, :passwords => passwords - notifies :run, "execute[discourse_container_web_only_rebuild]" + notifies :run, "execute[discourse_container_web_only_bootstrap]" +end + +template "/srv/community.openstreetmap.org/docker/containers/mail-receiver.yml" do + source "mail-receiver.yml.erb" + owner "root" + group "root" + mode "644" + variables :passwords => passwords + notifies :run, "execute[discourse_container_mail_receiver_rebuild]" end +# Destroy Bootstap Start execute "discourse_container_data_rebuild" do action :nothing command "./launcher rebuild data" @@ -79,16 +85,64 @@ execute "discourse_container_data_rebuild" do group "root" end -execute "discourse_container_web_only_rebuild" do +ssl_certificate "community.openstreetmap.org" do + domains ["community.openstreetmap.org", "community.osm.org", "communities.openstreetmap.org", "communities.osm.org"] + notifies :run, "execute[discourse_container_web_only_bootstrap]" +end + +execute "discourse_container_data_start" do + action :run + command "./launcher start data" + cwd "/srv/community.openstreetmap.org/docker/" + user "root" + group "root" +end + +execute "discourse_container_web_only_bootstrap" do + action :nothing + command "./launcher bootstrap web_only" + cwd "/srv/community.openstreetmap.org/docker/" + user "root" + group "root" + notifies :run, "execute[discourse_container_web_only_destroy]", :immediately +end + +execute "discourse_container_web_only_destroy" do action :nothing - command "./launcher rebuild web_only" + command "./launcher destroy web_only" + cwd "/srv/community.openstreetmap.org/docker/" + user "root" + group "root" + notifies :run, "execute[discourse_container_web_only_start]", :immediately +end + +execute "discourse_container_web_only_start" do + action :run + command "./launcher start web_only" cwd "/srv/community.openstreetmap.org/docker/" user "root" group "root" + notifies :run, "execute[discourse_container_data_start]", :before +end + +# Destroy Bootstap Start +execute "discourse_container_mail_receiver_rebuild" do + action :nothing + command "./launcher rebuild mail-receiver" + cwd "/srv/community.openstreetmap.org/docker/" + user "root" + group "root" +end + +template "/etc/cron.daily/community-backup" do + source "backup.cron.erb" + owner "root" + group "root" + mode "750" end -## FIXME -# Backup the backups -# Maybe use /srv/community.openstreetmap.org/shared/web-only/backups/ -# Or https://github.com/discourse/discourse_docker/blob/8b0ae9b4da2f48d62d7a88035018dba403918325/templates/postgres.template.yml#L240 -# and tar of the shared web uploads +node.default[:prometheus][:exporters][443] = { + :name => "community", + :address => "#{node[:prometheus][:address]}:443", + :sni => "community.openstreetmap.org" +}