Serving assets from one location
This is a discussion issue.
It would be great if we could serve all assets from one location.
Right now, workhorse only supports serving assets from disk. If had the possibility of having workhorse serve assets from an external location, we would be able to make the release/build process faster and have an easier way of replacing assets on upgrade.
For the sake of discussion, lets say we had one pod that has a container that has only assets. Unicorn-workhorse pod would be configured to look to this asset pod for assets and serve it from that location. In case of an upgrade, we can stand up a new asset pod and have unicorn-workhorse look to the asset pod for new assets. We can then divert part of the traffic to the new version while still serving old version.
The main benefit I see here is split in size of all images that would translate into faster releases of GitLab but also faster upgrades. Another benefit I can anticipate is more controlled way for us to do upgrades. Also, in case #622 requires sidekiq to have access to assets like I suspect, it would allow us to still go on with the similar benefits in a different way.