Cloud native installation
Description
We have docker containers, and even a helm chart for installing GitLab CE, but it's not exactly cloud-native. The docker image is based on Omnibus. Even if you break out postgres and redis to separate containers, like the helm chart does, we're still installing the rails app, container registry, mattermost, etc. in a single container. If you want to break out those components into separate containers/pods, our recommendation is to run omnibus multiple times, with different config to turn off various pieces.
We should have a cloud native installation mechanism where each component is a separate image/pod. And an easy way to install all of these components, say via a composite helm chart.
I imagine this would be completely separate from omnibus, which means it's a significant undertaking that shouldn't be taken lightly. But this issue is a place for discussing it.
Proposal
Links / references
- Productize installing on GKE: https://gitlab.com/gitlab-org/gitlab-ce/issues/27875