-
Notifications
You must be signed in to change notification settings - Fork 29
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
Onboarding to DVC Remotes #3867
Comments
I think we need a way to at least show what remote types are supported and pick from among those (we could have one type like custom/misc to group less popular remotes). Beyond that, it definitely gets complicated 😅. Some ideas:
For a studio remote, can it be an http remote with a header/auth option we use for the token? Once you have the token, it should hopefully be enough to fill out the rest of the remote info using what's already supported in dvc. I also think it might be good to explore gdrive remotes as another quickstart option since most people will have it already. For example, we could provide 2 gdrive paths: 1 for quickstart/personal use and another for shared custom/use. For the quickstart path, we could default to |
Can you give me the list of remotes by popularity? Also which remotes do we get the most questions on?
Once you give me the above list I'll see which extensions are available for us to tie in with.
I'd recommend that we pick one as both will take effort to implement but more effort to support. Again, if we are trying to drive people towards trying Studio then I think we should relegate gdrive to a placeholder in the helping with credentials/setting up remote section. |
For "real" remotes, I would start there. |
@shcheklein @omesser Do we have a Studio ticket to track this Studio storage story? It seems like we are ready to at least add it to Studio's upcoming priorities, right? |
I keep bumping up against there being 4 levels of config and not knowing which one(s) to update in order for changes to take effect. Two examples are Any thoughts on this? |
@mattseddon it sound good, but a bit out of scope for this? For the sake of simplicity we can optimize the "happy path" scenario initially - one storage, being able to setup it (no need to support updates even?), etc. Wdyt? |
You can already add a remote to the project. Help with credentials/login is started. |
I'd like to confirm - the Studio story here is about providing some Studio(Iterative)-hosted storage so that a user can start to push to dvc remotes without setting up their own cloud remotes, right? |
That is correct. We'd like to provide a "quick start" option for users to onboard to remotes. The idea is to use Studio because that path should:
|
Moved the remaining tasks into the above issue |
The main goal of this story is to get new users onboarded to using remotes. We should also provide a happy path for experienced users who are setting up new projects but that is a secondary concern.
Steps
add
,default
,remove
,rename
&modify
commands to be accessed via the setup page and command palette (Add basic remote management #3956)Helping with credentials
Just from looking into the docs setting up some set of quick inputs/picks to assist with this feels like it would be a story by itself. For example AWS can take a
configpath
,credentialpath
,profile
... and more, Azure blob storage can take aconnection_string
or... you get the point. This task wouldn't be impossible but would be time consuming.Quickstart
tl;dr - I think we should provide a GET and POST endpoint from Studio that hides the implementation completely from the user.
There are a lot of questions surrounding this part of the story. If the idea is to drive Studio usage then we should tie Studio in. This then limits the implementation options. To me, the simplest thing to do would be along the lines of wrapping S3 with the Python AWS SDK in the Studio backend and providing a set of endpoints that we can hit with a specific token/repo URL/ref and associated data (for POST only). To begin with, we can write a standalone client for the extension but (IMO) this should be migrated into DVC when we have the capacity to do so. By this, I mean that "Studio" should be a valid option for the remote entry in the DVC config. The user would be able to put this in their project config along with the token in their local one. I wouldn't go as far as setting Studio as the default if a token is provided and a remote is not but that could also be an option.
cc @shcheklein @dberenbaum. Please LMK what you think. Happy to raise sibling issues in Studio/DVC if required 🙏🏻. Please LMK if I have missed anything important from the initial steps.
The text was updated successfully, but these errors were encountered: