It creates a folder, the nginx vhost for certbot and HTTP redirects, and also runs certbot and recreates the nginx vhost that includes the TLS cert
44 lines
1.1 KiB
Ruby
44 lines
1.1 KiB
Ruby
#
|
|
# Cookbook Name:: sockethub
|
|
# Recipe:: proxy
|
|
#
|
|
# Copyright 2015-2019, Kosmos
|
|
#
|
|
# All rights reserved - Do Not Redistribute
|
|
#
|
|
|
|
unless node.chef_environment == "development"
|
|
include_recipe "firewall"
|
|
firewall_rule 'sockethub' do
|
|
port node['sockethub']['external_port'].to_i
|
|
protocol :tcp
|
|
command :allow
|
|
end
|
|
end
|
|
|
|
include_recipe 'kosmos-nginx'
|
|
server_name = node['sockethub']['nginx']['server_name']
|
|
|
|
template "#{node['nginx']['dir']}/sites-available/#{server_name}" do
|
|
source 'nginx_conf_sockethub.erb'
|
|
owner 'www-data'
|
|
mode 0640
|
|
variables sockethub_port: node['sockethub']['port'],
|
|
sockethub_external_port: node['sockethub']['external_port'],
|
|
server_name: server_name,
|
|
ssl_cert: "/etc/letsencrypt/live/#{server_name}/fullchain.pem",
|
|
ssl_key: "/etc/letsencrypt/live/#{server_name}/privkey.pem"
|
|
notifies :reload, 'service[nginx]', :delayed
|
|
end
|
|
|
|
# Legacy vhost
|
|
nginx_site "sockethub" do
|
|
action :disable
|
|
end
|
|
|
|
nginx_site server_name do
|
|
action :enable
|
|
end
|
|
|
|
nginx_certbot_site server_name
|