We’re thrilled to announce the first release of Envbuilder, an open-source project inspired by an idea from our co-founder, Kyle Carberry. Built on the Dev Container standard, Envbuilder allows developers to take control of their dependencies and environments without waiting on platform teams. If you're not familiar with Dev Containers, you can read a helpful summary here.
In this post, we’ll dig into what Envbuilder is, who it’s for, and how it works. If you’re looking for an example of how to use Envbuilder to run dev containers on Kubernetes, check out this blog post.
Why Envbuilder?
What if you could just "run" a Dev Container in your Kubernetes cluster straight from a Git repository? Without Docker-in-Docker?
It's hard to keep your development experience consistent and smooth while scaling your developer platform. You might decide to build pre-approved, standardized images for your development teams, but you then face the prospect of maintaining all of those different images. Why not let your development teams do this themselves? Envbuilder allows users to define their own dependencies and environments, helping break through these barriers and scale past thousands of daily active users. And it doesn't need Docker-in-Docker to work!
You can integrate pre-approved tools from sources like Artifactory to streamline workflows, reduce bottlenecks, and accelerate project delivery—all while maintaining the highest levels of security! Envbuilder eliminates the delays and frustrations of traditional environment setups and empowers teams to customize their own workspaces and enhance their own development experience.
Envbuilder runs inside a small container image, but does not require a Docker daemon in order to build a dev container! Instead, it builds in-place and then gets out of your way. This is useful in environments where you may not have access to a Docker socket for security reasons, but still need to work with a container.
To keep builds quick, Envbuilder can also use a Docker registry as a cache to store intermediate build stages.
Finally, Envbuilder is open-source and free for anyone to use!
Who should use Envbuilder?
Envbuilder is a good fit for developer teams who are familiar with Docker and/or dev containers and already using containerized development environments. If you have a large number of projects with different toolchains, dependencies, or that depend on a particular Linux distribution, Envbuilder will make it easier to quickly context switch between projects.
Envbuilder is also a great fit for more restricted environments where you may not have access to a Docker daemon—it doesn't need one to work!