Error on upgrade 12.4.3 => 12.5.0: recipe compile error [letsencrypt]
Self-hosted omnibus installation on Debian Stretch
In gitlab.rb only the following related to "let's encrypt" is configured:
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['xxx@xxx.xx']
Error:
Installing Cookbook Gems:
Compiling Cookbooks...
================================================================================
Recipe Compile Error in /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/default.rb
================================================================================
TypeError
---------
no implicit conversion of nil into String
Cookbook Trace:
---------------
/opt/gitlab/embedded/cookbooks/cache/cookbooks/letsencrypt/libraries/helper.rb:36:in `exist?'
/opt/gitlab/embedded/cookbooks/cache/cookbooks/letsencrypt/libraries/helper.rb:36:in `add_service_alt_name'
/opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/libraries/registry.rb:78:in `parse_registry_external_url'
/opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/libraries/registry.rb:24:in `parse_variables'
/opt/gitlab/embedded/cookbooks/cache/cookbooks/package/libraries/helpers/settings_helper.rb:185:in `block in generate_config'
/opt/gitlab/embedded/cookbooks/cache/cookbooks/package/libraries/helpers/settings_helper.rb:183:in `each'
/opt/gitlab/embedded/cookbooks/cache/cookbooks/package/libraries/helpers/settings_helper.rb:183:in `generate_config'
/opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/config.rb:24:in `from_file'
/opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/default.rb:26:in `from_file'
Relevant File Content:
----------------------
/opt/gitlab/embedded/cookbooks/cache/cookbooks/letsencrypt/libraries/helper.rb:
29: # Adds a service's external URL to the certificate's alt_name list so the
30: # generated certificate is applicable to that domain also.
31:
32: return unless Gitlab['letsencrypt']['enable']
33:
34: uri = URI(Gitlab["#{service}_external_url"].to_s)
35:
36>> return if !Gitlab['external_url'] || File.exist?(Gitlab["#{service}_nginx"]["ssl_certificate"])
37:
38: # If the default certficate file is missing, configure as an alt_name
39: # of the letsencrypt managed certificate
40: Gitlab['letsencrypt']['alt_names'] ||= []
41: Gitlab['letsencrypt']['alt_names'] << uri.host
42:
43: external_uri = URI(Gitlab['external_url'])
44: Gitlab["#{service}_nginx"]["ssl_certificate"] = "/etc/gitlab/ssl/#{external_uri.host}.crt"
45: Gitlab["#{service}_nginx"]["ssl_certificate_key"] = "/etc/gitlab/ssl/#{external_uri.host}.key"
System Info:
------------
chef_version=14.13.11
platform=debian
platform_version=9.11
ruby=ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]
program_name=/opt/gitlab/embedded/bin/chef-client
executable=/opt/gitlab/embedded/bin/chef-client
The Admin Area is reporting that 12.5.0 is installed, but a gitlab-ctl reconfigure failes with the error above.