Skip to content

Cache/store user preferences for JetBrains IDE's #6744

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
loujaybee opened this issue Nov 17, 2021 · 5 comments
Closed

Cache/store user preferences for JetBrains IDE's #6744

loujaybee opened this issue Nov 17, 2021 · 5 comments

Comments

@loujaybee
Copy link
Member

loujaybee commented Nov 17, 2021

It looks like on the surface that we need some solution similar to VSCode settings sync for JetBrains IDE's.

Creating this issue to add notes / investigation to.

Note: Given the discussion mentioned in Discourse. This could be potentially part of a wider solution about having persistence between workspaces.

Now of course if this was self hosted I could just mount the NFS drive to the pods or whatever myself, but it does defeat my plans of paying you guys money to do it for me. So I wonder if it would be possible to add “NFS Mounts” to the Gitpod yaml, and then have them added to the podspec when the container tries to come up so that Gitpod users have the ability to persist arbitrary data outside of Git.

Related issue in Discourse: https://community.gitpod.io/t/jetbrains-projector-mounting-nfs-drives/5599

Also see this discussion in Discord

@buggtb
Copy link

buggtb commented Nov 17, 2021

Well going off of the projector template: https://github.com/gitpod-io/template-jetbrains-intellij-idea

It says map in .jetbrains for versioning, but you really don't want to do that because it stores all sorts of binary crud in there, cache folders, java installs the works. Even on a project where I've basically just checked out some Scala stuff and downloaded the dependencies the folder is already around 1GB. Initially I did setup Git LFS and check the .jetbrains folder into that, but it became clear that wasn't really sustainable.

So I migrated my config off to an EC2 server, and used sshfs to mount the file system back into the pod, but I think the lag causes issues with the Projector rendering because it feels a bit sluggish and I think thats just the FS waiting for sync notifications and stuff. So I ditched sshfs and now have a whole rsync setup which keeps the remote and local in sync within a few seconds and when the workspace starts up syncs the config back to the workspace. These are stored by Git username -> Workspace name. So that if you get a fresh workspace the configs come with you.

It works, but its not the cleanest thing I've ever seen in my life :)

I was pondering the idea as mentioned above, in mounting my own NFS drive in, that was the first thing I tried. I can't be sure that the lag won't return, but even if it wasn't used for Intellij purposes, being able to mount an NFS mount into your workspace, that could provide additional data payloads, large storage etc would be cool, that way you could persist your stuff knowing it would come back next time the workspace started.

@loujaybee
Copy link
Member Author

loujaybee commented Dec 15, 2021

We need to learn a bit more here, and figure out if this relates to:

  1. Caching of user settings
  2. Caching of workspace values (e.g. prebuilds/incremental prebuilds)

I'm also marking as blocked, as we might be dependent on some other work @akosyakov are you able to link any related issues here?

@loujaybee loujaybee added the meta: blocked in progress but blocked by upstream issues or missing data label Dec 15, 2021
@loujaybee
Copy link
Member Author

May also be impacted by: #6740

@loujaybee loujaybee removed the meta: blocked in progress but blocked by upstream issues or missing data label Feb 10, 2022
@loujaybee
Copy link
Member Author

Closing this now as spoke with @buggtb yesterday who is now using settings sync and native JetBrains features. Doesn't seem to be an immediate need for this issue right now, any remaining challenges look to be resolved by:

@loujaybee
Copy link
Member Author

Also relevant / related issue on JetBrains side: https://youtrack.jetbrains.com/issue/CWM-4987

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

No branches or pull requests

2 participants