]> git.openstreetmap.org Git - chef.git/commitdiff
Merge remote-tracking branch 'github/pull/580'
authorTom Hughes <tom@compton.nu>
Wed, 15 Feb 2023 12:13:54 +0000 (12:13 +0000)
committerTom Hughes <tom@compton.nu>
Wed, 15 Feb 2023 12:13:54 +0000 (12:13 +0000)
22 files changed:
cookbooks/foundation/recipes/owg.rb
cookbooks/foundation/recipes/welcome.rb
cookbooks/foundation/templates/default/apache.owg.erb [deleted file]
cookbooks/foundation/templates/default/apache.welcome.erb [deleted file]
cookbooks/irc/metadata.rb
cookbooks/irc/recipes/default.rb
cookbooks/irc/templates/default/apache.erb [deleted file]
cookbooks/podman/attributes/default.rb [new file with mode: 0644]
cookbooks/podman/metadata.rb
cookbooks/podman/recipes/apache.rb [new file with mode: 0644]
cookbooks/podman/resources/site.rb [new file with mode: 0644]
cookbooks/podman/templates/default/apache.erb [moved from cookbooks/subversion/templates/default/apache.erb with 96% similarity]
cookbooks/stateofthemap/recipes/container.rb
cookbooks/stateofthemap/templates/default/apache.container.erb [deleted file]
cookbooks/subversion/metadata.rb
cookbooks/subversion/recipes/default.rb
cookbooks/switch2osm/metadata.rb
cookbooks/switch2osm/recipes/default.rb
cookbooks/switch2osm/templates/default/apache.erb [deleted file]
cookbooks/trac/metadata.rb
cookbooks/trac/recipes/default.rb
cookbooks/trac/templates/default/apache.erb [deleted file]

index 60878e22c55c987f74deee2d80da0042c738b94d..7054ec14a687ee766406eb67072fe9cc81bb0b0d 100644 (file)
 # limitations under the License.
 #
 
-include_recipe "apache"
-include_recipe "podman"
+include_recipe "podman::apache"
 
-docker_external_port = 8091
-
-podman_service "operations.osmfoundation.org" do
-  description "Container service for operations.osmfoundation.org"
+podman_site "operations.osmfoundation.org" do
   image "ghcr.io/openstreetmap/owg-website:latest"
-  ports docker_external_port => "8080"
-end
-
-ssl_certificate "operations.osmfoundation.org" do
-  domains ["operations.osmfoundation.org", "operations.openstreetmap.org", "operations.osm.org"]
-  notifies :reload, "service[apache2]"
-end
-
-apache_module "proxy_http"
-
-apache_site "operations.osmfoundation.org" do
-  template "apache.owg.erb"
-  variables :docker_external_port => docker_external_port, :aliases => ["operations.openstreetmap.org", "operations.osm.org"]
+  aliases ["operations.openstreetmap.org", "operations.osm.org"]
 end
index fd8416bf4d0e2f3af1a0ef137c61ac603381c8bd..30f58f9c22136f3a6feb4e86643eec79982d7b52 100644 (file)
 # limitations under the License.
 #
 
-include_recipe "apache"
-include_recipe "podman"
+include_recipe "podman::apache"
 
-docker_external_port = 8090
-
-podman_service "welcome-mat" do
-  description "Container service for welcome.openstreetmap.org"
+podman_site "welcome.openstreetmap.org" do
   image "ghcr.io/osmfoundation/welcome-mat:latest"
-  ports docker_external_port => "8080"
-end
-
-ssl_certificate "welcome.openstreetmap.org" do
-  domains ["welcome.openstreetmap.org", "welcome.osm.org"]
-  notifies :reload, "service[apache2]"
-end
-
-apache_module "proxy_http"
-
-apache_site "welcome.openstreetmap.org" do
-  template "apache.welcome.erb"
-  variables :docker_external_port => docker_external_port, :aliases => ["welcome.osm.org"]
+  aliases ["welcome.osm.org"]
 end
