From 6e95779c8f266212993555a0537b88b9e3816a97 Mon Sep 17 00:00:00 2001 From: zedddie Date: Sat, 10 Jan 2026 03:23:44 +0100 Subject: minor todo fixes --- TODO.md | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/TODO.md b/TODO.md index c53af4c..8b4d591 100644 --- a/TODO.md +++ b/TODO.md @@ -1,36 +1,36 @@ -# vigil +# Vigil TODO list -## Philosophy +## Reminders -- Never drop into an emergency shell for non-critical failures (e.g. non-root filesystem mount failure). -- All issues should be logged. -- Configuration via declarative TOML unit files. _(just like in systemd, but without the extra bloatware. Objectively, it is convenient to write services for systemd)_ +- Never panic from non-critical failures (e.g. non-root filesystem mount failure). +- All errors should be logged. +- Configuration via TOML. -## Implementation Roadmap +## Roadmap -### Early system setup +### System init - [x] Mount essential filesystems (`/proc`, `/sys`, `/dev` via `devtmpfs`). - [x] Spawn `udev` (or compatible device manager) as child process. -- [x] Mount user-defined filesystems from `/etc/fstab` (non-fatal on failure = log & continue). -- [x] Activate `swap` (non-fatal on failure). +- [x] Mount user-defined filesystems from `/etc/fstab` +- [x] Activate `swap` - [x] Set hostname, timezone, and locale from config. - [x] Load kernel modules (via `modprobe` or direct `init_module` syscall). -### Core runtime responsibilities +### Core runtime features - [ ] **Service management** - - Parse TOML unit files (`/etc/vigil/units/*.toml`) - - Start/stop/restart/status via `vigilctl` - - Handle `Wants=`, `After=`, `Before=` dependencies - - Auto-restart failed services (configurable: `restart = always|on-failure|never`) + - [ ] Parse TOML unit files (`/etc/vigil/units/*.toml`) + - [ ] Start/stop/restart/status via `vigilctl` + - [ ] Handle `Wants=`, `After=`, `Before=` dependencies + - [ ] Auto-restart failed services (configurable: `restart = always|on-failure|never`) - [ ] **Child process reaping** - - Install `SIGCHLD` handler - - Call `waitpid(-1, ...)` in loop to reap zombies - - Log exit status, signal, and runtime duration per service + - [ ] Install `SIGCHLD` handler + - [ ] Call `waitpid(-1, ...)` in loop to reap zombies + - [ ] Log exit status, signal, and runtime duration per service - [ ] **TTY & login** - - Launch `getty` on configured TTYs (e.g. `tty1`–`tty6`) - - Support custom `getty` paths/args per TTY in config + - [ ] Launch `getty` on configured TTYs (e.g. `tty1`–`tty6`) + - [ ] Support custom `getty` paths/args per TTY in config ### System lifecycle control -- cgit v1.2.3