extract jobkit-daemon library from poc-memory daemon

Create jobkit-daemon crate with generic daemon infrastructure:
- event_log: JSONL append with size-based rotation
- socket: Unix domain socket RPC client and server with signal handling
- status: JSON status file read/write

Migrate daemon.rs to use the library:
- Worker pool setup via Daemon::new()
- Socket loop + signal handling via Daemon::run()
- RPC handlers as registered closures
- Logging, status writing, send_rpc all delegate to library

Migrate tui.rs to use socket::send_rpc() instead of inline UnixStream.

daemon.rs: 1952 → 1806 lines (-146), old status_socket_loop removed.
tui.rs: socket boilerplate removed.

Co-Authored-By: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
ProofOfConcept 2026-03-14 02:40:30 -04:00
parent 35bc93c22b
commit 420a777eba
11 changed files with 696 additions and 293 deletions

12
jobkit-daemon/Cargo.toml Normal file
View file

@ -0,0 +1,12 @@
[package]
name = "jobkit-daemon"
version.workspace = true
edition.workspace = true
[dependencies]
jobkit = { git = "https://evilpiepirate.org/git/jobkit.git/" }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
chrono = "0.4"
libc = "0.2"
log = "0.4"