Containerized development environment (GDK)

This issue is first of all a follow up of the Birds of a Feather Community/Contribution session we had at GitLab Commit in San Francisco earlier this week.

Attendees were @thockin, @rpaik, @johncoghlan, @tardyp, Jean-Baptiste Vasseur and myself. Tim Hockin talked about how the Kubernetes team containerized their development environment. I was asking myself if there is anything similar available for GDK well. So far I found the following:

  • GitLab Compose Kit (https://gitlab.com/gitlab-org/gitlab-compose-kit): Looks pretty active but still runs everything locally and does not support every use case
  • Minikube-based GKD (#243 (closed)): Not sure whether it's actively worked on
  • Move GitLab development to the Cloud (#459): Some ppl search for a solution to shift the workload to the Cloud

I'm not very deeply involved in the development of Gitlab but doing Containers and containerization on a daily basis. Some ideas that have come into my mind (and these are anything but fully thought through):

  1. containerize everything to remove most of the local and GitLabs dependencies and to provide a consistent development environment
  2. build a Kubernetes-based deployment of the containerized development environment. It would allow you to run your environment locally (Docker for Desktop, minikube, kind) but also would allow you to move it to any Cloud provider.
  3. speed up the inner loop by integrating tools like Tilt (https://tilt.dev/), Skaffold (https://github.com/GoogleContainerTools/skaffold), Telepresence (https://www.telepresence.io) or others

Again, I'm not sure if this would help many ppl out there, but I'm happy to help if there is a need. What do you think?

Greets Nico

Edited by Nico Meisenzahl