Use the latest certbot instead of the old letsencrypt

This commit is contained in:
Greg Karékinian 2017-03-19 20:05:09 +00:00
parent 3ef2b8e5d5
commit 9436284be2
5 changed files with 38 additions and 11 deletions

View File

@ -7,16 +7,43 @@
# All rights reserved - Do Not Redistribute
#
git "/usr/local/letsencrypt" do
repository "https://github.com/letsencrypt/letsencrypt"
git "/usr/local/certbot" do
repository "https://github.com/certbot/certbot"
action :sync
revision "v0.5.0"
revision "v0.12.0"
user "root"
group "root"
end
letsencrypt_renew_hook = <<-EOF
#!/usr/bin/env bash
# Reloading nginx is enough to read the new certificates
systemctl reload nginx
# Copy the prosody certificate and restart the server if it has been renewed
# This is necessary because the prosody user doesn't have access to the
# letsencrypt live folder
echo "${RENEWED_DOMAINS}" | grep xmpp.5apps.com
if [ $? -ne 1 ]; then
cp /etc/letsencrypt/live/xmpp.5apps.com/fullchain.pem /var/lib/prosody/xmpp.5apps.com.crt
cp /etc/letsencrypt/live/xmpp.5apps.com/privkey.pem /var/lib/prosody/xmpp.5apps.com.key
systemctl restart prosody
else
exit 0
fi
EOF
file "/usr/local/bin/letsencrypt_renew_hook" do
content letsencrypt_renew_hook
mode 0700
owner "root"
group "root"
end
cron "renew Let's Encrypt certificates" do
minute "0"
hour "4"
command "/usr/local/letsencrypt/letsencrypt-auto renew && service nginx restart"
# The post hook is only executed if a cert has been renewed
command "/usr/local/certbot/certbot-auto renew --renew-hook \"/usr/local/bin/letsencrypt_renew_hook\" -n"
end

View File

@ -50,8 +50,8 @@ include_recipe "mediawiki::nginx"
include_recipe "kosmos-base::letsencrypt"
execute "letsencrypt cert for wiki.kosmos.org" do
command "./letsencrypt-auto certonly --webroot --agree-tos --email ops@5apps.com --webroot-path #{node["mediawiki"]["docroot_dir"]} -d wiki.kosmos.org"
cwd "/usr/local/letsencrypt"
command "./certbot-auto certonly --webroot --agree-tos --email ops@5apps.com --webroot-path #{node["mediawiki"]["docroot_dir"]} -d wiki.kosmos.org -n"
cwd "/usr/local/certbot"
not_if { File.exist? "/etc/letsencrypt/live/wiki.kosmos.org/fullchain.pem" }
notifies :reload, "service[nginx]", :delayed
end

View File

@ -64,8 +64,8 @@ include_recipe "kosmos-nginx"
include_recipe "wordpress::app"
execute "letsencrypt cert for blog.kosmos.org" do
command "./letsencrypt-auto certonly --webroot --agree-tos --email ops@5apps.com --webroot-path #{node['wordpress']['dir']} -d blog.kosmos.org"
cwd "/usr/local/letsencrypt"
command "./certbot-auto certonly --webroot --agree-tos --email ops@5apps.com --webroot-path #{node['wordpress']['dir']} -d blog.kosmos.org -n"
cwd "/usr/local/certbot"
not_if { File.exist? "/etc/letsencrypt/live/blog.kosmos.org/fullchain.pem" }
notifies :reload, "service[nginx]", :delayed
end

View File

@ -19,7 +19,7 @@ application "sockethub" do
action :deploy
repository 'https://github.com/sockethub/sockethub.git'
revision 'master'
revision 'v1.0.5'
nodejs do
entry_point '/srv/sockethub/current/bin/sockethub'

View File

@ -38,8 +38,8 @@ template "#{node['nginx']['dir']}/sites-available/sockethub" do
end
execute "letsencrypt cert for sockethub.kosmos.org" do
command "./letsencrypt-auto certonly --webroot --agree-tos --email ops@5apps.com --webroot-path /var/www/sockethub -d sockethub.kosmos.org"
cwd "/usr/local/letsencrypt"
command "./certbot-auto certonly --webroot --agree-tos --email ops@5apps.com --webroot-path /var/www/sockethub -d sockethub.kosmos.org -n"
cwd "/usr/local/certbot"
not_if { File.exist? "/etc/letsencrypt/live/sockethub.kosmos.org/fullchain.pem" }
notifies :reload, "service[nginx]", :delayed
end