diff --git a/cookbooks/foundation/templates/default/apache.owg.erb b/cookbooks/foundation/templates/default/apache.owg.erb
deleted file mode 100644 (file)
index 55dc39c..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-# DO NOT EDIT - This file is being maintained by Chef
-
-<VirtualHost *:80>
-  ServerName <%= @name %>
-<% @aliases.each do |alias_name| -%>
-  ServerAlias <%= alias_name %>
-<% end -%>
-  ServerAdmin webmaster@openstreetmap.org
-
-  CustomLog /var/log/apache2/<%= @name %>-access.log combined
-  ErrorLog /var/log/apache2/<%= @name %>-error.log
-
-  RedirectPermanent /.well-known/acme-challenge/ http://acme.openstreetmap.org/.well-known/acme-challenge/
-  RedirectPermanent / https://<%= @name %>/
-</VirtualHost>
-<% unless @aliases.empty? -%>
-
-<VirtualHost *:443>
-  ServerName <%= @aliases.first %>
-<% @aliases.drop(1).each do |alias_name| -%>
-  ServerAlias <%= alias_name %>
-<% end -%>
-  ServerAdmin webmaster@openstreetmap.org
-
-  CustomLog /var/log/apache2/<%= @name %>-access.log combined
-  ErrorLog /var/log/apache2/<%= @name %>-error.log
-
-  SSLEngine on
-  SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem
-  SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key
-
-  RedirectPermanent / https://<%= @name %>/
-</VirtualHost>
-<% end -%>
-
-<VirtualHost *:443>
-  ServerName <%= @name %>
-  ServerAdmin webmaster@openstreetmap.org
-
-  CustomLog /var/log/apache2/<%= @name %>-access.log combined
-  ErrorLog /var/log/apache2/<%= @name %>-error.log
-
-  SSLEngine on
-  SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem
-  SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key
-
-  RequestHeader set X-Forwarded-Proto "https"
-  RequestHeader set X-Forwarded-Port "443"
-
-  ProxyPass / http://localhost:<%= @docker_external_port %>/
-  ProxyPreserveHost on
-</VirtualHost>
diff --git a/cookbooks/foundation/templates/default/apache.welcome.erb b/cookbooks/foundation/templates/default/apache.welcome.erb
deleted file mode 100644 (file)
index 55dc39c..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-# DO NOT EDIT - This file is being maintained by Chef
-
-<VirtualHost *:80>
-  ServerName <%= @name %>
-<% @aliases.each do |alias_name| -%>
-  ServerAlias <%= alias_name %>
-<% end -%>
-  ServerAdmin webmaster@openstreetmap.org
-
-  CustomLog /var/log/apache2/<%= @name %>-access.log combined
-  ErrorLog /var/log/apache2/<%= @name %>-error.log
-
-  RedirectPermanent /.well-known/acme-challenge/ http://acme.openstreetmap.org/.well-known/acme-challenge/
-  RedirectPermanent / https://<%= @name %>/
-</VirtualHost>
-<% unless @aliases.empty? -%>
-
-<VirtualHost *:443>
-  ServerName <%= @aliases.first %>
-<% @aliases.drop(1).each do |alias_name| -%>
-  ServerAlias <%= alias_name %>
-<% end -%>
-  ServerAdmin webmaster@openstreetmap.org
-
-  CustomLog /var/log/apache2/<%= @name %>-access.log combined
-  ErrorLog /var/log/apache2/<%= @name %>-error.log
-
-  SSLEngine on
-  SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem
-  SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key
-
-  RedirectPermanent / https://<%= @name %>/
-</VirtualHost>
-<% end -%>
-
-<VirtualHost *:443>
-  ServerName <%= @name %>
-  ServerAdmin webmaster@openstreetmap.org
-
-  CustomLog /var/log/apache2/<%= @name %>-access.log combined
-  ErrorLog /var/log/apache2/<%= @name %>-error.log
-
-  SSLEngine on
-  SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem
-  SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key
-
-  RequestHeader set X-Forwarded-Proto "https"
-  RequestHeader set X-Forwarded-Port "443"
-
-  ProxyPass / http://localhost:<%= @docker_external_port %>/
-  ProxyPreserveHost on
-</VirtualHost>
index 755e6f9c750c8e01b160ccd20ff0917a8c2cc731..80523f6b426b27b4c174833852961d074a7dea33 100644 (file)
@@ -6,5 +6,4 @@ description       "Configures irc.openstreetmap.org"
 
 version           "1.0.0"
 supports          "ubuntu"
