gitpod-io / gitpod-io/gitpod

Epic: Full Workspace Backup

Open
#7,719 11 comments 9 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

aspect: ephemeral meta: never-stale team: workspace type: epic
Dominant language
TypeScript
Stars
13.8k
Forks
1.4k
Avg merge
17h 58m
Merged PRs (30d)
5

Description

Currently only the /workspace folder is backed up and preserved across workspace restarts, and from the prebuild. This is unintuitive, adds friction to the experience and is a source of issues for users.

The change to keep all workspace files is very core and should be available in all forms of the product: SaaS and Self-Hosted.

To make this happen there are a few technical challenges that we will need to solve first, particularly as self-hosted support that may use older kernel and containerd versions is required.

Notes from June 23, 2022
  • The biggest blocker we found was not the workdir location [related PR], but the interaction between overlayfs and shiftfs. TL;DR docker becomes unworkably slow if it needs to run on this setup because it falls back to VFS
  • idmapped mounts may be a solution, but they require recent Kernel versions which is a problem for self-hosted

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by locating the code that preserves /workspace across workspace restarts and prebuilds, then trace how SaaS and Self-Hosted differ. Account for the documented overlayfs/shiftfs, kernel, and containerd constraints; done means all workspace files persist in both product forms.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, linux
Domain
cloud, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.