mirror of
https://github.com/troglobit/finit.git
synced 2026-10-18 10:59:34 +00:00
Update TODO
More inspiration and courage from the launchd Google Talk video! Fascinating stuff about replacing init/inetd/cron/watchdogd that I've been thinking about for ages! Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
This commit is contained in:
1 parent
53127a7ce6
commit
b23ce7ab8e
1 file changed
+39
-4
@@ -2,7 +2,35 @@
|
||||
TODO
|
||||
==============================================================================
|
||||
Unsorted TODO list of features and points of investigation that could be
|
||||
useful for improving finit.
|
||||
useful for improving finit. But what is an improvement to finit? Well,
|
||||
similiar to launchd, the goal of finit is to be a FAST replacement for:
|
||||
|
||||
* init
|
||||
* inetd
|
||||
* crond
|
||||
* watchdogd
|
||||
|
||||
The main goal is to be FAST. Secondary goals are to be: small, simple
|
||||
and with a very low dependency to external packages.
|
||||
|
||||
Priority
|
||||
--------
|
||||
The intent of finit is to monitor not just processes, but also to
|
||||
be able to supervise the entire system and the behavior of certain
|
||||
processes that declare themselves to be finit compliant.
|
||||
|
||||
* Integrate the ingenious libev to handle all events: signals,
|
||||
polling fd's, etc. Because "Event driven software improves
|
||||
concurrency" -- Dave Zarzycki, Apple. See the launchd video
|
||||
at http://www.youtube.com/watch?v=cD_s6Fjdri8 for more info!
|
||||
* Add support for process and system supervision. Which could
|
||||
be an API wrapping, e.g., TIPC and loadavg.
|
||||
* Add support for a /dev/watchdog plugin to replace watchdogd
|
||||
* Integrate watchdog plugin with process/system supervisor to
|
||||
reboot the system when a process stops responding, or when
|
||||
restarting it is imposible, as well as when system load gets
|
||||
too high.
|
||||
|
||||
|
||||
Runlevels
|
||||
---------
|
||||
@@ -11,6 +39,7 @@ Runlevels
|
||||
startup at RL 1 and a default run level.
|
||||
* Implement initctl stop|start|restart|reload|status <SVC> and
|
||||
service <SVC> stop|start|restart|reload|status on top
|
||||
* Add PRE and POST hooks for when changing runlevels
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
@@ -20,26 +49,32 @@ Configuration
|
||||
|
||||
Services and Tasks
|
||||
------------------
|
||||
Both the "task" and "boot" stanzas below are like "service", share the
|
||||
same mechanism for registering callbacks. These callbacks can be used
|
||||
to check a configuration db and return 1 (RUN), 2 (STOP), or 3 (RELOAD).
|
||||
|
||||
* Add support for "task [RUNLVL] ..." similar to services, but
|
||||
one-shot. Needs a trigger/when
|
||||
* Add support for "boot [RUNLVL] ..." similar to services, but
|
||||
waits for completion before continuing with the next line
|
||||
* Add support for service/task dependencies
|
||||
* Add support for "init list" to show running services
|
||||
|
||||
Miscellaneous
|
||||
-------------
|
||||
* Add support for "init -v,--version | version"
|
||||
* Cleanup move sources from top-level directory to src/ and include/
|
||||
* Make sure to install queue.h to $(PREFIX)/include/finit/queue.h
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
|
||||
* Write man pages for finit and finit.conf, steal from pimd man pages...
|
||||
* Update Debian finit.conf example with runlevels, tty/console and
|
||||
dependency handling
|
||||
|
||||
Investigation
|
||||
-------------
|
||||
|
||||
* Investigate FHS changes affecting runtime status etc., see
|
||||
* FHS changes affecting runtime status, plugins, etc., see
|
||||
http://askubuntu.com/questions/57297/why-has-var-run-been-migrated-to-run
|
||||
|
||||
..
|
||||
|
||||
Reference in new issue
Block a user