Object Storage Roadmap

A list of problems related to object storage the Frameworks team wants to work on, roughly ordered by priority (highest first).

Problem Problem area Proposed solution Status
Workhorse pre-processes unauthenticated uploads Security Pre-authenticate uploads on catchall routes #1679 (closed) closed
Legacy code complexity around uploads Development velocity Refactoring, deprecations, clean-up &734
Adding new object storage features is complicated Development velocity Ensure documentation for adding new object storage is clear &741
Lack of documented 'framework' vision leads to implementation complexities Development velocity, Scaling bottlenecks Ensure architectural blueprint accurately describes ~"team::Frameworks" vision
Carrierwave deletes objects during ActiveRecord callbacks Postgres saturation Asynchronous object deletion via Sidekiq
Finalizing uploads requires object storage copy operation Puma timeouts Immutable object storage keys
Configuring new buckets for new features is cumbersome Feature adoption and GitLab adoption Allow all objects to be stored in a single bucket
Lack of observability data makes it tricky to determine priorities Observability -
Edited by Liam McAndrew