OS Layer Remote
Dnes som neurobil jednu vec. Urobil som vrstvu.
Nie veľkú enterprise vrstvu s dashboardom, agentom, databázou a tromi YAML formátmi. Skôr primitívnu, ale funkčnú OS vrstvu, ktorá vie z jedného stroja ovládať ostatné zariadenia, opraviť ich prostredie, nainštalovať capability a spustiť testy.
A hlavne: ja nemusím riešiť, v ktorom terminálovom okne som.
remote doctor all --fix
remote test all crypto
To je celé.
Problém: veľa zariadení, veľa okien, veľa chaosu
Keď máš jeden hlavný stroj, tablet, telefón, Termux prostredia, Arch boxy a rôzne malé deploy targety, veľmi rýchlo začne byť problém nie samotný kód, ale kontext.
Som na odin?
Som na op11?
Som na t505?
Je toto Android/Termux alebo klasický Linux?
Chýba tam jq?
Chýba tam openssl?
Je tam zip?
Kde je log?
Čo som vlastne naposledy spustil?
Toto je mentálny overhead, ktorý zabíja flow.
Cieľ bol jednoduchý: ostať na jednom stroji a nechať OS layer, nech sa postará o zvyšok.
Secrets layer: nový strom tajomstiev
Veľká zmena bola v secrets layery.
Zmenil som štruktúru tajomstiev na nový strom a tým pádom sa museli upraviť všetky layery, ktoré s nimi pracujú. Už to nie je roztrúsené ad-hoc čítanie env súborov, ale jednotnejší model:
os_layer/
secrets/
remote/
op11.env
t505.env
crypto/
crypto.env
ai/
openai/
anthropic/
Toto je dôležité, lebo secrets nie sú detail. Sú to nervové zakončenia systému. Ak ich každý layer číta inak, systém sa rozpadá. Ak ich číta konzistentne, môžeš začať robiť bootstrap, remote exec, private capability install a testovanie bez ručného zásahu.
Secrets layer teda nie je len adresár s .env súbormi. Je to trust/config substrate celého OS layer systému.
Crypto layer: menej shell magie, viac kontrolovaného parsingu
Crypto layer sa tiež posunul.
Predtým bral viac vecí shellovo — čo je rýchle, hackable, ale časom nebezpečné. Dnes sa to posunulo k tomu, že crypto už neberie shell script ako slepý input, ale pekne parsuje dáta.
To je presne rozdiel medzi:
"spusti niečo a dúfaj"
a:
"načítaj model, validuj ho, rozhodni podľa kontraktu"
Pre crypto je toto zásadné. Tam nechceš implicitné správanie. Chceš presné eventy, presné stavy, presné policy, presné testy.
Crypto layer tak ide smerom k tvrdšiemu runtime modelu:
input -> parse -> validate -> normalize -> decide -> execute -> reconcile
Nie shell chaos. Ale stále shell-native systém.
Netinstall: bootstrap reflex
Ďalší kus bol netinstall.sh.
Pôvodne bol interaktívny. Fungoval dobre ručne:
sh -c "$(curl -fsSL https://pihi.sk/projects/os_layer/netinstall.sh)"
Vybral som číslo capability alebo all.
Lenže pri remote inštalácii to nestačí. Potreboval som, aby fungovalo:
curl -fsSL https://pihi.sk/projects/os_layer/netinstall.sh | sh -s -- remote
alebo:
curl -fsSL https://pihi.sk/projects/os_layer/netinstall.sh | sh -s -- crypto
Ručné správanie ostalo zachované, ale keď installer dostane parameter, ide automaticky.
To je malá zmena v kóde, ale veľká zmena v architektúre. Z interaktívneho installera sa stal bootstrap reflex.
Remote layer: vznik nervového systému
Najväčšia vec dneška: vznikol remote layer.
Na začiatku to bol SSH transport:
remote exec op11 "uname -a"
remote exec all "hostname && whoami"
Ale počas dňa sa z toho stal control layer:
remote list
remote bootstrap op11
remote exec op11 "..."
remote doctor op11
remote test op11 crypto
To je už viac než wrapper okolo SSH. To je jednotný interface na fleet.
Remote layer vie:
nájsť device
načítať jeho secret/env
pripojiť sa cez SSH
spustiť command
spustiť doctor
spustiť install + test
uložiť logy lokálne
vrátiť exit code
A hlavne to robí z hlavného stroja. Neopúšťam odin.
Doctor: imunitný systém
Na tablete t505 sa ukázalo presne, prečo je potrebný doctor.
Chýba toto, chýba tamto. Na Termuxe je to klasika. Jeden stroj má curl, druhý nemá openssl, tretí nemá zip, niekde je cargo, niekde nie.
Vznikol preto:
remote doctor t505
remote doctor t505 --fix
remote doctor all --fix
Doctor kontroluje základné veci:
sh
bash
curl
unzip
zip
jq
openssl
sed
grep
awk
find
tar
ssh
git
cargo
rustc
clang
make
pkg-config
A vie rozlíšiť platformu:
Termux -> pkg
Arch -> pacman
Debian -> apt-get
Alpine -> apk
Reálny bug z dneška: na Termuxe nestačí openssl package, pretože binárka openssl je v balíku openssl-tool. Doctor to najprv našiel, potom sme opravili mapovanie:
openssl command -> openssl-tool package
Ďalší reálny bug: deploy layer potrebuje zip, takže zip pribudol do required dependency setu.
Toto je presne pointa doctor layeru: nie dokumentovať, čo treba doinštalovať, ale nechať systém, nech to zistí a opraví.
Test: health check contract
Každá capability potrebuje vlastný test kontrakt.
Dnes sa ustálil canonical entrypoint:
os_layer//tests/test_all.sh
A remote test robí:
remote test op11 crypto
Čo znamená:
1. pripoj sa na op11
2. nainštaluj čerstvú crypto capability cez netinstall
3. nájdi tests/test_all.sh
4. spusti testy
5. vráť výstup
6. ulož log na hlavnom stroji
To je mini CI/CD.
Bez GitHub Actions.
Bez Jenkinsa.
Bez Kubernetes.
Bez agenta.
Len:
ssh
curl
sh
exit code
log file
.tmp: krátkodobá pamäť
Dôležité rozhodnutie bolo neukladať logy niekam náhodne do systému, ale do layer-local .tmp.
Napríklad:
remote/.tmp/doctor_20260517_233916/
remote/.tmp/test_20260517_230711/
To sedí aj na Termux, aj na klasický Linux. Každý layer má svoju krátkodobú pamäť. Debug je jednoduchý:
less remote/.tmp/test_*/op11_crypto.log
cat remote/.tmp/doctor_*/summary.tsv
Žiadna mágia. Len súbory.
OS layer mind
Keď sa to celé spojí, vznikne primitívny, ale silný loop:
device registry
-> secrets
-> remote transport
-> doctor
-> netinstall
-> capability
-> tests/test_all.sh
-> .tmp logs
-> exit code
Alebo jednoduchšie:
mind -> remote -> doctor -> install -> test -> log -> decision
To je primitive OS layer mind.
Nie je to hotové. Nie je to enterprise. Nie je to pekné podľa všetkých pravidiel.
Ale je to živé.
Každý deň je silnejšie.
Prečo je to dobré
Najväčší benefit nie je, že to ušetrí pár príkazov.
Najväčší benefit je, že odpadá mentálny chaos.
Nemusím riešiť:
ktoré okno
ktorý device
ktorý package manager
ktorý dependency bug
kde je log
čo pustiť po update
Pustím:
remote doctor all --fix
remote test all crypto
A systém sa postará.
To je presne hranica, kde sa z kolekcie shell skriptov začína stávať vlastný operačný layer.
Záver
Dnes vznikol nový kus systému:
secrets layer ako trust substrate
crypto layer ako tvrdší runtime
netinstall ako bootstrap reflex
remote layer ako nervový systém
doctor ako imunitný systém
test_all.sh ako health contract
.tmp ako audit memory
Je to stále primitívne.
A práve preto je to silné.
Shell, SSH, curl, exit codes a log files sú stále dosť, keď majú dobrý kontrakt.