Skip to content

Support consolidated object storage configuration

Stan Hu requested to merge sh-support-consolidated-object-store-settings into master

This adds support for the gitlab.yml changes in gitlab!34460 (merged). This allows GitLab to use the Workhorse S3 client with a single credential, enabling proper MD5 checksums and multipart uploads, and paves the way for user-specified keys for encrypted buckets.

These changes require gitlab!35480 (merged) to work.

Testing Matrix

Object store provider Pass?
AWS S3
Oracle Cloud S3
Digital Ocean Spaces
OpenStack Swift

Example config

gitlab_rails['object_store']['enabled'] =  true
gitlab_rails['object_store']['connection'] = {
  'provider' => 'AWS',
  'region' => 'ams3',
  'aws_access_key_id' => 'REDACTED',
  'aws_secret_access_key' => 'REDACTED',
  'endpoint' => 'https://ams3.digitaloceanspaces.com',
}

gitlab_rails['object_store']['proxy_download'] = false
gitlab_rails['object_store']['objects']['artifacts']['bucket'] = 'stanhu-artifacts'
gitlab_rails['object_store']['objects']['external_diffs']['bucket'] = 'stanhu-external-diffs'
gitlab_rails['object_store']['objects']['lfs']['bucket'] = 'stanhu-lfs'
gitlab_rails['object_store']['objects']['uploads']['bucket'] = 'stanhu-uploads'
gitlab_rails['object_store']['objects']['packages']['bucket'] = 'stanhu-packages'
gitlab_rails['object_store']['objects']['dependency_proxy']['bucket'] = 'stanhu-dependency-proxy'
gitlab_rails['object_store']['objects']['terraform_state']['bucket'] = 'stanhu-terraform-state'
Edited by Stan Hu

Merge request reports