]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/stateofthemap/recipes/jekyll.rb
Move foundation::owg to naga
[chef.git] / cookbooks / stateofthemap / recipes / jekyll.rb
index e286f2f7cb4fb9915a9c324c88cd1432a47750a3..c4e00801656f02cc094c2971b5b74a666e5674a1 100644 (file)
 # limitations under the License.
 #
 
-include_recipe "stateofthemap"
-include_recipe "ruby"
+include_recipe "apache"
+include_recipe "podman"
 
-package %w[
-  gcc
-  g++
-  make
-  libssl-dev
-  zlib1g-dev
-  pkg-config
-]
-
-apache_module "expires"
-apache_module "rewrite"
+apache_module "proxy_http"
 
 %w[2016 2017 2018 2019 2020 2021 2022].each do |year|
-  git "/srv/#{year}.stateofthemap.org" do
-    action :sync
-    repository "https://github.com/openstreetmap/stateofthemap-#{year}.git"
-    depth 1
-    user "root"
-    group "root"
-    notifies :run, "bundle_install[/srv/#{year}.stateofthemap.org]"
-  end
-
-  directory "/srv/#{year}.stateofthemap.org/_site" do
-    mode "755"
-    owner "nobody"
-    group "nogroup"
-  end
-
-  # Workaround https://github.com/jekyll/jekyll/issues/7804
-  # by creating a .jekyll-cache folder
-  directory "/srv/#{year}.stateofthemap.org/.jekyll-cache" do
-    mode "755"
-    owner "nobody"
-    group "nogroup"
-  end
-
-  bundle_install "/srv/#{year}.stateofthemap.org" do
-    action :nothing
-    options "--deployment --jobs #{node[:cpu][:total]}"
-    user "root"
-    group "root"
-    notifies :run, "bundle_exec[/srv/#{year}.stateofthemap.org]"
-    only_if { ::File.exist?("/srv/#{year}.stateofthemap.org/Gemfile") }
-  end
+  docker_external_port = 6080 + year.to_i # 8096+
 
-  bundle_exec "/srv/#{year}.stateofthemap.org" do
-    action :nothing
-    command "jekyll build --trace --baseurl=https://#{year}.stateofthemap.org"
-    user "nobody"
-    group "nogroup"
-    environment "LANG" => "C.UTF-8"
+  podman_service "#{year}.stateofthemap.org" do
+    description "Container service for #{year}.stateofthemap.org"
+    image "ghcr.io/openstreetmap/stateofthemap-#{year}:latest"
+    ports docker_external_port => "8080"
   end
 
   ssl_certificate "#{year}.stateofthemap.org" do
@@ -80,7 +38,6 @@ apache_module "rewrite"
 
   apache_site "#{year}.stateofthemap.org" do
     template "apache.jekyll.erb"
-    directory "/srv/#{year}.stateofthemap.org/_site"
-    variables :year => year
+    variables :docker_external_port => docker_external_port, :aliases => ["#{year}.stateofthemap.com", "#{year}.sotm.org"]
   end
 end