Společnost SUSE zveřejnila druhý prototyp platformy ALP „Punta Baretti“ (Adaptable Linux Platform), která je představována jako pokračování vývoje distribuce SUSE Linux Enterprise. Klíčovým rozdílem ALP je oddělení základní architektury distribuce na dvě části: zjednodušenou „host OS“ pro běh na hardware a vrstvu pro podporu aplikací zaměřenou na provoz v kontejnerech a virtuálních strojích. Sestavení jsou připravena pro architekturu x86_64. ALP se původně vyvíjí pomocí otevřeného procesu vývoje, ve kterém jsou mezičlánky a výsledky testování veřejně dostupné všem zájemcům.
Architektura ALP je založena na rozvoji v prostředí „host OS“, které je minimálně potřebné pro podporu a správu hardwaru. Všechny aplikace a komponenty uživatelského prostoru by měly být spuštěny nikoli v smíšeném prostředí, ale v oddělených kontejnerech nebo v virtual machines, prováděných na „host OS“ a izolovaných od sebe. Taková organizace umožní uživatelům zaměřit se na aplikace a abstrahovat pracovní procesy, oddělující je od nízkoúrovňového systémového prostředí a hardwaru.
Jako základ pro „host OS“ je použit produkt SLE Micro, založený na výsledcích projektu MicroOS. Pro centralizovanou správu se nabízejí systémy pro správu konfigurace Salt (předinstalováno) a Ansible (volba). Pro spouštění izolovaných kontejnerů jsou k dispozici nástroje Podman a K3s (Kubernetes). Mezi systémové komponenty, které byly přesunuty do kontejnerů, jsou yast2, podman, k3s, cockpit, GDM (GNOME Display Manager) a KVM.
Mezi charakteristikami systémového prostředí se uvádí výchozí použití šifrování disku (FDE, Full Disk Encryption) s možností ukládání klíčů v TPM. Kořenová partition je připojena v režimu pouze pro čtení a během provozu se nemění. V prostředí se používá mechanismus atomárních instalací aktualizací. Na rozdíl od atomárních aktualizací založených na ostree a snap, které se používají ve Fedoře a Ubuntu, v ALP namísto budování jednotlivých atomárních obrazů a nasazení další infrastruktury pro dodání se používá standardní správce balíčků a mechanismus snapshotů v systému Btrfs.
Je zajištěn konfigurovatelný režim automatické instalace aktualizací (například je možné povolit automatickou instalaci pouze oprav kritických zranitelností nebo se vrátit k ručnímu potvrzení instalace aktualizací). Pro aktualizaci jádra Linux bez restartu a přerušení provozu jsou podporovány live patche. Pro udržení odolnosti systému (self-healing) se provádí záznam posledního stabilního stavu pomocí snapshotů Btrfs (v případě zjištění anomálií po aplikaci aktualizací nebo změnách nastavení se systém automaticky přepne do předchozího stavu).
Na platformě se používá víceverzový softwarový stack - díky použití kontejnerů je možné současně používat různé verze nástrojů a aplikací. Například je možné spustit aplikace, které používají v závislostech různé verze Python, Java a Node.js, a oddělit tak nekompatibilní mezi sebou závislosti. Základní závislosti jsou dodávány ve formě sad BCI (Base Container Images). Uživatel může vytvářet, aktualizovat a odstraňovat softwarové stacky, aniž by zasahoval do dalších prostředí.
Hlavní změny ve druhém prototypu ALP:
- Byl nasazen instalační program D-Installer, ve kterém je uživatelské rozhraní odděleno od interních komponent YaST a je zde možnost použití různých front-endů, včetně front-endu pro správu instalace prostřednictvím webového rozhraní. Základní rozhraní pro správu instalace je postaveno s využitím webových technologií a zahrnuje zpracovatele, který zajišťuje přístup k voláním D-Bus prostřednictvím HTTP, a přímo webové rozhraní. Webové rozhraní je napsáno v JavaScriptu s použitím frameworku React a komponent PatternFly. Pro zajištění bezpečnosti D-Installer podporuje instalaci na šifrované oddíly a umožňuje použít TPM (Trusted Platform Module) k dešifrování zaváděcího oddílu, přičemž místo hesel používá klíče uložené v čipu TPM.
- Bylo zajištěno vykonávání některých klientů YaST (bootloader, iSCSIClient, Kdump, firewall atd.) v oddělených kontejnerech. Byly implementovány dva typy kontejnerů — řídicí pro práci s YaST v textovém režimu, v GUI a prostřednictvím webového rozhraní, a testovací pro provádění automatizovaného testování. Řada modulů je také přizpůsobena pro použití v systémech s transakčními aktualizacemi. Pro integraci s openQA byla navržena knihovna libyui-rest-api s implementací REST API.
- Bylo implementováno provádění v kontejneru platformy Cockpit, na jehož základě bylo postaveno webové rozhraní konfigurátoru a instalátoru.
- Byla zajištěna možnost použití plného šifrování disku (FDE, Full Disk Encryption) při instalacích na běžném hardware, a ne pouze v erárovaných a cloudových systémech.
- Jako hlavní zaváděcí program byl využit GRUB2.
- Byly přidány konfigurace pro nasazení kontejnerů pro sestavení firewallu (firewalld-container) a centralizovaného řízení systémů a clusterů (warewulf-container).
Zdroj: opennet.ru
