Description
Is your feature request related to a problem? Please describe
Currently, when I update the Docker image for a workspace (for example, add a new tool as I progress in the project), I'm always forced to create a new workspace, thereby loosing all the things I have done in that workspace, especially the Docker containers. Needless to say, it's pretty annoying.
Describe the behaviour you'd like
I have an old workspace that depends on a gitpod/workspace-*:latest
, after some time away and I come back, I suppose it got updated and Gitpod rebuilds the image, but does not wipe away the workspace: that is exactly what I'm looking for, but kind of on demand.
So, may be, have a menu that says "Rebuild image + Preserve Workspace", something like that. This is much better when it's done at Gitpod's level, not when the workspace has already started (see why just below).
One of the nice thing about this also, is that I retain the URLs to the workspace. For example, I develop webhooks, and I register the URL to our partner, I'm progressing in the development, it's ideal that the URL remains the same or else I'll have to ask the partner again to use a different URL, that's very frustrating indeed.
Describe alternatives you've considered
While this is something that can be done manually, like for example creating a new workspace and then syncing the whole /workspace
folder from the old to the new one, it's far from an ideal situation of it just works.
One of the problem with this approach also, is the fact that usually you want Docker to be up and running for the new workspace. So, I have to manually stop everything first to ensure the files in /workspace/*
are not currently used, then I do the sync, then I manually restart everything back manually, or stop the workspace, and restart after a few seconds once it's fully stopped. As one can tell, it's very frustrating to do that manually.
So, again, a process that is much better managed during Gitpod's workspace preparation phase.
Additional context
Like I said earlier, it is already happening, but not on demand. So, I'm guessing it should be possible with some not-too-heavy works.
I had started this discussion on Discord: https://discord.com/channels/816244985187008514/1004317083087159346