Ensure that CarrierWave is compatible with Google Cloud Storage and actually works
Required for https://gitlab.com/gitlab-org/gitlab-ee/issues/4165
As part of GCP Migration, there are plans to move some objects off disk into object storage. Currently most of the production infrastructure (afaik) relies on Amazon S3 but we would prefer to use Google Cloud Platform if possible.
We know that Google Cloud Platform is compatible with S3, however we need to ensure that in practice it actually works.
The fact that the CarrierWave README.md has a section on using Google Cloud instead of S3 makes me think there may in fact be differences: https://github.com/carrierwaveuploader/carrierwave#using-google-storage-for-developers
The outcome of this issue will need to be:
Our existing CarrierWave setup has been tested against Google Cloud storage and uploads/custom urls/all other required functionality...
- ...works as expected. We can start moving files to Google Cloud Storage.
- ... does not work as expected, but:
- If we switch to
fog-googleeverything works, but we'll need to make changes to our CarrierWave configuration to switch between "S3 mode" and "GCS mode" - Even with
fog-googlewe're experiencing problems.
- If we switch to
Questions:
- Are there any integration tests in the GitLab-EE repository that actually communicate with a real S3 endpoint as part of the test process? If so, could we make these tests also tests against Google Cloud Storage?
- Are there any tests in GitLab QA which work drive object storage and could be leveraged?