Expand description
Rule storage: per-machine .yah/cloud/rules/*.yaml with config-file watcher.
RuleStore loads all rule files from the rules directory at tower boot.
Schema versioning is enforced: future-version files are skipped with a warning;
older files (lower minor than the current SchemaVersion) migrate lazily.
Today that migration is a no-op since V1 is the only version.
RuleStore::watch starts a notify-backed file watcher that emits
WatchEvents whenever a rule file is created, modified, or removed. The
caller (the tower daemon) maps these events onto Supervisor::update_rule
and Supervisor::disable_rule calls per the arch doc §Rule storage.
Architecture: .yah/docs/architecture/A052-yah-tower.md
Structs§
- Load
Result - Output of
RuleStore::load_all. - Rule
Store - Loader and watcher for per-machine tower rule files.
- Rule
Watcher - Live config-file watcher for the rules directory.
- Skipped
File - A rule file that was skipped during
load_all.
Enums§
- Skip
Reason - Why a rule file was not loaded.
- Watch
Event - Event emitted by the
RuleWatcherbackground thread.