Similar to the /workspace directory?
Most user configuration files are in the home directory, so it's quite important.
Currently, it is not backed up. We are considering snapshoting the state so you would have it after restarting the same workspace, but I guess your requests goes further in that you as a usr would like to see the same configuration files in every Gitpod workspace?
I like the idea of persisting the home directory, but it could also have unfortunate side-effects: For example, if we install a new workspace tool that requires a change to ~/.bashrc, then restarting older workspaces + home would effectively overwrite ~/.bashrc and break the new tool. We recently did such a thing by installing SDKMAN to set up Java, Gradle and Maven, and it would break with older ~/.bashrcs.
Another option could be to allow Gitpod users to edit various configuration files in a central location, e.g. under a URL like https://gitpod.io/settings/ or https://gitpod.io/configurations/, and then these config files could be deployed to every workspace. We do something similar in Janitor (see the config files templates).
@svenefftinge It would be super to see the same configuration files in every Gitpod workspace. However, persisting each workspace's state is probably good enough as users typically don't have that many workspaces.
@jankeromnes Thank you very much for pointing out the side effects of persisting the home directory. I love the idea of central configuration location.
I'm playing with GitPod now and I think it's a great tool but I think the option for a "persistent" user directory being super useful.
For example I'm used to saving my ZSH configuration + history to my personal home directory which I like to port with me on projects that I am working on.
I think GitPod should consider two use cases : totally ephemeral project workspaces which are strongly bound to a given project and a more persistent workspace which is strongly bound to an individual and their own configuration.
I've only spent 3 hours in GitPod so far so maybe I'm coming at this from the wrong perspective but I see both being highly valuable.
@PirateBread Agreed, and in fact we have already implemented a "full workspace backup" mechanism that removes the /workspace mountpoint and instead captures _every change_ made in your workspace, including in the HOME directory. (So, when you stop and restart a workspace, the entire file system with the exception of /tmp will be just as you left it -- you'll no longer need to worry about what's under /workspace and what's not.)
We did this because it's a common expectation that changes in the HOME directory can be persisted, and reconfiguring every tool to make it save its valuable data under the non-natural /workspace directory was a loosing battle.
Full workspace backup is still experimental and kept behind a feature flag, but several team members have been using it without issues for several weeks now so we're thinking about rolling it out to more users soon.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Most helpful comment
@jankeromnes Thank you very much for pointing out the side effects of persisting the home directory. I love the idea of central configuration location.