Popis izvajalnega okolja
← kazalo
Bralnik popisa izvajalnega okolja je aditivna, bralna plast: bere dejstva o
gostitelju, ne da bi karkoli spremenil. Je vhod za razporejevalnik (ali lahko
ta gostitelj izvede opravilo?) in za matični register (kaj ta gostitelj je?).
→ crates/colibri-runtime-inventory/src/lib.rs
Odločitve
Aditivno, ne konfiguracijsko
Bralnik odkrije dejstva, ne uveljavlja stanja. Če manjka pi ali zot, to
zabeleži — ne namesti. Če je prisotnih več različic Node.js, jih navede vse.
Če je ZFS odklopljen, to zabeleži — ne uvozi bazena. Operater se odloči, kaj
storiti s popisom.
Bralni vmesnik, specifičen za platformo
HostInfo je skupen struct. Vsaka platforma implementira HostReader trait.
FreeBSD-jev bralnik uporablja pkg, sysctl, zfs, kldstat in pciconf.
Linuxov bralnik uporablja uname, /proc, lsblk in lspci. Skupna
struktura pomeni, da razporejevalnik in mati vidita isto obliko ne glede na
OS.
→ crates/colibri-runtime-inventory/src/platform.rs
Rezultat je JSON, konzumirajo ga trije porabniki
Popis se serializira v clawdie.runtime-version-inventory.v1. Trije porabniki:
- Razporejevalnik: ujemanje zmožnosti (
"can_run_local_llm": true). - Mati: register hive (
"hostname": "domedog","os": "linux"). - Operater: ukaz
colibri runtime-inventory.
Brez pisanja — integracije so samo za branje
Bralnik ne piše v podatkovno zbirko, ne spreminja konfiguracije in ne
spreminja stanja demona. Je čista funkcija HostReader::read() → HostInfo.
To pomeni, da je varno zagnati ga v cronu, ob zagonu ali ročno brez stranskih
učinkov.
→ contracts (shema) | mother-hive