Jeremy Huntwork wrote:
Neither are the rest of us, which is why alfs stagnated. We could work
on something in C slowly... Otherwise, perhaps we could start working on
something in Perl or Python. It's the 'where to start' with this one
that flusters me.
Well, in the end we do the best with what we have, resources and
people's skills alike.
I know nothing about Python. C isn't my strongest suit anymore and I
could probably manage Perl nicely. Ideally there would be a GUI
front-end something slapped up with QT Designer or something, who knows.
That's probably running a little ahead of things, but we should look
into that too and plan for it.
Let me just rehash as I see how things might work (in case there are new
people here, or old people with bad memories).
A UI program would interface with a daemon type application that runs in
the background. This could be a process running on the local machine, or
on the remote machine. This UI (command line based, or graphic based
makes no difference) would interface with this background process and
make things happen.
The way I envision it, the userinterface is configured to know about
machines it has access to control. You have an update for a program like
coreutils, you select all the machines you want updated, and the UI
establishes connections to the servers and sends the commands to
download, build, and install the new coreutils package.
There are some questions that need answering of course. Do we stick with
XML like we use in nALFS for profiles or do away with it. Who does the
parsing: the client or the daemon who is doing the actual installing.
The daemon could be the dumb app: it receives commands to run to get the
job done. The client figures out what those commands should be. This
makes it possible, and easy, for the user (us humans) to make changes
since you simply cannot install every package the exact same way on
every machine.
But let me back-up. That's all future talk. If we are to do this, we
have to decide on the backend mechanisms first. Since remote admin is
desired, a TCP based interface is necessary. A client logs into IP X on
Port Y. Then it needs to authenticate itself. That's going to be our
step one. A password of some sort would probably be the simplest and we
can worry about security (ie: man-in-the-middle attacks) later I imagine.
So once the connection is established remote alfsd is ready to receive
instructions. How are those going to be sent and received. That would be
task number two. SOAP was suggested in the past as a possible good fit
for this.
We could always make up our own protocol. Send a start-command-list type
string. Then everything that follows could be a plain old shell script.
End with an end-command-list string, send an execute-command-list and
wait for feedback.
Just some food for thought.
We don't have to worry about the programming language yet. Let's figure
out the lower level issues: logging in to a process running either local
or remote and authenticate to it.
--
Gerard Beekmans
/* If Linux doesn't have the solution, you have the wrong problem */
--
http://linuxfromscratch.org/mailman/listinfo/alfs-discuss
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page