You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by GitBox <gi...@apache.org> on 2021/05/10 13:48:45 UTC

[GitHub] [apisix-dashboard] bzp2010 commented on issue #1884: feat: provide command line interface of Manager API

bzp2010 commented on issue #1884:
URL: https://github.com/apache/apisix-dashboard/issues/1884#issuecomment-836723762


   ## Enhance CLI of Manager API
   Provides a way to operate the etcd storage of Apache APISIX by CLI.
   
   ### Significance
   The current deployment mode of dashboard is too heavy for small-scale applications such as stand-alone deployment. It may be difficult to connect to etcd when using docker deployment in stand-alone deployment. The compilation deployment needs to install some tools such as golang and nodejs, as well as their version problems.
   
   ### Goal
   The goal of the tool is to simplify the use in these scenarios, and the can be used to control the gateway just through a single binary program with CLI.
   
   ### Implement
   The current command line uses cobra library to implement, which can support my simple extension of new command. The operation on etcd will reuse the current storage layer directly.
   
   In the beginning, it will provide the simplest control like this.
   `manager-api cli route create [flags]`
   `--name`
   `--host`
   `--methods`
   It could end up like this `manager-api cli route create --name test --host example.com --methods get,post --upstream-id xxxx --etcd-endpoint 127.0.0.1:2379`
   
   **Is there any better suggestion on this part?**
   
   ### Development Plan
   1. Provide configuration mode based on JSON.
   2. Provides configuration based on command line parameters. (split configuration in JSON into parameters according to entity parameters)
   3. Try to provide support for the above functions in a more extensible way, so that it can face the changes of entity attributes.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org