3 ms·
We use Firecracker to provider greater isolation and more capabilities in dev envs. For example, one thing you often want in your dev env is to run Docker conta
by hugodutka 4y ago
We use Firecracker to provider greater isolation and more capabilities in dev envs. For example, one thing you often want in your dev env is to run Docker containers, but to do that you need some permissions that usually only a root user has. If we used Docker to virtualize dev envs then we would have several options to enable that:
- make dev envs privileged containers, effectively giving any random user root control over the machine where Hocus is hosted
- mount the Docker agent from host into the container, but that also allows the user to gain root control over the host machine
- use Linux user namespaces, and give you a root user with limited capabilities inside your dev env. That's actually what Gitpod - another Github Codespaces alternative - does. That root can't do everything though. It can't run Kubernetes, LocalStack, or the Elastic stack, because it can't modify some system limits.
A dev env backed by Firecracker is a full-fledged virtual machine that has none of the aforementioned drawbacks. It has some performance tradeoffs though, but we are working to minimize them as much as possible.
- politelemon 4y agoOK thanks for that. I am tinkering with it and noticed that it makes use of KVM and just found out that WSL2 has KVM support so I'm going to give it a try there and see what breaks, ha! https://serverfault.com/questions/1043441/how-to-run-kvm-nested-in-wsl2-or-vmware/1115773#1115773 https://serverfault.com/questions/1043441/how-to-run-kvm-nes...