On Fri, May 10, 2013 at 2:23 AM, Paul Fremantle <[email protected]> wrote:
> +1 > > Please also add a sync command to force a subscribed cartridge to refresh > from git. > +1 I have already provided a patch for this in SPI-218<https://wso2.org/jira/browse/SPI-218> > 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. > -- 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/
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
