When it comes to CLI commands - I would highly recommend to stick to a traditional Unix/Linux approach of command line interfaces and REPLs (i.e. command + zero or more parameters). Nested commands are not a good idea IMHO as they are very hard to document or remember. aws-cli or az have them - but it doesn't make it a good idea...
The main goal of our CLI tool should be simplicity and usability. My 2 cents, -- Nikita Ivanov On Mon, Dec 21, 2020 at 8:35 AM Kirill Gusakov <kgusa...@gmail.com> wrote: > Hey. > > 1. Sure, will remove demo suffixes. > > 2. I thought about it. Not sure why “node-start” is better than “node > start”. > > In general, we really have a subcommands hierarchy and I think it is ok not > to hide it. > > Many tools with subcommands use the same approach: az (azure), aws, docker, > kubectl, git (partially). > > I think it will be a regular pattern for our users. > > But I agree that some confusion can be connected with the usage message, > which provides the info only about 1 level of commands. > > So, to investigate the commands we need to type it and get usage one more > time. > > Also, we shouldn’t increase the depth of the current hierarchy, I think. > > Maybe we should show the grouped sections with subcommands help for the > current approach and it will be good from all points of view, wdyt? > > > On Mon, Dec 21, 2020 at 3:32 AM Valentin Kulichenko < > valentin.kuliche...@gmail.com> wrote: > > > Hi Kirill, > > > > It looks like the PR has been merged - thanks a lot for the effort! > > > > A couple of things: > > > > 1. Can we get rid of the word "demo" in the module name? It looks like > > this is an artifact from the times when it was merely a prototype. > This > > is > > not the case anymore. > > 2. The command structure seems a little bit convoluted. How about we > > flatten it and get rid of subcommands? Instead of 'node start' we can > > have > > 'node-start', instead of 'config set' - 'config-set'. We can then > group > > them in the help output so that it's clear that some commands are > > related > > to each other. What do you think? > > > > -Val > > > > On Thu, Dec 17, 2020 at 11:21 AM Valentin Kulichenko < > > valentin.kuliche...@gmail.com> wrote: > > > > > Thanks, Kirill! Hopefully, this will be merged soon. > > > > > > -Val > > > > > > On Wed, Dec 16, 2020 at 4:54 AM Kirill Gusakov <kgusa...@gmail.com> > > wrote: > > > > > >> Hi, Valentin. > > >> > > >> PR is ready for review, some smoke tests added. > > >> > > >> On Sat, Dec 12, 2020 at 2:40 AM Valentin Kulichenko < > > >> valentin.kuliche...@gmail.com> wrote: > > >> > > >> > Hi Kirill, > > >> > > > >> > I've played with the tool a little bit and it looks great! I > > definitely > > >> > like the overall approach of a single script responsible for all the > > >> > operations. This should significantly improve the usability of the > > >> product. > > >> > > > >> > Looks like there is a significant amount of functionality already > > >> > implemented. I think we should merge the code to the main branch so > > that > > >> > any other contributors could also participate and build on top of > it. > > >> What > > >> > do you think? Is the PR ready for review? > > >> > > > >> > -Val > > >> > > > >> > On Fri, Dec 11, 2020 at 8:55 AM Kirill Gusakov <kgusa...@gmail.com> > > >> wrote: > > >> > > > >> > > Hi, everyone. > > >> > > > > >> > > I want to propose for discussion the PoC cli tool, which was born > to > > >> > check > > >> > > and demonstrate approaches explained in [0] and [1]. > > >> > > This tool will be the all-in-one cli tool for ignite cluster > > >> management > > >> > and > > >> > > ignite installation/update. > > >> > > > > >> > > One unified tool will: > > >> > > - lower the entry threshold for Ignite newbies (it should be as > > >> simple as > > >> > > wget ignite && ignite init && ignite node start new-node) > > >> > > - be the one entry point for any ignite operation > > >> > > - be used for the smooth automated upgrade of local nodes and > > modules > > >> > > - use abstract REST API for communication with nodes in the > future. > > >> so, > > >> > you > > >> > > can implement your own processes around this REST API if needed > > >> > > > > >> > > Work in progress PR can be found here > > >> > > https://github.com/apache/ignite-3/pull/4 > > >> > > > > >> > > You can: > > >> > > - see a small demo here https://asciinema.org/a/378647 > > >> > > - build it from the PR and try it by yourself > > >> > > > > >> > > For building it from the sources and have a fully working demo > setup > > >> you > > >> > > need firstly: > > >> > > - "mvn install" the root dir here > > >> > > https://github.com/apache/ignite-3/pull/5 > > >> > > - "mvn install" the root dir here > > >> > > https://github.com/apache/ignite-3/pull/6 > > >> > > - "mvn install" tool itself from > > >> > https://github.com/apache/ignite-3/pull/4 > > >> > > > > >> > > > > >> > > [0] > > >> > > > > >> > > > >> > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=158873958 > > >> > > [1] > > >> > > > > >> > > > > >> > > > >> > > > https://cwiki.apache.org/confluence/display/IGNITE/IEP-55+Unified+Configuration > > >> > > > > >> > > > >> > > > > > >