nebari
nebari copied to clipboard
META - CLI enhancements
A lot of work has been put into the new typer-based CLI but there are still a few remaining items that would be nice to include sooner or later.
### User experience
- [x] Move the remaining init input checks closer to the user
- [x] [SSL email check](https://github.com/Quansight/qhub/blob/3866ec9133c0976129f4676ef1de64f483bc9502/qhub/initialize.py#L430)
- [x] [GitHub repo check](https://github.com/Quansight/qhub/blob/3866ec9133c0976129f4676ef1de64f483bc9502/qhub/initialize.py#L443)
- [x] create `check_repository_creds` function (similar to `check_cloud_provider_creds`
- [ ] As more docs are updated and added to `nebari.dev`, we can add them to the CLI
- [ ] Docs for "advanced configuration changes"
- [ ] https://github.com/nebari-dev/nebari/issues/1743
- [ ] Unify the styling in a [style theme](https://rich.readthedocs.io/en/stable/style.html#style-themes) to avoid mismatch and duplication here and there (this can also help us with solving some colour contrast issues)
- [ ] Improve text entry position visibility after verbose outputs and commands
- [ ] Ensure we are adhering to known [CLI conventions](https://nullprogram.com/blog/2020/08/01/)
- [ ] Replace the `-c` flag with a more intituive and standard `--file/-f` flag
- [ ] Alternative `render` formats (tree view for example
- [ ] https://github.com/nebari-dev/nebari/issues/1742
- [ ] Project name can be eagerly verified to follow cloud provider specific naming convensions
- [ ] https://github.com/nebari-dev/nebari/issues/1708
- [ ] re-prompt user during guided init #1812
- [ ] https://github.com/nebari-dev/nebari/issues/1946
- [ ] https://github.com/nebari-dev/nebari/issues/2023
### Functional
- [ ] For `nebari render`, add an option for additional output formats (tree view or simplified table)
- [ ] Adding verbose flag option for deploy / destroy commands (updates to run_subprocess_cmd)
- [ ] project name validation #1813
- [ ] https://github.com/nebari-dev/nebari/issues/1935
- [ ] https://github.com/nebari-dev/nebari/issues/1936
- [ ] https://github.com/nebari-dev/nebari/issues/1937
- [ ] https://github.com/nebari-dev/nebari/issues/1934
- [ ] https://github.com/nebari-dev/nebari/issues/1964
- [ ] https://github.com/nebari-dev/nebari/issues/1962
- [ ] https://github.com/nebari-dev/nebari/issues/1961
- [ ] https://github.com/nebari-dev/nebari/issues/1960
### Miscellaneous
- [x] Add tests to the CLI (see #1862)
Additional items and ideas:
- [ ] Add tests to the CLI
- [ ] Usability and accessibility improvements
- [ ] Unify the styling in a style theme to avoid mismatch and duplication here and there (this can also help us with solving some colour contrast issues)
- [ ] Improve text entry position visibility after verbose outputs and commands
- [ ] Ensure we are adhering to known CLI conventions
- [ ] Replace the
-c
file with a more intuitive and standard--file/-f
flag
- [ ] For
render
some formats could be- [ ] Tree view
- [ ]
json
or similar
- [ ] Documentation
- [ ] Add docstrings to all the methods
- [ ] Autogenerate API docs with py-markdown
- [ ] Sync and publish in the nebari docs
From https://github.com/Quansight/qhub/pull/1443#issuecomment-1259898747
- [ ] adding verbose flag option for deploy / destroy commands (updates to run_subprocess_cmd)
- [x] add
--disable-checks
tonebari deploy
- [x] ensure
nebari destroy
confirmation prompt works correctly - [x] ensure that
terraform_state
is added to config when usingnebari init
A small, nice-to-have improvement -- For the "y/N" questions, we can wait for the users to press Enter after "y" for consistency with the general flow. I find myself pressing enter out of habit after previous questions, which automatically selects an answer for the next question. This means I need to restart the guided init from the beginning.
Now that we have tasklists in the org I reorganised all the tasks in the meta issue above cc/ @pavithraes @iameskild
@iameskild @trallard Some of the tasks here can be good first issues, so converting them into separate issue with the GFI tags. :)
The mentored sprint at PyCon US 2023 is prompting this decision, but it can be useful for future sprints too. :)