]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/ssl/recipes/default.rb
Switch logstash.osm.org to letsencrypt
[chef.git] / cookbooks / ssl / recipes / default.rb
index 4bbcea471acb1cd8873f16723f24d57aaa0f4c6e..1635ed24d52edd784c65c096db6d81efea3351f2 100644 (file)
 #
 
 keys = data_bag_item("ssl", "keys")
+certs = data_bag_item("ssl", "certs")
 
 package "openssl"
 package "ssl-cert"
 
-cookbook_file "/etc/ssl/certs/rapidssl.pem" do
-  owner "root"
-  group "root"
-  mode 0444
-  backup false
+%w(letsencrypt rapidssl startcom dhparam).each do |certificate|
+  cookbook_file "/etc/ssl/certs/#{certificate}.pem" do
+    owner "root"
+    group "root"
+    mode 0o444
+    backup false
+  end
 end
 
-cookbook_file "/etc/ssl/certs/openstreetmap.pem" do
-  owner "root"
-  group "root"
-  mode 0444
-  backup false
-end
+["openstreetmap", "tile.openstreetmap", "osmfoundation"].each do |certificate|
+  if node[:ssl][:certificates].include?(certificate)
+    file "/etc/ssl/certs/#{certificate}.pem" do
+      owner "root"
+      group "root"
+      mode 0o444
+      content certs[certificate].join("\n")
+      backup false
+    end
+
+    file "/etc/ssl/private/#{certificate}.key" do
+      owner "root"
+      group "ssl-cert"
+      mode 0o440
+      content keys[certificate].join("\n")
+      backup false
+    end
+  else
+    file "/etc/ssl/certs/#{certificate}.pem" do
+      action :delete
+    end
 
-file "/etc/ssl/private/openstreetmap.key" do
-  owner "root"
-  group "ssl-cert"
-  mode 0440
-  content keys["openstreetmap"].join("\n")
-  backup false
+    file "/etc/ssl/private/#{certificate}.key" do
+      action :delete
+    end
+  end
 end