Test GitLab application with ObjectStorage (Job artifacts, Job trace, LFS, Upload, etc)

Problem

We're currently working on the vision Cloud Native-compatible GitLab application for a part of GCP Migration story. In this story, we're making GitLab application to use ObjectStorage instead of FileStorage. Here is the one of the exmaples how we are going to change application code https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/4258.

The problem is that we cannot test those implementations within Rspec/Capybara chain. The reason is 1) Currently we prohibit accecing external URL from specs 2) we need an ObjectStorage instance(Docker, Cloud, etc) for those tests.

Proposal

  • Create minio container
  • Configure GitLab with object_store: enabled: true. aws_access_key_id and aws_secret_access_key can be fetched from the container log
  • Run scenario for Job artifacts, Job trace, Upload and LFS

/cc @andrewn @grzesiek @ayufan

Edited by Shinya Maeda