Z blogu obhajujiciho SIlverblue:
"Neměnný systém je dnes v módě. Umožňuje vám mít základní systém, který testujete a distribuujete jako celek."
Nemenny system v mode opravdu je. Ale tlacit distibuovani monolitu a obhajit to takto, moc OK neni, i kdyz se diky Dockeru muze zdat, ze je to taktez v mode. Nicmene, tahle spatna moda pomine a zustane duraz na immutability.
Z myho pohledu muze mit clovek "nemenny" a zaroven "modularni" (tedy, plne, na uroven posledniho znaku v poslednim konfiguracnim souboru v systemu), najednou.
https://nixos.org/~eelco/pubs/
Nas vpsAdminOS je vlastne overlay repozitar nad NixOS, a NixOS samotny je kolekce modulu, ktere nejakym zpusobem pracuji s "baliky" z repozitare nixpkgs.
https://github.com/vpsfreecz/vpsadminos/tree/master/os
https://github.com/NixOS/nixpkgs/tree/master/nixos
https://github.com/NixOS/nixpkgs
Vsechny vstupy jsou zahashovane, vcetne definic toho vseho, jak cely ten blazinec zbuildit a pokud se na vstupu zmeni jediny bit, vystup se ulozi jinam a je jasne videt, ze je to dalsi verze celeho systemu.
Muzu si doinstalovat libovolny balicek z nixpkgs na libovolnou masinu, kterou uz mame na vpsAdminOS (nebo vsechny kontejnery s NixOSem, kterych je zatim pro #nestihacky jen par) - to pekne prosim tim, ze udelam commit do repa s konfiguraci celeho naseho Nix-based deploymentu a pustim 1 prikaz (ten je v planu eliminovat, za to pridat automaticke kolecko pres dev/stage) a mam po instalaci toho baliku atomicky switch na novou generaci systemu, kde je ten balik nakonfigurovany, jak si preju. Trosku jina filozofie, no ;)
A jeste updatnu live bezici OS z RAM, i jeho nainstalovanou verzi na lokalnich diskach, i PXE image tech bootovatelnych masin.
Tu je aktualni priklad naseho netboot serveru:
https://github.com/vpsfreecz/vpsfree-cz-configuration/blob/master/netboot-server.nix
Sorki vam to navrhoval, mohli jste to mit. Menezerisove si museli hrat na menezery, aniz by to umeli a dopadlo to jak? Ze mate RPM, ktery v podani ELu/Fedory ma explicitne zakazanou podporu fetche z Gitu, misto abyste ten smer rozvijeli, je trosku smutne (nebo uz se to zlepsilo?). Mate nekde videt postup, kterym je cely tenhle zakladni system postaveny? Je mozne celou Fedoru bez vasi pomoci portnout na jinou architekturu?
Toz, takhle to ficime vedle sebe, my pro nase potreby (a pomalu to zacina vypadat OK i pro dalsi) a vy pro vase platici zakazniky.
NixCon letos byl dost zabava sledovat, vlastne nikdo tam nebyl jen tak, ze by to platil ze sve kapsy a jenom si NixOS zkousel. Vsechny to nejak zivi, nikdo nema potrebu stavet korporace, protoze mame pekny priklad, jak to dopada :/
Pristi rok budeme delat NixCon v CR, nekdy takhle na podzim; rozhodujeme se mezi Prahou a Brnem. Zalezi na vicero faktorech.
Zdravim IBM Brno, divizi Cervenych a Modrych klobouku ;)
No jo, proto jsem se psal s takovym dlouhym komentarem, abych taky jenom netrollil s NixOSem, ale neco predal ;)
Mrkni postupne ty linky; repozitar vpsfree-cz-configuration je repozitar pro NixOps, zpusob jak spravovat snadno cely datacentra NixOS masin.
Zeptam se takhle: can you distro do this? https://nixos.wiki/wiki/Nginx#Sample_setups
Ahoj Pavle,
Silverblue a celý blogový zápisek je o desktopovém systému, ne o nasazení v datacentru, které tu primárně popisuješ. Hlavní motivace za tím mít neměnný systém je to, abychom mohli nabídnout základní systém a desktop jako celek, který je námi pořádně otestovaný a garantovaný, že funguje. Kdyby byl ještě zároveň modulární, tak se zase dostáváme do toho testovacího pekla velkého množství kombinací jednotlivých modulů.
Srovnání NixOS je mnohem relevantnější s modularitou, což je primárně serverová věc a já ji popravdě do detailu neznám. Nevím, proč to řeší zrovna takhle, jaké mají požadavky, proč se nevydali cestou NixOSu. Akorát si pamatuju, že Langdon, který má modularitu na starosti, se na Flocku vyjadřoval o NixOS jako o zajímavém projektu, který pečlivě sleduje.
Hoj Jirko,
prosim, neobhajuj mi nedostatecny zmetky tim, ze jsem to nemyslel na desktop.
Myslel, prave Ti pisu z jednoho ze tri NixOS based desktopu, co mam. Pravdaze, mam jeste jeden CentOS 7, kvuli komercnim vecem od Lattice, ktere se nam zatim nechtelo patchelf-ovat kvuli cestam do /nix/store, ale to mi sakra ver, ze jsem mel na mysli *CELY* ekosystem.
Jak buildis *tu nejposlednejsi* open-source vec, ktera do ted ficela na nejposlednejsim Makefile peklu, protoze jednim z temat NixConu bylo btw "zbavme se fuj-fuj Makefile".
Tu se bavime o kompletne jinym pristupu baleni, kterej ma vyreseno, co vy se snazite "resit", ale jaksi to s tema monilitama a pekylkama m4 maker (zdravim autory RPM), nejak moc nejde.
;)
A to neni jenom Nix, pokracuje dalsi vyvoj a treba Dhal je naschval navrzeny jazyk, aby nebylo mozne v nem delat nekonecnou rekurzi (coz je v Nixu casty problem).
Ale tu *komplet celou* vasi .spec vyvojovou vetev bych proste zahodil, fakt to vyzaduje *prilis* *mnoho* *clovekohodin*, abyste zabalili tak jednoduchou vec, co je RHEL - a nepredstavitelne clovekohodin, abyste meli modularni immutable desktop, ktery se bude dat pouzivat (proto ho nemate).
Tady je prikladecek dalsiho projektiku, o kterym se vam v RH asi ani nezdalo.
Deklarativni home management? Neco, co muzou lidi zavidet Active Directory od Microsoftu dal a dal?
Ale jiste, tu to mame, beze vseho, prosim:
https://github.com/rycee/home-manager/tree/master/modules/programs
Na NixOS jsem v rychlosti koukl a jestli tvůj drobný útok na Jirku chápu správně, tak ty mu vyčítáš, že RedHat nepřistoupil na nějakou tvoji nabídku ve které jsi chtěl, aby ten výchozí systém (monolit) Silverblue ve kterém je jen Firefox a aplikace Gnome nevytvářeli jako monolit, ale za pomocí balíčkovacího managementu, který nabízí NixOS? Ale ty doplňkové aplikace by stejně musely být ve Flatpaku, Snapu apod., protože podle mě cílem Silverblue je mít dobře otestovaný monolit a ostatní appky si budou sebou tahat všechny potřebné závislosti.
No, stejne maji matici use-cases, ktere musi podporovat i tim monolitem. Nevycitam Jirkovi nic primo, on je jenom spravny fanousek do technologii sve firmy a ja mu to neberu, jenom rejpu, ze to muze byt na lepsich zakladech.
A ze znam lidi, kteri se to snazili tlacit (ne jednoho), aby byla v RH nejaka realna inovace - ale no, ono byt videt neznamena byt nejlepsi (v ramci RH i jinde).
Je to trochu na dyl, ted jsem ve spechu, kdyztak se jeste rozepisu.
Silverblue je zalozene na ostree, ktore ma niektore ficury podobne nix. Niektore ma ine, kazdy z nich ma svoje vyhody aj nevyhody.
https://ostree.readthedocs.io/en/latest/manual/related-projects/
Jakym? Ze rikam, co si mysli o RH crapu, generovanym jak na montazni lince? Ale to by se od toho Forda museli aspon neco priucit, ne mit ve vsem chaos.
Je mi davno jedno, jestli se v RH chytnou za nos. A nejakou rozumnejsi propagaci NixOS v CZ/SK pomalu rozjizdime, sem jsem si dosel porypat, je to takova zabavka videt, jak to tam fakt mysli vazne, ty jejich “inovace”. Zbytek sveta just doesn’t care a kdyz nekomu actually ukazuju NixOS, neni stejne cas resit jiny technologie (a kdo ten ekosys prohlidne, zjisti, ze muze cca zahodit, na cem ficel do ted).
No, nejen servery, desktopy, ale tlacim ho aktivne i do embedded (inteligentni informacni systemy, takovy ty displeje s informacema vsude mozne, akorat trochu vic live, jak obsah, tak OS; chystame tri mesicni upgrade cyklus na OS a cca okamzity upload niveho obsahu + live data, co je na embedded casto naprosto neslychane).
Dalsi rozresena vec je instalace do ONIE prostredi na 40G/10G switche a integrace s Broadcom SDK; uz uz na tom vidim sitovaci pater vpsFree (s BIRDem).
Jak jsem viděl, tak ten NixOS nepoužívá /bin, /sbin, /lib, /usr adresáře, takže se moc nedivím, že do toho RH nešel. To není jen nějaká inovace stávající distribuce, ale úplně nová distribuce linuxu. Ty *.nix konfigurační soubory taky nevypadají úplně jednoduše, takže představa, že bych je jako uživatel desktopu musel editovat pro mě není moc příjemná.
No, nekdo to na NixConu vtipne shrnul, “zapomen, jak ses 25 let ucil konfigurovat a distribuovat Unixovy soft a pak open-source, a budes v pohode”.
Muj argument pro NixOS je rychlost, jakou se daji pachat nove deploymenty a to, ze ekosystem podporuje Install & Forget spravnym zpusobem (tedy, jeste to tam uplne neni pro vsechny uzivatele NixOSu, ale mirime k tomu, ze se snadno vyrobi dev/stage prostredi, coz uz jde, a jeste automaticky pusti vsechny testy na vsechny rozbiti, ktery clovek posklada za doby podpory toho deploymentu).
Syntaxe je turbo jednoducha, jenom to chce trochu zakladu funkcionalniho programovani, aby clovek pochopil, o cem se mluvi. Samotne lepeni hotovych prikladu Nixu zvladne i lepsi lepic prikadu Bashe, zase, ekosystem dozrava a dojdeme ke stavu, ze to zvladne pak i ten horsi lepic (obcas trochu “nedava smysl” chybova hlaska nix-buildu z hlediska cloveka, co bere konfiguraci jako JSON a ne jako programovaci jazyk, protoze ano, tak je to jednoduche a da se to tak na ~90% vnimat).
Kolik myslis, ze nas dela na vpsAdminOS? A videl jsi, co to umi? Naboktuj si to a srovnej s CoreOS, spadne ti sanka az do sklepa. A mne je to trapny se s tim takhle chlubit, protoze to ne my, ale to ti titani, na jejichz ramenou stojime.
Fakt netvrdim, ze maji vzit Nix. Ale tvrdim, ze zahodit RPM a tezce se Nixem a NixOSem inspirovat, by bylo k dobru vsech.
Jenze jestli se inspiruji jako Stratis “umi” to, co ZFS, tak je to stejne bezpredmetna diskuze.
Stahl jsem si na vyzkoušení Silverblue, takže na zítra už zábavu mám a pokud bude čas tak někdy mrknu i na ten NixOS. Tady https://www.youtube.com/watch?v=HcvdV8IlQsk jsem našel nějaké 2 ogary, kteří o tom mluví :-), ale moc šancí tomu nedávám - minimálně pro desktop mě to přijde jako "zbytečně" velká revoluce.
IMHO Red Hat nic takoveho delat nemuze protoze by to nikdo nechtel. Pamatuju si jen jaky byl problem s yum -> dnf prejmenovanim - pry takova zmena stoji hromadu penez, musi se napsat nove manualy, plany na migraci mezi RHEL a podobne.
Predstavte si ze mate na starost hromadu firemnich zakanizku kteri maji uz svoje reseni hotove, mate hormady zaskolenych lidi. Tohle jim naservirujete a odchazi ke konkurenci.
Já jsem asi natvrdlý, ale nějak pořád nechápu, v čem by nám měl NixOS pomoct u Silverblue. Cílem Silverblue je právě mít ten monolit, který máme otestovaný a uživatelé do něj nesahají. To není nějaký nechtěný vedlejší produkt. Na to máme OSTree a to nám plní, co od toho potřebujeme: verzování toho monolitu, rollbacky, deduplikace. Nad to je naším cílem oddělit systém od aplikační vrstvy. Že budou mít aplikace vlastní životní cyklus a kadenci vydávání, je něco, co NixOS asi řeší pěkně, ale je to jenom část cíle, další částí je izolace od systémové části.
Že by se ten obsah pro ten monolit připravoval jednodušeji s NixOS než s RPM? Já to nerozporuju, ale z pohledu samotného Silverblue je to irelevantní. My jsme prostě jen využili existují infrastrukturu s 20 tisíci balíčky a dostáváme z ní aktuální obsah pro náš monolit. Bylo to pro nás o to jednodušší, protože tooling pro RPM->OSTree už byl připravený, stejně jako existuje pro DEB.
Jak vytvářet a spravovat ten monolit, je prakticky vyřešené. OSTree nám na to opravdu stačí. Co je největší výzva, je udělat tooling atd. tak, aby uživateli zůstala současná flexibilita a přitom nemusel sahat do toho otestovaného, produkčního monolitu.
Že má NixOS výhody oproti RPM? Jistě, ale nás u Silverblue RPM prakticky nezajímá, nám jenom generuje obsah pro systém a jak náročné bylo ten obsah připravit, už není problém tohoto projektu.
No, to vidim, ze to nechapes.
Projdi si ty Eelcovy prace, pekne jednu po druhy, louskej ve volnym case.
O vubec nic vic mi nejde. Ne, ze mate pouzivat NixOS na vsechno, bla, bla. To se tu akorat blbe chytame slovicek a dochazi takhle k nepochopeni.
Ja tim chci naznacit, ze kdyby si manazeri vyndali hlavu ze zadele vcas, mohl byt cely opensource ekosystem o milove kroky napred.
Misto toho se tu chlubite navareninou z m4ek, u ktere se musite modlit, ze ten build dopadne, na bootstrap Fedory jsi radsi ani nezareagoval, narazky na ty plny baraky lidi, kteri delaji neinspirujici lopativni praci, to jsi taky nepochopil ani v naznaku. Ja fakt nerikam, ze mate vzit Nix a vyresit s nim vsechny problemy sveta. Ten je ani neresi, jak jsem rikal, ma problem s rekurzi. Ale myslenkove je to uz velmi solidni framework, ktery staci doklepnout a pretavit v neco, co vam da zaklad na pristi desitky let (a cely komunite neco, na co nikdo nebude moct prskat, ale bude muset horlive dostudovavat academic-level papers).
Tvrdim, ze nedavate prostor spravnym inovatorum, kteri nastvane odchazeji a pak se musite chlubit takovymahle nedeterministickyma slepeninama, u kterych ma kazdy panickou hruzu, trochu do ni hloubeji sahnout, a tak voila jsme tady, je lepsim logickym krokem to splacnout do vetsich blobu a oslavovat, jak je to vic deterministicke pro uzivatele na venek. Jupiiii \o/
Co presne to vyresilo za problem? RPMka, z kterych to varite, musi dostat furt stejne obsahle QA, no a ted Silverblue musi dostat podobnou davku testingu se vsemi Flatpacky sveta, co se shazite valit, oh, zase monolity...
Je to asi njak reseni na cosi, ale uvaha je od zakladu spatne, protoze panove, co byste meli delat, je posouvat cely obor dopredu a na tom kontinualne vydelavat, ze mate ty nejlepsi hlavy. Ne ze u vas plati clovek za support broken shitu a to je vlastne byznys model, vyrabet veci, ktere se daji (cti: musi) supportovat.
Nevim no, cekal bych od Red Hatu vic, ne byt generator vymluv pro vsechny, co se jim nechce delat veci poradne.
To vas dlouhodobe kopne.
Staci se podivat na sentiment diskuzi o Red Hatu, hm, cca, vsude? Fakt ne zdaleka na “strasne zatrollenych ceskych serverech”. Mam pocit, ze my jenom jeste cynicteji vytahujeme ven veci, co se “nerikaji”, teda urcite ne, kdyz nechcete nevedomym kazit srandu, ktera pro ne nejako funguje.
But never mind me, delejte si to, jak chcete, pro mne je mnohem lepsi usinat, kdyz vim, ze velka modrocervena slepenina, nez se pohne, my muzem mit pochytane nove relevantni kusy trhu a az bude modrocervena padat znova na hubu, koupit nebude co, protoze next-gen reseni jsou postavene distibuovane, bez centralniho korporatniho molocha fungujiciho stylem “nas mnogo”, co by se vubec nechal uvazovat na nejakekorporatni prevzeti.
Vyhledávač -> "lift sale"
Pokud sem někdo napíše něco o technologii, kterou většina lidí nezná tím stylem, že "je to prostě lepší" a nahází tam jenom kupu literatury ke studiu na desítky hodin, nemůže čekat, že druhý den se s ním budou bavit na jeho levelu.
Když pak dotyčný navíc napíše, že nemá čas to rozebírat a vysvětlovat, už to nikdo studovat ani nebude. Pokud autorovi myšlenky nestojí za to srozumitelný shrnutí pro čtenáře, proč by jim mělo stát za to investovat čas do něčeho, bez čeho docela dobře žili a nikdo jim nedokáže stručně a jasně říct, jak to změní jejich život?
Potom několikrát změní use case technologie. Takže nikdo, kdo za pár hodin nepročetl tisíce stránek dokumentace, se nechytne. A pokud do toho dotyčný začne nadávat, že lidi, co to neznají jsou hňupi, odvaří nejenom sebe, ale i propagovanou technologii. Definitivně.
Tohle chapu a vim, ze v tomhle pripade delam, a jsem si toho vedom, netusil jsem, ale, ze to ma svuj termit ;) Diky.
Tohle je jenom ufouknuti pres pretlakovy ventil, mohl bych tu jmenovat konkretni lidi, kteri to navrhovali interne a nepochodili. Takze bylo co ufukovat, i kdyz asi uplne ne za mne osobne, ja to jenom posloucham v hackerspace pri kazdym zmetku, co z RH vyleze.
Na priste se posnazim zajistit kousek lepsi propagaci, nez “ufouknutim” pod RH nedomyslem.
Nekolikrat zmenil use-case! Ha. Nezmenil, prihodil, a mohl bych prihazovat dalsi, ktere jsou potencialne Nix(OS)em pokryte lip, jen tom venovat par nizkych stovek clovekohodin per-use-case. Rozhodne z kazdeho toho smeru nekouka novy Atomic, Silverblue, Flatpak a podobne veci, co jsou porad volne variace na immutability, ale “just not quite” stale.
> Sorki vam to navrhoval, mohli jste to mit. Menezerisove si museli hrat na menezery, aniz by to umeli a dopadlo to jak? Ze mate RPM, ktery v podani ELu/Fedory ma explicitne zakazanou podporu fetche z Gitu, misto abyste ten smer rozvijeli, je trosku smutne (nebo uz se to zlepsilo?).
To udelali ale manazeri velice dobre. Kdyby uprednostnili NiX tak nejsou v pozici jake jsou a ibm je nekoupi (rozhodne ne za $190 za akcii).
Uprednostnit lepsi technologii by melo smysl pouze pokud by resili long game, stav na trhu za takovych 5, 10 let a nebo kvalitu technologii (popravde, to je ale opravdu to posledni co by mel manazer resit).
Vzhledem k tomu ze se pred par let (imho velice velice dobre) rozhodli prodat/pripravit firmu na prodej jejich strategie (vcetne rychlo tlaceni nedodelku jako systemd) je z pohledu businessu to nejlepsi co mohli udelat.