Describe the current state of Object Storage implementation
Problem
The task is to document the Object Storage tech stack as it is currently in use by expanding on existing documentation or creating it from scratch. Topics that should be covered:
- GitLab components participating in the overall data flow (ex: workhorse, gitlab-rails, sidekiq)
- External technologies and libraries used (ex: fog-google, carrierwave)
- Any idiosyncrasies of the current implementation (ex: feature X only works in AWS but not GCS or Azure)
- Steps required for developers to implement a new upload (probably already covered by https://docs.gitlab.com/ee/development/uploads.html, but double check if complete/current/accurate)
Outcome
The documentation should be available through docs.gitlab.com
but we can collaborate on a GDoc until then.
The documentation should be sufficiently comprehensive for any new or existing team member unfamiliar with how OS works at GitLab to understand its essential constituents, the data flow, and potential shortcomings.
Links
- Google doc to collaborate (temporary)
- https://docs.gitlab.com/ee/development/uploads.html
- https://docs.gitlab.com/ee/administration/uploads.html
- https://docs.gitlab.com/ee/administration/object_storage.html
- https://docs.gitlab.com/ee/architecture/blueprints/object_storage/index.html
- https://gitlab.com/10io/objectstorage-upload/-/blob/main/direct_upload.md
Edited by Matthias Käppler