On Oct 3, 2006, at 10:12 AM, Paul McMahan wrote:
OK I should have guessed that windows was the culprit. I jumped over to debian and now all is fine. GShell looks very promising!! I love the idea of being able to telnet or ssh into the server and run commands remotely. As a matter of fact this appears to provide a vital improvement that Geronimo users have been asking for: the ability to remotely administer a running server (see the "Swing console?" thread from 9/17/2006).
Yup, that is the general idea. :-)
A few questions : - what's the security model?
Mostly this is TBD. I plan on adding some sort of login context to allow users to login (for ssh this will be the ssh auth callback, for telnet it will have to be a custom login handler). Once credentials are established, then it should be possible to limit the set of commands that are enabled for a user. I am sure there is much more than can be done here too. But at the moment, I've only planned to get a simple login implemented and have not done much more design of a richer model.
- will GShell share a common code path with the console and the CLI for handling things like deployment?
Yes, well... yes for the CLI, as I hope to eventually replace the existing CLI tools with command plugins into gshell, so they will be one and the same. I am not really sure what the web console is doing, but we should definitely share as much as possible.... where possible.
It should be possible to define a simple interface (or set o interfaces) for each admin bit in the console... and provide a portlet and gshell command (or set of commands) to adapt to the interface.
I think this will be easy(ish) to do... more so once the webconsole is more xtensible/pluggbale, and when admin portlets are split up into modules that are specific to the function they provide.
It certainly would be nice to have one-to-one mappings for admin functionality between the webconsole and gshell commands... but there is still work on both sides before that would be possible... but it is kind of a longer term goal.
- which subsystems of geronimo will GShell depend on and how will it access them? e.g. will it be wrappered as a gbean and use the kernel to get access to them? mainly I'm wondering if (unlike the console) it will be able to administer components running in the server without a having a run-time dependency against them.
Um, well I am in the process of writing a few simple GBeans to run/ manage the server components of GShell (the telnet/ssh server and the config and monitoring aspects that they bring in). Short of that there are no dependencies on Geronimo.
I am thinking that a simple GBean to mange the start/stop of the server (ie, start/stop the telnet/ssh connector), which will manage the basic port config as well as the more advanced ssh config needed. And then a simple portlet to control the gbean, to list who is logged in, maybe even allow sessions to be terminated and such.
May need to introduce some extra command sets which are G specific... or augment the script command to know more about the G namespace, so that we can register some more helpful variables to allow some meaningful/useful scripts to be written.
But, so far these are just ideas in my head... some with TODO comments in code... I have not had enough time to get anymore significant work done on gshell after the initial flurry of code I dropped in over a week or so.
I hope that once all this build muck is over and done with that I can get back into the GShell groove... clean it up and get it integrated into the server.
Anyways... ideas and suggestions are welcome :-) --jason
