Establish config loading and logging infrastructure

First working milestone of the Rust rewrite. Implements the two
foundational systems every other component depends on:

- TOML-based layered config (beds.toml + env.toml override) replacing
  the PHP XML config system, fully deserialized into typed structs via
  serde — no runtime string key lookups, shape enforced at compile time
- Structured logging via tracing + tracing-journald, with optional
  console mirror, initialized from config before any services start

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-30 12:33:52 -07:00
parent bb6df8314c
commit 22c74b2671
8 changed files with 934 additions and 1 deletions

View File

@@ -4,3 +4,9 @@ version = "0.1.0"
edition = "2024"
[dependencies]
serde = { version = "1", features = ["derive"]}
config = "0.14"
thiserror = "1"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"]}
tracing-journald = "0.3"