February 14, 2022
New workspace images built with Dazzle v2
By default, your Gitpod workspaces are based on a Docker image called gitpod/workspace-full
. It contains all sorts of tools, SDKs and languages you may need — so you are ready-to-code with no friction.
What if you were only interested in Rust though, or Node.js LTS? You could create a custom Dockerfile, tell Gitpod about it and all would be fine. It would even be pretty simple to do.
At Gitpod, we are all about removing friction and frequently ask ourselves, “How can we improve?“. So we came up with an even easier solution. We are now in a position to create much more fine-grained workspace images!
To start this next era, we recently built a whole bunch of new images with Dazzle v2. Dazzle is a Docker/OCI image builder and its goal is to build independent layers where a change to one layer does not invalidate the ones sitting “above” it.
Compared to the previous version of Dazzle, the new v2 is about 5x faster, more reliable and less hacky 🔨.
Here is a list of what you can use today:
gitpod/workspace-c
gitpod/workspace-clojure
gitpod/workspace-go
gitpod/workspace-node
gitpod/workspace-node-lts
gitpod/workspace-python
gitpod/workspace-ruby-2
gitpod/workspace-ruby-3
gitpod/workspace-rust
For an up-to-date list of available images, please refer to this list.
In your .gitpod.yml
, all you need to do is add the following line:
image: gitpod/workspace-xyz
As if this wasn’t exciting enough, this new solution lays the foundation for some very cool features you will be able to leverage directly to create custom images for your workspaces.
To tease this a bit more, imagine a future where you can pick & choose which tools you’d like to install in your workspace and Gitpod will automagically provide them to you at lightspeed, or thereabouts.
We are interested in your feedback and suggestions, please let us know in our dedicated feedback issue or chat with us.
Fixes and improvements
- #8119 - Added support for Git LFS during content init
- #8134 - Enable id check for seccomp notify
- #8139 - Improved workspace memory-pressure eviction resilience
- #8161 - Add workspace start request debug logging to ws-manager
- #8179 - A bit of improvements to cache_reclaim
- #8132 - [GitHub] Fix the user account picked for a prebuild.
- #8143 - Update code to 1.64.2
- #8112 - Autofix: upgrade-nvm-tools
- #8099 - fix dashboard contextURL handling
- #7569 - Support private dotfiles repo
- #8100 - Make
ContextURL.parseToURL
support the newly-acceptedgit@[host]:[user]/[repo].git
format - #8036 - Refactor dynamic CPU limiting to provide fairer scheduling.
- #8093 - Fix wrong token selection if multiple found for a profile.
- #7715 - [server][dashboard] Improve ‘New Workspace’ modal with a search input, keyboard navigation, and a new context URL suggestion API
- #7833 - Fix Bitbucket push event handling
- #8073 - configure basic rate-limiting for `startWorkspace
- #7727 - [installer]: add jaeger sampling options to the tracing object
- #7923 - Improved in-transit security of user environment variables
- #7968 - Fix missing status updates for prebuilds.
- #7940 - reduce idle DB load on SH installations
- #7978 - [gitlab] user-scoped env vars can now be filtered for nested repos on Gitlab
- #7882 - Admins can do a text search for projects and their associated prebuilds.
- #7951 - [server] Support ‘git@[host]:[user]/[repo].git’ format in context URLs
- #7839 - [installer]: put component ownership under webapp/workspace teams
- #7926 - [wa-manager] Refactor connectToWorkspaceDaemon helper