Oskrba trezorja
← kazalo
colibri-vault bere skrivnosti iz Vaultwarden in jih zapiše kot datoteke
okolja (.env) znotraj ječ, preden se agent zažene. Vsak najemnik dobi
svojo datoteko .env s točno tistimi poverilnicami, ki jih potrebuje —
nič več.
→ crates/colibri-vault/src/lib.rs
Odločitve
1:1:1 preslikava — najemnik = ječa = zbirka
Preslikava tenant_id → ime ječe → zbirka Vaultwarden je nespremenljiva.
Ukaz colibri vault-provision poišče vrstico najemnika v SQLite,
pridobi vse skrivnosti iz imenovane zbirke Vaultwarden in jih zapiše v
/tmp/.env znotraj ječe.
CLI Vaultwarden (bw), ne API
Oskrbnik uporablja bw (uradni CLI Vaultwarden/Bitwarden). seja bw se
odpre s ključem API, ki je shranjen kot skrivnost v bw_session, in zapre
po vsakem zagonu oskrbe. Brez trajnih sej, brez predpomnjenih žetonov.
→ crates/colibri-vault/src/vaultwarden.rs
Skrivnosti so začasne znotraj ječe
Datoteka .env je zapisana v /tmp/.env — obstojna samo toliko časa,
kolikor živi ječa. Če je ječa uničena in ponovno ustvarjena, oskrbnik
znova zažene. Skrivnosti niso nikoli shranjene na gostitelju.
Oskrba ob zagonu agenta, ne periodično
Oskrba teče enkrat, tik preden se agent zažene znotraj ječe. Brez cron
osveževanj, brez rotacije skrivnosti med izvajanjem. Če se skrivnost spremeni,
operater ustavi in znova zažene agenta.
→ crates/colibri-daemon/src/socket.rs (cmd_spawn_agent)
Glej tudi
- store-schema — preslikava
tenants - jail-confinement — kako so ječe ustvarjene