Skip to content

Instantly share code, notes, and snippets.

@turtlebender
Created June 20, 2012 16:12
Show Gist options
  • Save turtlebender/2960719 to your computer and use it in GitHub Desktop.
Save turtlebender/2960719 to your computer and use it in GitHub Desktop.
certificate deploy
# Cookbook Name:: certificates
# Recipe:: default
#
# Deploy one or more X.509 Certificates to a server.
#
# Copyright 2012, University of Chicago
#
# All rights reserved - Do Not Redistribute
#
package "openssl"
cert_descs = node[:certificates][:keys].map do |cert|
Chef::EncryptedDataBagItem.load(node[:certificates][:data_bag_name], cert_name)
end
cert_descs.each do |cert_desc|
[:cert, :cert_chain].each do |file_type|
if cert_desc.has_key? file_type
file cert_desc[:file_type][:path] do
content cert_desc[file_type][:data]
owner cert_desc[:owner] || 'root'
group cert_desc[:group] || 'root'
mode 644
end
end
file cert_desc[:key][:path] do
content cert_desc[:key][:data]
owner cert_desc[:owner] || 'root'
group cert_desc[:group] || 'root'
mode 600
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment