tatara-init 0.2.159

tatara IS PID 1 — typed service supervisor authored in tatara-lisp. Drop-in replacement for systemd/s6/openrc inside a tatara-os Linux guest.
docs.rs failed to build tatara-init-0.2.159
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.

tatara-init — tatara IS PID 1

Drop-in replacement for systemd/s6/openrc inside a tatara-os Linux guest. No daemon, no dbus, no cgroup choreography (the kernel already does that). A single static Rust binary that:

  1. Reads /etc/tatara/init.lisp (or $TATARA_INIT_CONFIG)
  2. Compiles it to a typed InitConfig via tatara-lisp-derive
  3. For each declared Service, forks + execs
  4. Reaps zombie children (the classic PID-1 duty)
  5. Honors SIGTERM/SIGINT → propagates to children, then exits
  6. On SIGHUP → re-reads the config, diff + apply (start new, stop removed, restart changed)

The supervisor is abstract (Supervisor trait) so the control logic is unit-testable without actually being PID 1. A concrete LinuxSupervisor ships for the real boot path; a MockSupervisor ships for tests.

Lisp authoring:

(definit
  :name "plex-boot"
  :reap-zombies #t
  :services
    ((:name "sshd"  :exec "/run/current-system/sw/bin/sshd -D")
     (:name "tatara-reconciler" :exec "/bin/tatara-reconciler")
     (:name "kasou" :exec "/bin/kasou" :restart "always"
                    :env (("KASOU_SOCKET" "/run/kasou.sock")))))