geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jason Dillon <>
Subject GShell Update
Date Sat, 29 Nov 2008 01:44:18 GMT
Its been a while, I have been in a lillte bit of a slump.  But, some  
really cool things have happened in the past weeks which gave me a  
nice kick in the ass to move forward.

Thanks to Guillaume Nodet (aka gnodet) GShell now has... SSH support!   
Yes you can now use your native/local sshd client to make a connect to  
a remote gshell server... which means that if an admin starts a sshd  
command on a Geronimo server, then one can ssh into Geronimo and  
execute commands.

This is really the basic vision behind gshell... and well, it here  
now... an industry accepted secure method to run textual commands on a  
remote system!  As a previous unix system administrator, I can tell  
you... this feature is very powerful... certainly a leg up on any  
other app server on the market.


To really make it successful... we need more commands.  IMO it would  
be good if we can find a way to implement web-console and gshell- 
console functionality with a common code-base.  Most functionality  
implemented via the web-based console can easily represented via  
gshell, though granted some more thought needs to be applied to deal  
with the interface limitations.  For example, one can render a page to  
collect several inputs at once where a gshell command needs to prompt  
for each item in sequence.

I think we can invent some api to allow a gui or tui to be used... not  
sure what that is yet, but my guy tells me its going to be possible.

(A) Web is powerful... (b) Text (ssh) is also powerful.  Some  
consumers prefer A others do more with B.  The current webconsole,  
which IMO is quite simple to use provides *A* to folks, but in my  
experience more advanced users tend to automated/script in which *B*  
is the preferred method.

With GShell I think we are in a very unique position to provide the  
*best* ssh/cli administration interface to our application server.   
Actually the functionality has been there for a while, though the new  
gshell code does simplify things and add some nice new feautres.

To be clear, this is an enterprise feature, as casual users want gui  
things, so like an installer, then app icons to run the app, run the  
console, etc...   But IMO the powerusers who run their enterprise  
applications on Geronimo... they might have 100-1k geronimos nodes and  
shell-based admin scripting is the only way to operate,... short of  
writing custom GUI muck to manage all those systems and their data...  
its custom.  But by adopting the unix culture which so many admins are  
already familiar really opens the door to the use of G in these  
sophisticated environments.

  * * *

Anyways back to the update.  We have SSH/SSHD support!  The other RSH/ 
RSHD stuff is done. cause the new bits are so much better. .  GShell  
has very rich VFS support, you can cd,ls,pwd,cp all based on Apache  
Commons VFS.  This means that you can use these commands to easily  
transfer configuration files to remote systems (ie. use cp from a  
supported filesystem)

Logging configuration can also be updated via the shell now too.  You  
can set the level of a logger, or add context to thre NDC or MDC... or  
reconfigure everything from a new log4j configuration file.

Some other new commands include:

There is still work which is planned for the shell parser to make  
better use of command execution results, loop and other common things  
which a script might do.

This release of Ghell has knowledge of an artifact repository, and  
provides commands to install new plugins dynamically.  Installation  
will download new artifacts to the repository and load them from  
there,  The plugin system is still in the works, but right now you can  
install new plugins and list those already installed.  More work on  
the plugin framework is going on, so expect more changes here.

  * * *

Nothing is ever perfect... but we try to get close.  In that process  
along the lines we wan to release the codebase when its relatively  
stable/usable.  GShell is once again to that point.  Short of a few  
SNAPSHOT dependencies we are very close to a release.

On the repo issue, I had switched to Apache Ivy.  It was smaller and  
faster, but it didn't allow the local ache to be m2 compatible, so I  
abstracted the artifact resolution stuff to allow Ivy, Maven or  
Mercury to be used.  Using Maven for now, until Mercury is released,  
though from all accounts it looks like the Ivy impl is the fastest and  
slimmest impl, users need to describe what they need.

* * *

Short of it all is... a new GShell is on the horizon. look for it and  

I'm working on integration into the latest server tree... maybe more ;-)


View raw message