nebari
nebari copied to clipboard
[ENH] - Improve QHub Setup experience
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_nameis 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
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?
A good example of init script + CLI https://docs.coiled.io/user_guide/getting_started.html
- step follow the getting started for rich: https://rich.readthedocs.io/en/latest/introduction.html#quick-start https://github.com/Textualize/rich-cli
- @viniciusdc to get Asmi a GCP credential
- @asmijafar20 sign up for a coiled free account at https://cloud.coiled.io/signup
- @viniciusdc and @asmijafar20 to pair program and setup Coiled + record and take notes
https://docs.coiled.io/user_guide/api.html#command-line-api
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.
@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:
- CLI current state diagram: https://github.com/nebari-dev/nebari-docs/issues/111
- CLI current state function calls: see
cli_current_state_mdbranch
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.
@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.