-depends           "apache"
 depends           "podman"
index ef6332dceeaea8c2e2b56201b3a8c42318dbc3c8..7ebcfc7bad6e8ce60ea9416d943098a38648db09 100644 (file)
 # limitations under the License.
 #
 
-include_recipe "apache"
-include_recipe "podman"
+include_recipe "podman::apache"
 
-docker_external_port = 8092
-
-podman_service "irc.openstreetmap.org" do
-  description "Container service for irc.openstreetmap.org"
+podman_site "irc.openstreetmap.org" do
   image "ghcr.io/openstreetmap/irc:latest"
-  ports docker_external_port => "8080"
-end
-
-ssl_certificate "irc.openstreetmap.org" do
-  domains ["irc.openstreetmap.org", "irc.osm.org"]
-  notifies :reload, "service[apache2]"
-end
-
-apache_module "proxy_http"
-
-apache_site "irc.openstreetmap.org" do
-  template "apache.erb"
-  variables :docker_external_port => docker_external_port, :aliases => ["irc.osm.org"]
+  aliases ["irc.osm.org"]
 end
diff --git a/cookbooks/irc/templates/default/apache.erb b/cookbooks/irc/templates/default/apache.erb
deleted file mode 100644 (file)
index 55dc39c..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-# DO NOT EDIT - This file is being maintained by Chef
-
-<VirtualHost *:80>
-  ServerName <%= @name %>
-<% @aliases.each do |alias_name| -%>
-  ServerAlias <%= alias_name %>
-<% end -%>
-  ServerAdmin webmaster@openstreetmap.org
-
-  CustomLog /var/log/apache2/<%= @name %>-access.log combined
-  ErrorLog /var/log/apache2/<%= @name %>-error.log
-
-  RedirectPermanent /.well-known/acme-challenge/ http://acme.openstreetmap.org/.well-known/acme-challenge/
-  RedirectPermanent / https://<%= @name %>/
-</VirtualHost>
-<% unless @aliases.empty? -%>
-
-<VirtualHost *:443>
-  ServerName <%= @aliases.first %>
-<% @aliases.drop(1).each do |alias_name| -%>
-  ServerAlias <%= alias_name %>
-<% end -%>
-  ServerAdmin webmaster@openstreetmap.org
-
-  CustomLog /var/log/apache2/<%= @name %>-access.log combined
-  ErrorLog /var/log/apache2/<%= @name %>-error.log
-
-  SSLEngine on
-  SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem
-  SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key
-
-  RedirectPermanent / https://<%= @name %>/
-</VirtualHost>
-<% end -%>
-
-<VirtualHost *:443>
-  ServerName <%= @name %>
-  ServerAdmin webmaster@openstreetmap.org
-
-  CustomLog /var/log/apache2/<%= @name %>-access.log combined
-  ErrorLog /var/log/apache2/<%= @name %>-error.log
-
-  SSLEngine on
-  SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem
-  SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key
-
-  RequestHeader set X-Forwarded-Proto "https"
-  RequestHeader set X-Forwarded-Port "443"
-
-  ProxyPass / http://localhost:<%= @docker_external_port %>/
-  ProxyPreserveHost on
-</VirtualHost>
diff --git a/cookbooks/podman/attributes/default.rb b/cookbooks/podman/attributes/default.rb
new file mode 100644 (file)
index 0000000..0d4f407
--- /dev/null
@@ -0,0 +1 @@
+default[:podman][:ports] = {}
index e1039e85d6826cd51e1a399622fbc89d6cd3d991..d44ad30bdd3ef9af6ca6dd90b33b14aac43e6a05 100644 (file)
@@ -6,4 +6,5 @@ description       "Installs and configures podman"
 
 version           "1.0.0"
 supports          "ubuntu"
