Skip to content

Per-user homedir? #2527

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Michaelhobo opened this issue Dec 14, 2020 · 4 comments
Closed

Per-user homedir? #2527

Michaelhobo opened this issue Dec 14, 2020 · 4 comments
Labels
type: question reporter has a general question

Comments

@Michaelhobo
Copy link

While using gitpod, I often want to persist user-specific data, e.g. gcloud credentials, RC files, etc etc. Today, these workflows need to be regenerated every time. Can we NFS-mount a volume onto the user's homedir that's shared between all of a user's workspaces? That would allow me to save settings, credentials, etc across my different workspaces.

@gtsiolis
Copy link
Contributor

Hi @Michaelhobo! We've been using Environment Variables to store variables like GCP credentials.

I think it makes sense to also support file env vars in the future to support file (multiline) variables like certificates, RC files, and more. Feel free to upvote #2058.

See also the workaround mentioned in #2058 (comment).

@akosyakov akosyakov added the type: question reporter has a general question label Dec 14, 2020
@Michaelhobo
Copy link
Author

Thanks for the env vars mention, I didn't know about that, and it helps for a few of my needs. But, here are some more reasons for mounting a volume instead of (or in addition to) having file env vars.

  • With env vars, setup of a new user becomes a lot harder, because you're forcing users to set up tools a non-standard way. This might require an onboarding doc that says "run this command once, base64 encode the contents of this key file, copy it into an env var on this gitpod page, etc. If you had a volume shared between all your workspaces, all standard tools just work, which I think would be magical. It would feel like I'm using my desktop, but with docker workspaces that are easy to spawn and checked into code.
  • With a mounted volume, you can sync data between workspaces
  • With a mounted volume, you can support workflows that read and write to a file in the homedir, like bazel cache (it was a huge pain to make bazel work with a different bazel output directory). As well as some files that are updated more often (e.g. some vim plugin data, ssh configs).

@Michaelhobo
Copy link
Author

This is also very similar to #2016

@csweichel
Copy link
Contributor

duplicate of #2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: question reporter has a general question
Projects
None yet
Development

No branches or pull requests

4 participants