Explicitly load letsencrypt intermediate on 14.04 machines
[chef.git] / cookbooks / ssl / recipes / default.rb
index 4bbcea4..1635ed2 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