+depends           "apache"
 depends           "systemd"
diff --git a/cookbooks/podman/recipes/apache.rb b/cookbooks/podman/recipes/apache.rb
new file mode 100644 (file)
index 0000000..b63bfe4
--- /dev/null
@@ -0,0 +1,23 @@
+#
+# Cookbook:: podman
+# Recipe:: apache
+#
+# Copyright:: 2023, OpenStreetMap Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+include_recipe "podman"
+include_recipe "apache"
+
+apache_module "proxy_http"
diff --git a/cookbooks/podman/resources/site.rb b/cookbooks/podman/resources/site.rb
new file mode 100644 (file)
index 0000000..e0b0f8c
--- /dev/null
@@ -0,0 +1,91 @@
+#
+# Cookbook:: podman
+# Resource:: podman_site
+#
+# Copyright:: 2023, OpenStreetMap Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+require "yaml"
+
+unified_mode true
+
+default_action :create
+
+property :site, String, :name_property => true
+property :image, String, :required => true
+property :port, Integer, :default => 8080
+property :aliases, :kind_of => Array, :default => []
+
+action :create do
+  podman_service new_resource.site do
+    description "Container service for #{new_resource.site}"
+    image new_resource.image
+    ports external_port => new_resource.port
+  end
+
+  ssl_certificate new_resource.site do
+    domains Array(new_resource.site) + new_resource.aliases
+  end
+
+  apache_site new_resource.site do
+    cookbook "podman"
+    template "apache.erb"
+    variables :port => external_port, :aliases => new_resource.aliases
+  end
+end
+
+action :delete do
+  apache_site new_resource.site do
+    action [:disable, :delete]
+  end
+
+  podman_service new_resource.site do
+    action :delete
+  end
+
+  node.rm_normal(:podman, :ports, new_resource.site)
+end
+
+action_class do
+  def ports_file
+    "#{Chef::Config[:file_cache_path]}/podman-ports.yml"
+  end
+
+  def ports
+    @ports ||= if ::File.exist?(ports_file)
+                 YAML.safe_load(::File.read(ports_file))
+               else
+                 {}
+               end
+  end
+
+  def external_port
+    unless ports.include?(new_resource.site)
+      port = 40000
+
+      port += 1 while ports.values.include?(port)
+
+      ports[new_resource.site] = port
+
+      ::File.write(ports_file, YAML.dump(ports))
+    end
+
+    ports[new_resource.site]
+  end
+end
+
+def after_created
+  notifies :reload, "service[apache2]"
+end
similarity index 96%
rename from cookbooks/subversion/templates/default/apache.erb
rename to cookbooks/podman/templates/default/apache.erb
index 55dc39c18b1f37a6cb9448932af0b2bf18bc13ec..3c1f510c2ca5692e8fa92a25ceba9daf4e510d35 100644 (file)
@@ -47,6 +47,6 @@
   RequestHeader set X-Forwarded-Proto "https"
   RequestHeader set X-Forwarded-Port "443"
 
-  ProxyPass / http://localhost:<%= @docker_external_port %>/
+  ProxyPass / http://localhost:<%= @port %>/
   ProxyPreserveHost on
 </VirtualHost>
index 5a7de8d527d59286a59789b47fb51695c8fcfc3d..2d49ba6c55fc34cab99fb0533ce2d8f4ff08e0eb 100644 (file)
 # limitations under the License.
 #
 
-include_recipe "apache"
-include_recipe "podman"
+include_recipe "podman::apache"
 
-apache_module "proxy_http"
-
-docker_external_port = 8096
-
-podman_service "www.stateofthemap.org" do
-  description "Container service for www.stateofthemap.org"
+podman_site "www.stateofthemap.org" do
   image "ghcr.io/openstreetmap/stateofthemap-website:latest"
