L'azienda SUSE ha pubblicato il secondo prototipo della piattaforma ALP «Punta Baretti» (Adaptable Linux Platform), posizionata come un continuazione dello sviluppo della distribuzione SUSE Linux Enterprise. La principale differenza di ALP è la divisione della base fondamentale della distribuzione in due parti: un «host OS» ridotto per lavorare sopra l'hardware e uno strato per il supporto delle applicazioni, orientato all'esecuzione in contenitori e macchine virtuali. Le versioni sono preparate per l'architettura x86_64. ALP è inizialmente sviluppato utilizzando un processo di sviluppo aperto, dove le versioni intermedie e i risultati dei test sono pubblicamente disponibili a tutti coloro che lo desiderano.
L'architettura ALP si basa sullo sviluppo dell'ambiente «host OS», il minimo necessario per supportare e gestire l'hardware. Tutte le applicazioni e i componenti dello spazio utente sono proposti per essere eseguiti non in un ambiente misto, ma in contenitori separati o in macchine virtuali, eseguiti sopra l'«host OS» e isolati l'uno dall'altro. Questa organizzazione permetterà agli utenti di concentrarsi sulle applicazioni e di astrarre i flussi di lavoro, separandoli dall'ambiente di sistema low-level e dall'hardware.
Come base per l'«host OS» è stato utilizzato il prodotto SLE Micro, basato sui risultati del progetto MicroOS. Per la gestione centralizzata sono proposti i sistemi di gestione della configurazione Salt (preinstallato) e Ansible (opzione). Per l'esecuzione di contenitori isolati sono disponibili strumenti come Podman e K3s (Kubernetes). Tra i componenti di sistema spostati nei contenitori ci sono yast2, podman, k3s, cockpit, GDM (GNOME Display Manager) e KVM.
Tra le caratteristiche dell'ambiente di sistema si segnala l'uso predefinito della crittografia del disco (FDE, Full Disk Encryption) con possibilità di memorizzare le chiavi nel TPM. La partizione di root è montata in modalità sola lettura e non viene modificata durante il funzionamento. Nell'ambiente viene utilizzato un meccanismo di installazione atomica degli aggiornamenti. A differenza degli aggiornamenti atomici basati su ostree e snap, utilizzati in Fedora e Ubuntu, in ALP invece di costruire singole immagini atomiche e dispiegare un'infrastruttura di consegna aggiuntiva vengono utilizzati il gestore di pacchetti standard e il meccanismo di snapshot nel file system Btrfs.
È previsto un regime configurabile per l'installazione automatica degli aggiornamenti (ad esempio, è possibile attivare l'installazione automatica solo delle patch per le vulnerabilità critiche o tornare a confermare manualmente l'installazione degli aggiornamenti). Per aggiornare il kernel Linux senza riavvio e senza interrompere il funzionamento, sono supportati i live patch. Per garantire la resilienza del sistema (self-healing), viene effettuato un backup dell'ultimo stato stabile tramite snapshot Btrfs (in caso di anomalie dopo l'applicazione degli aggiornamenti o delle modifiche alle impostazioni, il sistema viene automaticamente riportato allo stato precedente).
Sulla piattaforma viene utilizzato un stack software multi-versione: grazie all'uso dei container, è possibile utilizzare contemporaneamente diverse versioni di strumenti e applicazioni. Ad esempio, è possibile eseguire applicazioni che utilizzano dipendenze con diverse versioni di Python, Java e Node.js, separando le dipendenze incompatibili. Le dipendenze di base sono fornite sotto forma di set BCI (Base Container Images). L'utente può creare, aggiornare e rimuovere stack software senza intaccare altri ambienti.
Le principali modifiche al secondo prototipo di ALP:
- È stato implementato l'installer D-Installer, nel quale l'interfaccia utente è separata dai componenti interni di YaST e offre la possibilità di utilizzare diversi frontend, inclusi quelli per la gestione dell'installazione tramite interfaccia web. L'interfaccia di base per la gestione dell'installazione è costruita utilizzando tecnologie web e include un gestore che fornisce accesso alle chiamate D-Bus tramite HTTP, e l'interfaccia web stessa. L'interfaccia web è scritta in JavaScript utilizzando il framework React e i componenti PatternFly. Per garantire la sicurezza, D-Installer supporta l'installazione su partizioni criptate e consente l'uso di TPM (Trusted Platform Module) per decrittografare la partizione di avvio, utilizzando chiavi memorizzate nel chip TPM al posto delle password.
- È garantito l'esecuzione di alcuni client YaST (bootloader, iSCSIClient, Kdump, firewall, ecc.) in contenitori separati. Sono stati implementati due tipi di contenitori: quelli gestionali per lavorare con YaST in modalità testuale, in GUI e attraverso l'interfaccia web, e quelli di test per l'esecuzione di test automatizzati. Alcuni moduli sono stati adattati per l'uso in sistemi con aggiornamenti transazionali. Per l'integrazione con openQA è stata proposta la libreria libyui-rest-api con implementazione dell'API REST.
- È stata implementata l'esecuzione in contenitore della piattaforma Cockpit, su cui si basa l'interfaccia web del configuratore e dell'installer.
- È stata garantita la possibilità di utilizzare la crittografia full-disk (FDE, Full Disk Encryption) nelle installazioni su hardware comune, e non solo in sistemi di virtualizzazione e cloud.
- Come principale bootloader è stato utilizzato GRUB2.
- Sono state aggiunte configurazioni per il deployment di contenitori per costruire un firewall (firewalld-container) e per la gestione centralizzata di sistemi e cluster (warewulf-container).
Fonte: opennet.ru
