+1 Please also add a sync command to force a subscribed cartridge to refresh from git.
Paul On 9 May 2013 20:53, Isuru Perera <[email protected]> wrote: > Hi, > > For Stratos 2.0 release, we are planning to improve the existing CLI Tool > [1]. > > We are planning to support following features in Stratos2 CLI Tool > > > - Command history [2] > - Auto-completion of commands > - Character masking (for passwords) [3] > > > For above features, we are planning to use jline2 library [4]. > > *Existing Design* > > Currently the CLI tool has two modes. (Stratos2 CLI source can be found at > [5]) > > 1. Interactive Mode - In this mode, user is logged in by passing only > username & password as arguments. > > $stratos <username> <password> > After successful login, the user get a prompt as "stratos>" > > 2. Single Command Line Mode - In this mode, all the commands are passed as > arguments including username and password > > $stratos <username> <password> list > This will list all the cartridges. > > AFAIK, we can support above features only when the CLI tool is in prompt > mode. In order to provide auto-complete features at the terminal, we need > to use OS specific functions, for example /etc/bash_completion [6] > > *Drawbacks of existing Beta 2 CLI Tool & Possible Solutions* > > 1. A drawback of existing design is that we have to login every time the > stratos command is executed. > > Solution: Login only once. The back-end service is an admin service and we > login as a tenant. I'm thinking of a way to save session in the file > system. For example inside <user.home>/.stratos/ > > If we can save the session id, then we use the same for authenticate next > requests. In this way, the user can use the CLI tool, until the session > times out. > > Or else we can keep the username and password cached (encrypted form). In > this way, user can keep using the tool without worrying about the session > time out. > > Which is the better way? > > 2. Currently the password is entered in the command line itself > > Solution: With jline2, we can use masking for password input. > > 3. Command history not support. > > Solution: jline2 can provide command history. Additionally if we can login > only once, user can execute commands directly in terminal and use the > history available in the terminal environment. > > *New Design* > > I'm going to introduce following commands to the tool > > 1. $stratos setup > This will prompt for Stratos Controller hostname & port. These values will > be saved in <user.home>/.stratos/stratos.config > > 2. $stratos login > This will have arguments for username and password. Password will be > prompted with masked character. Authentication details will be saved in > <user.home>/.stratos/ > > 3. $stratos logout > Logout user. > > After successful login, user can go into interactive mode by just entering > "stratos" or user can execute commands in single line. For example "stratos > list", "stratos subscribe" etc. > > CLI Tool will also be improved to use a single '-' for short option names > and '--' for longer option names [7]. > > WDYT? > > [1] https://wso2.org/jira/browse/SPI-234 > [2] https://wso2.org/jira/browse/SPI-111 > [3] https://wso2.org/jira/browse/SPI-241 > [4] http://jline.github.io/jline2/ > [5] > https://svn.wso2.org/repos/wso2/carbon/platform/branches/4.1.0/components/stratos/artifact-deployment-coordinator/org.wso2.carbon.adc.mgt.cli/2.1.1 > [6] http://www.debian-administration.org/articles/316 > [7] https://wso2.org/jira/browse/SPI-240 > > -- > Isuru Perera > Senior Software Engineer | WSO2, Inc. | http://wso2.com/ > Lean . Enterprise . Middleware > > Twitter: http://twitter.com/chrishantha | LinkedIn: > http://lk.linkedin.com/in/chrishantha/ > -- Paul Fremantle CTO and Co-Founder, WSO2 OASIS WS-RX TC Co-chair, VP, Apache Synapse UK: +44 207 096 0336 US: +1 646 595 7614 blog: http://pzf.fremantle.org twitter.com/pzfreo [email protected] wso2.com Lean Enterprise Middleware Disclaimer: This communication may contain privileged or other confidential information and is intended exclusively for the addressee/s. If you are not the intended recipient/s, or believe that you may have received this communication in error, please reply to the sender indicating that fact and delete the copy you received and in addition, you should not print, copy, retransmit, disseminate, or otherwise use the information contained in this communication. Internet communications cannot be guaranteed to be timely, secure, error or virus-free. The sender does not accept liability for any errors or omissions.
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
