Hi Maxim. 

Thank you for your comments.

- Yes, the non-interactive mode is supported for all commands except "connect", 
"disconnect", "status".

- Benefits of using REST as a communication realization between CLI and Ignite 
3 cluster:
  1) This approach seems to be the de-facto standard for the client-server 
communication 
  2) CLI can connect to any cluster it has a network connection 
  3) REST component already implemented in Ignite 3
  4) REST client can be generated from Open API specification (see IEP-87 
<https://cwiki.apache.org/confluence/display/IGNITE/IEP-87%3A+Open+API+support+for+REST>).
  5) REST is languege-agnostic, so web ui or third party software can consume 
an API spec provided by the server.

- Drawbacks of using REST: additional client and server libraries have to be 
included to the CLI and Ignite distributions.

As for alternatives, I would mention that the custom sdk could be an option. 
But it requires a lot of afford to design and develop and can be used only by 
Java clients. 

- Yes, the command autocomplition provided out of the box. I've added an 
information about this.

I'll add a brief overview of popular CLIs to the IEP.


> On 13 May 2022, at 15:05, Maxim Muzafarov <mmu...@apache.org> wrote:
> 
> Hello Aleksanrd,
> 
> 
> The description looks good. A few questions below:
> 
> - Can the CLI also be run in non-interactive mode to support scripts
> execution (like the WildFly it does [1])? Will it be possible though
> the REST it used?
> - What is the benefits and drawbacks of using REST for this tool? Are
> there any alternative for that?
> - Would we have command autocomplition out of the box? It doesn't
> mentioned, but seems to be a very user friendly ability.
> 
> Can you provide a briefly comparison for such a CLI tools for other
> databases and/or systems, application servers? It seems the developing
> CLI tool is a common task, so I think at least we should mention about
> the common development approach in modern systems for such tools. For
> instance, I'm very excited with the wildfly-cli tool usage, however,
> may be it has some drawbacks too.
> 
> [1] https://kb.novaordis.com/index.php/WildFly_CLI_Scripting
> 
> On Thu, 12 May 2022 at 23:43, Aleksandr Pakhomov <apk...@gmail.com> wrote:
>> 
>> Hello, Igniters.
>> 
>> I’d like to start a discussion about Ignite 3 Command Line Tool [1]. The 
>> main value is to develop a user-friendly command-line tool with advanced 
>> completions and SQL REPL mode.
>> 
>> The set of commands and parameters can be discussed. Questions and comments 
>> are welcomed.
>> 
>> [1] https://cwiki.apache.org/confluence/display/IGNITE/IEP-88%3A+CLI+Tool 
>> <https://cwiki.apache.org/confluence/display/IGNITE/IEP-88:+CLI+Tool>

Reply via email to