-  ports docker_external_port => "8080"
-end
-
-ssl_certificate "stateofthemap.org" do
-  domains ["stateofthemap.org", "www.stateofthemap.org",
-           "stateofthemap.com", "www.stateofthemap.com",
-           "sotm.org", "www.sotm.org"]
-  notifies :reload, "service[apache2]"
-end
-
-apache_site "stateofthemap.org" do
-  template "apache.container.erb"
-  variables :docker_external_port => docker_external_port, :aliases => ["www.stateofthemap.org", "stateofthemap.com", "www.stateofthemap.com", "sotm.org", "www.sotm.org"]
+  aliases ["www.stateofthemap.org", "stateofthemap.com", "www.stateofthemap.com", "sotm.org", "www.sotm.org"]
 end
 
 %w[2013 2016 2017 2018 2019 2020 2021 2022].each do |year|
-  docker_external_port = 6180 + year.to_i # 8193+
-
-  podman_service "#{year}.stateofthemap.org" do
-    description "Container service for #{year}.stateofthemap.org"
+  podman_site "#{year}.stateofthemap.org" do
     image "ghcr.io/openstreetmap/stateofthemap-#{year}:latest"
-    ports docker_external_port => "8080"
-  end
-
-  ssl_certificate "#{year}.stateofthemap.org" do
-    domains ["#{year}.stateofthemap.org", "#{year}.stateofthemap.com", "#{year}.sotm.org"]
-    notifies :reload, "service[apache2]"
-  end
-
-  apache_site "#{year}.stateofthemap.org" do
-    template "apache.container.erb"
-    variables :docker_external_port => docker_external_port, :aliases => ["#{year}.stateofthemap.com", "#{year}.sotm.org"]
+    aliases ["#{year}.stateofthemap.com", "#{year}.sotm.org"]
   end
 end
diff --git a/cookbooks/stateofthemap/templates/default/apache.container.erb b/cookbooks/stateofthemap/templates/default/apache.container.erb
deleted file mode 100644 (file)
index 55dc39c..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-# DO NOT EDIT - This file is being maintained by Chef
-
-<VirtualHost *:80>
-  ServerName <%= @name %>
-<% @aliases.each do |alias_name| -%>
-  ServerAlias <%= alias_name %>
-<% end -%>
-  ServerAdmin webmaster@openstreetmap.org
-
-  CustomLog /var/log/apache2/<%= @name %>-access.log combined
-  ErrorLog /var/log/apache2/<%= @name %>-error.log
-
-  RedirectPermanent /.well-known/acme-challenge/ http://acme.openstreetmap.org/.well-known/acme-challenge/
-  RedirectPermanent / https://<%= @name %>/
-</VirtualHost>
-<% unless @aliases.empty? -%>
-
-<VirtualHost *:443>
-  ServerName <%= @aliases.first %>
-<% @aliases.drop(1).each do |alias_name| -%>
-  ServerAlias <%= alias_name %>
-<% end -%>
-  ServerAdmin webmaster@openstreetmap.org
-
-  CustomLog /var/log/apache2/<%= @name %>-access.log combined
-  ErrorLog /var/log/apache2/<%= @name %>-error.log
-
-  SSLEngine on
-  SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem
-  SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key
-
-  RedirectPermanent / https://<%= @name %>/
-</VirtualHost>
-<% end -%>
-
-<VirtualHost *:443>
-  ServerName <%= @name %>
-  ServerAdmin webmaster@openstreetmap.org
-
-  CustomLog /var/log/apache2/<%= @name %>-access.log combined
-  ErrorLog /var/log/apache2/<%= @name %>-error.log
-
-  SSLEngine on
-  SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem
-  SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key
-
-  RequestHeader set X-Forwarded-Proto "https"
-  RequestHeader set X-Forwarded-Port "443"
-
-  ProxyPass / http://localhost:<%= @docker_external_port %>/
-  ProxyPreserveHost on
-</VirtualHost>
index 571e49b226156474fd2e1a34b6c4036cec40813c..1d376481c0127aee792673bc1340ca773009fdea 100644 (file)
@@ -6,5 +6,4 @@ description       "Installs and configures subversion servers"
 
 version           "1.0.0"
 supports          "ubuntu"
-depends           "apache"
 depends           "podman"
