Enable use of application default credentials (ADC) when accessing object store (GCS)

Problem to solve

Google recommended way to authenticate to their APIs from other services is to use Application Default Credentials (ADC) (https://cloud.google.com/docs/authentication/production#auth-cloud-implicit-ruby), yet Gitlab currently doesn't support it and requires explicit service account key in a form of a JSON file.

Intended users

Gitlab operators

Proposal

It should be possible to configures GCS object storage clients so that VM's service account is used. This is default behaviour for Google SDK for all the languages.

This seems to be possible with a simple bump of fog-google gem to versions >= 1.9.0

Permissions and Security

This improves security of a deployment as no never-expiring service account credentials need to be created and managed with configuration tools.

Documentation

Google's doc on ADC: https://cloud.google.com/docs/authentication/production#auth-cloud-implicit-ruby

fog-google: https://github.com/fog/fog-google#credentials

Edited by Maxim Ivanov