Error when trying to use Google Application Default Credentials
Summary
When trying to use Google Application Default Credentials, as opposed to google_json_key_location and
google_client_email`, when using Google Cloud storage as artifacts storage, GitLab will return an error 500 when trying to access the pipeline logs.
Steps to reproduce
Configure GitLab to use Google Application Default credentials:
gitlab_rails['object_store']['connection'] = {
'provider' => 'Google',
'google_project' => 'example-prokect',
'google_application_default' => true,
}
Example Project
What is the current bug behavior?
It returns an error 500 when accessing job logs.
What is the expected correct behavior?
Should show the job logs.
Relevant logs and/or screenshots
TypeError (no implicit conversion of nil into String):
config/initializers/carrierwave_patch.rb:38:in `authenticated_url'
app/uploaders/gitlab_uploader.rb:91:in `open'
app/models/ci/job_artifact.rb:169:in `open'
lib/gitlab/metrics/instrumentation.rb:160:in `block in open'
lib/gitlab/metrics/method_call.rb:27:in `measure'
lib/gitlab/metrics/instrumentation.rb:160:in `open'
lib/gitlab/ci/trace.rb:138:in `block in read_stream'
lib/gitlab/ci/trace/stream.rb:20:in `initialize'
lib/gitlab/ci/trace.rb:136:in `new'
lib/gitlab/ci/trace.rb:136:in `read_stream'
lib/gitlab/ci/trace.rb:83:in `read'
app/controllers/projects/jobs_controller.rb:50:in `trace'
ee/lib/gitlab/ip_address_state.rb:10:in `with'
ee/app/controllers/ee/application_controller.rb:44:in `set_current_ip_address'
app/controllers/application_controller.rb:491:in `set_current_admin'
lib/gitlab/session.rb:11:in `with_session'
app/controllers/application_controller.rb:482:in `set_session_storage'
lib/gitlab/i18n.rb:73:in `with_locale'
lib/gitlab/i18n.rb:79:in `with_user_locale'
app/controllers/application_controller.rb:476:in `set_locale'
lib/gitlab/error_tracking.rb:52:in `with_context'
app/controllers/application_controller.rb:541:in `sentry_context'
app/controllers/application_controller.rb:469:in `block in set_current_context'