colibri/docs/wiki/sl/operator-cli.md
Sam & Claude aa377faf95
Some checks are pending
CI / rust (pull_request) Waiting to run
CI / markdown (pull_request) Waiting to run
CI / port (pull_request) Waiting to run
CI / agent-jail-pkgs (pull_request) Waiting to run
fix(sl): ozadnji proces→proces v ozadju + wiki: daemon-not-demon
Two fixes in one commit:

1. Terminology: ozadnji proces → proces v ozadju
   - More natural Slovenian — noun inflects, prepositional phrase stays fixed
   - 60 replacements across 19 sl/ files
   - Glossary header updated to match
   - Reverts the bad merge that restored "demon" in glasspane.md and
     task-board.md (including enouporabniški→enonajemniški fix)
   - Forms: proces v ozadju / procesa v ozadju / procesu v ozadju /
     procesom v ozadju / procesov v ozadju

2. New wiki page: daemon-not-demon (EN + SL)
   - Explains the FreeBSD daemon (Beastie mascot, helper spirit) vs
     Slovenian demon (devil, bad spirit)
   - Documents the decision to use proces v ozadju in Slovenian
   - Confirms daemon (with a) is the only English spelling in Colibri
   - Linked from both EN and SL wiki indexes
2026-06-26 15:21:24 +02:00

2.6 KiB

title description
Operaterski CLI (`colibri`) Binarna datoteka `colibri` je operaterski vmesnik ukazne vrstice do procesa v ozadju — tanek tipiziran odjemalec Unix vtičnice.

kazalo

Binarna datoteka colibri je operaterski vmesnik ukazne vrstice do procesa v ozadju. Je tanek odjemalec — pošilja ukaze JSON po vtičnici Unix, razčlenjuje odgovore in jih izpisuje. Vsak podukaz CLI se preslika v en ukaz procesa v ozadju. Vmesnik CLI dodaja priročnost (barvni izpis, privzetki, oblikovalci), ne poslovne logike.

crates/colibri-client/src/bin/colibri.rs

Odločitve

Ena binarna datoteka, ena vtičnica

Obstaja ena binarna datoteka colibri, ki se poveže na eno vtičnico (/var/run/colibri/colibri.sock ali COLIBRI_SOCKET). Ni podukazov za izbiro procesa v ozadju — večgostiteljske operacije gredo skozi most krmilne ravnine. Operater izrecno usmeri na drug gostitelj (nc <tailnet-ip> 9190), ne da bi CLI podpiral več končnih točk.

Zakaj ne več profilov procesa v ozadju: en proces v ozadju na gostitelja je zadosten. Več končnih točk bi v CLI vneslo stanje (colibri --host osa status), ki ga most že rešuje na omrežni plasti.

CLI je generičen odjemalec JSON-RPC

Vsak podukaz zgradi objekt ColibriCommand, pokliče client.request(command).await in izpiše rezultat. Odjemalec ne ve ničesar o pomenu kateregakoli ukaza — samo serializira in razčlenjuje.

Oblikovalci izhodov (print_json, print_table, print_key_value) so čiste funkcije nad serde_json::Value. Če proces v ozadju doda novo polje, se samodejno prikaže v izhodu JSON brez spremembe v CLI.

En ukaz na zagon, ne interaktivno

Vsak zagon colibri izvede natanko en ukaz in konča. Brez lupine REPL, brez več ukazov v eni seji. To ohranja CLI brez stanja in varnega za skriptanje: colibri status | jq '.data.agents' je enako zanesljiv v cronu kot v terminalu.

crates/colibri-client/src/bin/colibri.rs (main)

Podukazi, specifični za tablo opravil, sledijo istemu vzorcu

Ukazi za opravila (create-task, intake-task, claim-task, transition-task) sprejemajo argumente CLI, ki se preslikajo v polja ukaza JSON. Izhod je bodisi celoten objekt opravila (za create-task, intake-task) bodisi potrditev (claim-task, transition-task). Noben podukaz ne zahteva več kot ~3 argumentov — opravilna tabla je namenjena dodeljevanju s strani agenta, ne ročnemu upravljanju.

crates/colibri-client/src/bin/colibri.rs

Glej tudi

  • task-board — ukazi, ki jih CLI zrcali
  • deployment — kako je nameščena binarna datoteka procesa v ozadju