index 0e71c97339d2f090c16fd8bb195d1c62cf3ae6c4..3ce35840bfcb7f758bef9154768fa593b2cfbb33 100644 (file)
 # limitations under the License.
 #
 
-include_recipe "apache"
-include_recipe "podman"
+include_recipe "podman::apache"
 
-docker_external_port = 8095
-
-podman_service "svn.openstreetmap.org" do
-  description "Container service for svn.openstreetmap.org"
+podman_site "svn.openstreetmap.org" do
   image "ghcr.io/openstreetmap/svn-website:latest"
-  ports docker_external_port => "8080"
-end
-
-ssl_certificate "svn.openstreetmap.org" do
-  domains ["svn.openstreetmap.org", "svn.osm.org"]
-  notifies :reload, "service[apache2]"
-end
-
-apache_module "proxy_http"
-
-apache_site "svn.openstreetmap.org" do
-  template "apache.erb"
-  variables :docker_external_port => docker_external_port, :aliases => ["svn.osm.org"]
+  aliases ["svn.osm.org"]
 end
index 890fd07effac49c0ed69cde4a5fe04a5fe24c83a..40f3aa308e2c8d6576571a5a416df35b9ee3984c 100644 (file)
@@ -6,5 +6,4 @@ description       "Installs and configures servers for switch2osm"
 
 version           "1.0.0"
 supports          "ubuntu"
-depends           "apache"
 depends           "podman"
index 78ca5ea6b9cef5294325b82ebf1d94cd1ab90813..d4eb9eeecdeb0b30224f36311e9a03642ea14b6c 100644 (file)
 # limitations under the License.
 #
 
-include_recipe "apache"
-include_recipe "podman"
+include_recipe "podman::apache"
 
-docker_external_port = 8093
-
-podman_service "switch2osm.org" do
-  description "Container service for switch2osm.org"
+podman_site "switch2osm.org" do
   image "ghcr.io/switch2osm/switch2osm:latest"
-  ports docker_external_port => "8080"
-end
-
-ssl_certificate "switch2osm.org" do
-  domains ["switch2osm.org",
-           "www.switch2osm.org", "switch2osm.com", "www.switch2osm.com"]
-  notifies :reload, "service[apache2]"
-end
-
-apache_module "proxy_http"
-
-apache_site "switch2osm.org" do
-  template "apache.erb"
-  variables :docker_external_port => docker_external_port, :aliases => ["www.switch2osm.org", "switch2osm.com", "www.switch2osm.com"]
+  aliases ["www.switch2osm.org", "switch2osm.com", "www.switch2osm.com"]
 end
diff --git a/cookbooks/switch2osm/templates/default/apache.erb b/cookbooks/switch2osm/templates/default/apache.erb
deleted file mode 100644 (file)
index 55dc39c..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-# DO NOT EDIT - This file is being maintained by Chef
-
-<VirtualHost *:80>
-  ServerName <%= @name %>
-<% @aliases.each do |alias_name| -%>
-  ServerAlias <%= alias_name %>
-<% end -%>
-  ServerAdmin webmaster@openstreetmap.org
-
-  CustomLog /var/log/apache2/<%= @name %>-access.log combined
-  ErrorLog /var/log/apache2/<%= @name %>-error.log
-
-  RedirectPermanent /.well-known/acme-challenge/ http://acme.openstreetmap.org/.well-known/acme-challenge/
-  RedirectPermanent / https://<%= @name %>/
-</VirtualHost>
-<% unless @aliases.empty? -%>
-
-<VirtualHost *:443>
-  ServerName <%= @aliases.first %>
-<% @aliases.drop(1).each do |alias_name| -%>
-  ServerAlias <%= alias_name %>
-<% end -%>
-  ServerAdmin webmaster@openstreetmap.org
-
-  CustomLog /var/log/apache2/<%= @name %>-access.log combined
-  ErrorLog /var/log/apache2/<%= @name %>-error.log
-
-  SSLEngine on
-  SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem
-  SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key
-
-  RedirectPermanent / https://<%= @name %>/
-</VirtualHost>
-<% end -%>
-
-<VirtualHost *:443>
-  ServerName <%= @name %>
-  ServerAdmin webmaster@openstreetmap.org
-
-  CustomLog /var/log/apache2/<%= @name %>-access.log combined
-  ErrorLog /var/log/apache2/<%= @name %>-error.log
-
-  SSLEngine on
-  SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem
-  SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key
-
-  RequestHeader set X-Forwarded-Proto "https"
-  RequestHeader set X-Forwarded-Port "443"
-
-  ProxyPass / http://localhost:<%= @docker_external_port %>/
-  ProxyPreserveHost on
-</VirtualHost>
index 44c984f1c027b47da67674c645932c08299a282b..e781638263ca52e224285736abe2881579eeb5fd 100644 (file)
@@ -6,5 +6,4 @@ description       "Installs and configures trac servers"
 
 version           "1.0.0"
 supports          "ubuntu"
