Sha256: 13f7acd322c9b08ca6be944acc526c05361ec3eba9a972d1610fa5b94709b8e7

Contents?: true

Size: 1.72 KB

Versions: 97

Compression:

Stored size: 1.72 KB

Contents

# frozen_string_literal: true
require 'tempfile'

module Gitlab
  module QA
    module Runtime
      module OmnibusConfigurations
        class ObjectStorageGcs < Default
          def configuration
            Runtime::Env.require_gcs_environment!

            json_key = setup_json_key

            <<~OMNIBUS
              gitlab_rails['object_store']['connection'] = { 'provider' => 'Google', 'google_project' => '#{Runtime::Env.google_project}', 'google_client_email' => '#{Runtime::Env.google_client_email}', 'google_json_key_location' => '#{json_key.path}' }

              gitlab_rails['object_store']['objects']['artifacts']['bucket'] = '#{Runtime::Env.gcs_bucket_name}'
              gitlab_rails['object_store']['objects']['external_diffs']['bucket'] = '#{Runtime::Env.gcs_bucket_name}'
              gitlab_rails['object_store']['objects']['lfs']['bucket'] = '#{Runtime::Env.gcs_bucket_name}'
              gitlab_rails['object_store']['objects']['uploads']['bucket'] = '#{Runtime::Env.gcs_bucket_name}'
              gitlab_rails['object_store']['objects']['packages']['bucket'] = '#{Runtime::Env.gcs_bucket_name}'
              gitlab_rails['object_store']['objects']['dependency_proxy']['bucket'] = '#{Runtime::Env.gcs_bucket_name}'
              gitlab_rails['object_store']['objects']['pages']['bucket'] = '#{Runtime::Env.gcs_bucket_name}'
              gitlab_rails['object_store']['objects']['terraform_state']['bucket'] = '#{Runtime::Env.gcs_bucket_name}'
            OMNIBUS
          end

          def setup_json_key
            Tempfile.open('gcs-json-key', ENV['CI_PROJECT_DIR']) do |file|
              file.write(ENV.fetch('GOOGLE_JSON_KEY'))

              file
            end
          end
        end
      end
    end
  end
end

Version data entries

97 entries across 97 versions & 1 rubygems

Version Path
gitlab-qa-10.3.0.1 lib/gitlab/qa/runtime/omnibus_configurations/object_storage_gcs.rb
gitlab-qa-11.3.0 lib/gitlab/qa/runtime/omnibus_configurations/object_storage_gcs.rb
gitlab-qa-11.2.0 lib/gitlab/qa/runtime/omnibus_configurations/object_storage_gcs.rb
gitlab-qa-11.1.0 lib/gitlab/qa/runtime/omnibus_configurations/object_storage_gcs.rb
gitlab-qa-11.0.0 lib/gitlab/qa/runtime/omnibus_configurations/object_storage_gcs.rb
gitlab-qa-10.6.0 lib/gitlab/qa/runtime/omnibus_configurations/object_storage_gcs.rb
gitlab-qa-10.5.0 lib/gitlab/qa/runtime/omnibus_configurations/object_storage_gcs.rb
gitlab-qa-10.4.1 lib/gitlab/qa/runtime/omnibus_configurations/object_storage_gcs.rb
gitlab-qa-10.4.0 lib/gitlab/qa/runtime/omnibus_configurations/object_storage_gcs.rb
gitlab-qa-10.3.0 lib/gitlab/qa/runtime/omnibus_configurations/object_storage_gcs.rb
gitlab-qa-10.2.2 lib/gitlab/qa/runtime/omnibus_configurations/object_storage_gcs.rb
gitlab-qa-10.2.1 lib/gitlab/qa/runtime/omnibus_configurations/object_storage_gcs.rb
gitlab-qa-10.2.0 lib/gitlab/qa/runtime/omnibus_configurations/object_storage_gcs.rb
gitlab-qa-10.1.0 lib/gitlab/qa/runtime/omnibus_configurations/object_storage_gcs.rb
gitlab-qa-10.0.0 lib/gitlab/qa/runtime/omnibus_configurations/object_storage_gcs.rb
gitlab-qa-9.1.2 lib/gitlab/qa/runtime/omnibus_configurations/object_storage_gcs.rb
gitlab-qa-9.1.1 lib/gitlab/qa/runtime/omnibus_configurations/object_storage_gcs.rb
gitlab-qa-9.1.0 lib/gitlab/qa/runtime/omnibus_configurations/object_storage_gcs.rb
gitlab-qa-9.0.0 lib/gitlab/qa/runtime/omnibus_configurations/object_storage_gcs.rb
gitlab-qa-8.15.3 lib/gitlab/qa/runtime/omnibus_configurations/object_storage_gcs.rb