GitLab Container Registry `key_path` incorrectly named
Following http://docs.gitlab.com/ce/administration/container_registry.html#container-registry-domain-configuration it says to add the following to gitlab.yml:
registry:
[...]
key_path: config/registry.key
[...]
Which produces this error when trying to go to a projects container registry:
Completed 500 Internal Server Error in 79ms (ActiveRecord: 9.9ms)
TypeError (no implicit conversion of nil into String):
lib/json_web_token/rsa_token.rb:21:in `read'
lib/json_web_token/rsa_token.rb:21:in `key_data'
lib/json_web_token/rsa_token.rb:25:in `key'
lib/json_web_token/rsa_token.rb:29:in `public_key'
lib/json_web_token/rsa_token.rb:34:in `kid'
lib/json_web_token/rsa_token.rb:13:in `encoded'
app/services/auth/container_registry_authentication_service.rb:26:in `full_access_token'
app/models/project.rb:321:in `container_registry_repository'
app/controllers/projects/container_registry_controller.rb:28:in `container_registry_repository'
app/controllers/projects/container_registry_controller.rb:8:in `index'
lib/gitlab/middleware/go.rb:16:in `call'
I found that the service app/services/auth/container_registry_authentication_service.rb is actually looking for registry.key:
def self.full_access_token(*names)
registry = Gitlab.config.registry
token = JSONWebToken::RSAToken.new(registry.key)
token.issuer = registry.issuer
token.audience = AUDIENCE
token.expire_time = token_expire_at
token[:access] = names.map do |name|
{ type: 'repository', name: name, actions: %w(*) }
end
token.encoded
end
So setting it like so in gitlab.yml works:
registry:
[...]
key: config/registry.key
[...]
I'm hoping it's a documentation error, so I don't have to change my current configuration