Return-Path: Delivered-To: apmail-geronimo-dev-archive@www.apache.org Received: (qmail 82924 invoked from network); 29 Nov 2008 01:45:05 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 29 Nov 2008 01:45:05 -0000 Received: (qmail 73414 invoked by uid 500); 29 Nov 2008 01:45:15 -0000 Delivered-To: apmail-geronimo-dev-archive@geronimo.apache.org Received: (qmail 73364 invoked by uid 500); 29 Nov 2008 01:45:15 -0000 Mailing-List: contact dev-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list dev@geronimo.apache.org Received: (qmail 73353 invoked by uid 99); 29 Nov 2008 01:45:15 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 28 Nov 2008 17:45:15 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of jason.dillon@gmail.com designates 209.85.142.190 as permitted sender) Received: from [209.85.142.190] (HELO ti-out-0910.google.com) (209.85.142.190) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 29 Nov 2008 01:43:47 +0000 Received: by ti-out-0910.google.com with SMTP id b6so1167410tic.1 for ; Fri, 28 Nov 2008 17:44:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:from:to :content-type:content-transfer-encoding:mime-version:subject:date :x-mailer:sender; bh=lngXqoLFpR7U1kb8SRPSNOGoee/tHq5z9FZwCIrLlaM=; b=XA6cZHEfn3khsfhsp+Beg32zy+kh0Cl9TvQ2s6j9ygQI6Woa81aCgb+cB9ywscbuJ3 4PSz35AKzvQ5Lgk1k+zXENMJP50HO6sDbINIGmyyiDGL8sga5B4lsp6Sj3GXuJdGxauB 158hRV+jkaepLFRtwPHp7MA68HHOgmDjn90k8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:from:to:content-type:content-transfer-encoding :mime-version:subject:date:x-mailer:sender; b=T13LXyXbT9A9heiK4Qv6ucSqfU62fXIfGnkvmj0MwrCMrUN80ksKcd9fi8zL8of2tZ 7VjPb6nMl61ft2hozS84fqzjWzkRHuu6GOBrVMSqAZiXGSYz+361MXnZ9Lm7QN/Fmjjm 0VRYu1WnizWqZXbLtKCsl/T3x/0iUFsyLMq5w= Received: by 10.110.28.15 with SMTP id b15mr4261910tib.20.1227923063107; Fri, 28 Nov 2008 17:44:23 -0800 (PST) Received: from ?10.0.1.94? (ppp-58-8-7-203.revip2.asianet.co.th [58.8.7.203]) by mx.google.com with ESMTPS id d1sm2557936tid.15.2008.11.28.17.44.20 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 28 Nov 2008 17:44:22 -0800 (PST) Message-Id: <2AC8994D-9767-4BD1-B4A0-E3B6E7B6CE6A@planet57.com> From: Jason Dillon To: dev@geronimo.apache.org Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v929.2) Subject: GShell Update Date: Sat, 29 Nov 2008 08:44:18 +0700 X-Mailer: Apple Mail (2.929.2) Sender: Jason Dillon X-Virus-Checked: Checked by ClamAV on apache.org 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. BUT... 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: hostname grep find 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 vote. I'm working on integration into the latest server tree... maybe more ;-) --jason