diff --git a/files/gitlab-cookbooks/letsencrypt/resources/certificate.rb b/files/gitlab-cookbooks/letsencrypt/resources/certificate.rb index 82fb71ea9a1878b1ebdb98a08ef99bb7a49b423f_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9sZXRzZW5jcnlwdC9yZXNvdXJjZXMvY2VydGlmaWNhdGUucmI=..822d616db7aa5ee79be11f67de6ef3f73abd1d74_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9sZXRzZW5jcnlwdC9yZXNvdXJjZXMvY2VydGlmaWNhdGUucmI= 100644 --- a/files/gitlab-cookbooks/letsencrypt/resources/certificate.rb +++ b/files/gitlab-cookbooks/letsencrypt/resources/certificate.rb @@ -22,6 +22,7 @@ helper = LetsEncryptHelper.new(node) contact_info = helper.contact - staging_key = OpenSSL::PKey::RSA.new ::File.read "#{new_resource.key}-staging" - staging_key_size = staging_key.to_text.split(/\n/).first[/[0-9]* bit/].split.first.to_i + if ::File.file?("#{new_resource.key}-staging") + staging_key = OpenSSL::PKey::RSA.new ::File.read "#{new_resource.key}-staging" + staging_key_size = staging_key.to_text.split(/\n/).first[/[0-9]* bit/].split.first.to_i @@ -27,6 +28,14 @@ - if new_resource.key_size.nil? - unless staging_key_size == node['acme']['key_size'] + if new_resource.key_size.nil? + unless staging_key_size == node['acme']['key_size'] + file "#{new_resource.key}-staging" do + action :delete + end + file "#{new_resource.crt}-staging" do + action :delete + end + end + elsif staging_key_size != new_resource.key_size file "#{new_resource.key}-staging" do action :delete end @@ -34,13 +43,6 @@ action :delete end end - elsif staging_key_size != new_resource.key_size - file "#{new_resource.key}-staging" do - action :delete - end - file "#{new_resource.crt}-staging" do - action :delete - end end acme_certificate 'staging' do @@ -64,6 +66,7 @@ end end - production_key = OpenSSL::PKey::RSA.new ::File.read new_resource.key - production_key_size = production_key.to_text.split(/\n/).first[/[0-9]* bit/].split.first.to_i + if ::File.file?(new_resource.key) + production_key = OpenSSL::PKey::RSA.new ::File.read new_resource.key + production_key_size = production_key.to_text.split(/\n/).first[/[0-9]* bit/].split.first.to_i @@ -69,6 +72,14 @@ - if new_resource.key_size.nil? - unless production_key_size == node['acme']['key_size'] + if new_resource.key_size.nil? + unless production_key_size == node['acme']['key_size'] + file new_resource.key do + action :delete + end + file new_resource.crt do + action :delete + end + end + elsif production_key_size != new_resource.key_size file new_resource.key do action :delete end @@ -76,13 +87,6 @@ action :delete end end - elsif production_key_size != new_resource.key_size - file new_resource.key do - action :delete - end - file new_resource.crt do - action :delete - end end acme_certificate 'production' do