Open ams opened 1 year ago
Having services-on-demand could be implemented similarly to TOPS-20, where the CHARFC
server program opens CHA:.
(i.e. with empty host and contact components). See the Amber document.
For cbridge, it could be done with a new LSN *
operation, which would then send all non-matched RFCs to that socket as RFC nnnn contact args
. I thought about this for the Multics implementation, where listening for incoming connections could use something like it. See dps8m.
Making sure cbridge is up and running is a different problem, probably best solved by systemd/launchd etc?
I didn't have an exact idea in mind, what I had sorta in mind initially was a "Chaosnet NCP Super Server" which it would keep cbridge alive, and a way to say that "if RFC is XYZ, then start in.xyz with the following switches". I always liked inetd, since it provided a very nice little protocol for implementing new services. launchd/systemd all have their own issues ... notably, might require root to have fun.
But, given that .. CHARFC from TOPS-20 seems just as nice. All I wanted was really to get rid of the "cbridge-starter-services.sh" script, which often needs tweaking on a per site basis (i.e., I cannot use it .. since it assumes cbridge.conf to be in CWD and other minor stuff like that).
Given an RFC for FOO BAR
, CHARFC looks for SYSTEM:CHAOS.FOO
, and if it exists, starts it. For the corresponding thing with cbridge, of course switches etc can be added.
You would still have to configure the "cbridge charfc" of course, so you won't get rid of having to edit your local configuration. (So not all that much of a difference from cbridge-starter-services.sh, except the "on demand" perspective?)
Well, and a central place to state what you want to run on your bridge, which I think is nice -- but it sorta is complicating the config I guess?
It would be really nice with some kind of a inetd like deamon, that would not only make sure cbridge is up and running, but also start whatever services on demand.