nebari icon indicating copy to clipboard operation
nebari copied to clipboard

[ENH] - Improve QHub Setup experience

Open aktech opened this issue 3 years ago • 5 comments

Feature description

This is an umbrella issue for improving QHub's setup experience. This includes:

  • [ ] Improving theĀ qhub initĀ call - could cover https://github.com/Quansight/qhub/issues/1368
  • [ ] We currently do this to some degree, theĀ qhub initĀ could have the user answer a list of questions (instead of passing all those flags)
  • [ ] #1373
  • [ ] Schema validation (https://github.com/Quansight/qhub/issues/1267): an example of this could be validating that the project_name is in the correct format for cloud providers (like say If using AWS: names should not start with the string "awsā€)
  • [x] #1374

Value and/or benefit

Easier to onboard new users, easier for overall testing as well.

Anything else?

No response

aktech avatar Jul 19 '22 11:07 aktech

We currently do this to some degree, the qhub init could have the user answer a list of questions (instead of passing all those flags)

I am a bit confused by this - can you elaborate @aktech?

trallard avatar Jul 21 '22 14:07 trallard

A good example of init script + CLI https://docs.coiled.io/user_guide/getting_started.html

  1. step follow the getting started for rich: https://rich.readthedocs.io/en/latest/introduction.html#quick-start https://github.com/Textualize/rich-cli
  2. @viniciusdc to get Asmi a GCP credential
  3. @asmijafar20 sign up for a coiled free account at https://cloud.coiled.io/signup
  4. @viniciusdc and @asmijafar20 to pair program and setup Coiled + record and take notes

trallard avatar Jul 21 '22 14:07 trallard

https://docs.coiled.io/user_guide/api.html#command-line-api

trallard avatar Jul 21 '22 14:07 trallard

I am a bit confused by this - can you elaborate @aktech?

The idea was to have a set of questions in the qhub init cli with reasonable defaults, for e.g.

$ qhub init

Welcome to QHub Initialisation
Q. What is the proiect name (my-awesome project)?
qhub-deployment-aws

Q. What domain would you like to host QHub at (e.g. myqhub.example.com)?

....

This is just a suggestion. This issue is more like a RFP, we can then decide the final API from the potential ideas based on the user friendliness.

aktech avatar Jul 26 '22 08:07 aktech

@asmijafar20 and I have spent sometime mapping out the current state of the CLI and the associated function calls. This concludes the "exploration" phase of this project. For more details, see the following links:

The next steps are for @asmijafar20 to work on an MVP using Typer (in a separate repo) and then for use to integrate those changes in a branch here on qhub. This will ensure that these changes work with the existing codebase and CI.

iameskild avatar Aug 18 '22 17:08 iameskild

@asmijafar20 and I have been working on the new typer CLI and have a decent framework on which to build. For more details see this branch.

iameskild avatar Aug 29 '22 04:08 iameskild