-depends           "apache"
 depends           "podman"
index 953efeaef664e6223ec55060f7d76000036898c6..4099810f1d89a2da9904c9dc7e4e8efbcfb70c15 100644 (file)
 # limitations under the License.
 #
 
-include_recipe "apache"
-include_recipe "podman"
+include_recipe "podman::apache"
 
-docker_external_port = 8094
-
-podman_service "trac.openstreetmap.org" do
-  description "Container service for trac.openstreetmap.org"
+podman_site "trac.openstreetmap.org" do
   image "ghcr.io/openstreetmap/trac-website:latest"
-  ports docker_external_port => "8080"
-end
-
-ssl_certificate "trac.openstreetmap.org" do
-  domains ["trac.openstreetmap.org", "trac.osm.org"]
-  notifies :reload, "service[apache2]"
-end
-
-apache_module "proxy_http"
-
-apache_site "trac.openstreetmap.org" do
-  template "apache.erb"
-  variables :docker_external_port => docker_external_port, :aliases => ["trac.osm.org"]
+  aliases ["trac.osm.org"]
 end
diff --git a/cookbooks/trac/templates/default/apache.erb b/cookbooks/trac/templates/default/apache.erb
deleted file mode 100644 (file)
index 55dc39c..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-# DO NOT EDIT - This file is being maintained by Chef
-
-<VirtualHost *:80>
-  ServerName <%= @name %>
-<% @aliases.each do |alias_name| -%>
-  ServerAlias <%= alias_name %>
-<% end -%>
-  ServerAdmin webmaster@openstreetmap.org
-
-  CustomLog /var/log/apache2/<%= @name %>-access.log combined
-  ErrorLog /var/log/apache2/<%= @name %>-error.log
-
-  RedirectPermanent /.well-known/acme-challenge/ http://acme.openstreetmap.org/.well-known/acme-challenge/
-  RedirectPermanent / https://<%= @name %>/
-</VirtualHost>
-<% unless @aliases.empty? -%>
-
-<VirtualHost *:443>
-  ServerName <%= @aliases.first %>
-<% @aliases.drop(1).each do |alias_name| -%>
-  ServerAlias <%= alias_name %>
-<% end -%>
-  ServerAdmin webmaster@openstreetmap.org
-
-  CustomLog /var/log/apache2/<%= @name %>-access.log combined
-  ErrorLog /var/log/apache2/<%= @name %>-error.log
-
-  SSLEngine on
-  SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem
-  SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key
-
-  RedirectPermanent / https://<%= @name %>/
-</VirtualHost>
-<% end -%>
-
-<VirtualHost *:443>
-  ServerName <%= @name %>
-  ServerAdmin webmaster@openstreetmap.org
-
-  CustomLog /var/log/apache2/<%= @name %>-access.log combined
-  ErrorLog /var/log/apache2/<%= @name %>-error.log
-
-  SSLEngine on
-  SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem
-  SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key
-
-  RequestHeader set X-Forwarded-Proto "https"
-  RequestHeader set X-Forwarded-Port "443"
-
-  ProxyPass / http://localhost:<%= @docker_external_port %>/
-  ProxyPreserveHost on
-</VirtualHost>