Run Gitpod on a Firecracker MicroVM
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 13.8k
- Forks
- 1.4k
- Avg merge
- 17h 58m
- Merged PRs (30d)
- 5
Description
Is your feature request related to a problem? Please describe
This feature request is related to issue #4889 and all other issues that require a more sophisticated dev machine setup, where building it inside a docker container proves to be a real hassle and requires a lot of hacks to get it to work.
Describe the behaviour you'd like
After watching a great presentation on Firecracker made by @alexellis & @richardcase and reading up a bit more about Firecracker itself, I started wondering if this might be a better solution to running sophisticated Gitpod development environments than trying to figure out how to make them work in a Docker container running on Kubernetes.
I really liked the idea of Gitpod when I first saw it. I saw it as a super convenient tool for working on open source projects, where I wouldn't need to setup whole development machine, just to contribute back to a project. Setting up all required software can be a lot of work, and can quickly discourage people from contributing. On the other hand, clicking the Gitpod button in GitHub/Gitlab UI, and within seconds landing on a machine that is capable of building the project & running all unit tests makes it super easy to understand how the project works and lets someone contribute easily. Gitpod already achieved this for web projects. And it works like a charm!
Unfortunately, achieving the same result on more complicated projects, for example ones that require k3s as part of their development setup, is hard to achieve in Gitpod. Getting k3s to work properly in docker, while making it secure to run in managed environments like Gitpod and keeping reasonable performance seems to be a herculean task.
Instead, I'd like to propose a new type of Gitpod environment. One that runs using something like Weave Ignite and/or firecracker-containerd to create a development environment inside a Firecracker microVM. Such an environment could have all the advantages of current docker based Gitpod environments, while avoiding the inception-like problems of trying to setup k3s inside a docker container that itself is running on a kubernetes cluster.
I'm wondering if such a solution sounds feasible inside Gitpod?
Describe alternatives you've considered
The alternative is what people are trying to do in #4889 by trying to make k3s work inside current Gitpod environment. I'm sure someone will figure it out eventually, but I'm not sure if the juice is worth the squeeze...
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no repository files, tests, or entry points. Start by reviewing issue #4889 and the linked Firecracker, Weave Ignite, and firecracker-containerd resources; done would require a decided, feasible approach for running Gitpod development environments in Firecracker microVMs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, kubernetes
- Domain
- cloud, devops, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100