SUSE har offentliggjort den anden prototype af ALP "Punta Baretti" (Adaptable Linux Platform), der positioneres som en fortsættelse af udviklingen af distributionssystemet SUSE Linux Enterprise. Den vigtigste forskel ved ALP er opdelingen af den grundlæggende platform i to dele: en reduceret "host OS" til drift direkte på hardware og et lag til understøttelse af applikationer, der er fokuseret på kørsel i containere og virtuelle maskiner. Builds er forberedt til arkitekturen x86_64. ALP udvikles oprindeligt ved hjælp af en åben udviklingsproces, hvor mellembygge og testresultater er offentligt tilgængelige for alle interesserede.
ALP-arkitekturen er baseret på udviklingen af et "host OS" miljø, der minimalt kræves for at understøtte og administrere hardwaren. Alle applikationer og komponenter i brugerrummet anbefales at køre ikke i et blandet miljø, men i separate containere eller virtuelle maskiner, der køres oven på "host OS" og er isoleret fra hinanden. Denne organisation vil tillade brugerne at fokusere på applikationerne og abstrahere arbejdsprocesserne fra det lavniveau systemmiljø og hardware.
Som grundlag for "host OS" anvendes produktet SLE Micro, baseret på erfaringerne fra projektet MicroOS. Til centraliseret administration tilbydes konfigurationsstyringssystemerne Salt (forudinstalleret) og Ansible (valgfrit). Til kørsel af isolerede containere er værktøjerne Podman og K3s (Kubernetes) tilgængelige. Blandt de systemkomponenter, der er flyttet til containere, findes yast2, podman, k3s, cockpit, GDM (GNOME Display Manager) og KVM.
Af funktionerne i systemmiljøet nævnes brugen af disk-kryptering som standard (FDE, Full Disk Encryption) med mulighed for opbevaring af nøgler i TPM. Root-partitionen monteres i skrivebeskyttet tilstand og ændres ikke under drift. I miljøet anvendes mekanismen for atomære opdateringer. I modsætning til atomære opdateringer baseret på ostree og snap, der anvendes i Fedora og Ubuntu, anvender ALP den almindelige pakkehåndtering og mekanismen for snapshots i Btrfs-filsystemet.
Der er en konfigurerbar automatiseret opdateringsmetode (for eksempel kan auto-opdatering kun aktiveres for kritiske sårbarhedsrettelser eller man kan vende tilbage til manuel bekræftelse af installationen af opdateringer). Live-patches understøttes til opdatering af Linux-kernen uden genstart eller nedetid for at opretholde systemets tilgængelighed (self-healing) ved at fastsætte den sidste stabile tilstand ved hjælp af Btrfs snapshots (hvis der opdages afvigelser efter installation af opdateringer eller ændringer i indstillingerne, skifter systemet automatisk tilbage til den tidligere tilstand).
Platformen anvender en flerversions software-stak — takket være brugen af containerne kan forskellige versioner af værktøjer og applikationer benyttes samtidigt. For eksempel kan applikationer, der afhænger af forskellige versioner af Python, Java og Node.js, køres, mens inkompatible afhængigheder adskilles. De grundlæggende afhængigheder leveres i form af BCI-sæt (Base Container Images). Brugeren kan oprette, opdatere og slette software-stakke uden at påvirke andre miljøer.
De væsentlige ændringer i den anden prototype af ALP:
- D-Installer er blevet implementeret, hvor brugergrænsefladen er adskilt fra de interne komponenter i YaST, og det er muligt at bruge forskellige front-end løsninger, herunder en front-end til installation via webgrænseflade. Den grundlæggende grænseflade til installationsstyring er bygget ved hjælp af webteknologier og inkluderer en behandler, der giver adgang til D-Bus-opkald via HTTP, samt den direkte webgrænseflade. Webgrænsefladen er skrevet i JavaScript ved hjælp af React-rammen og komponenter fra PatternFly. For at sikre sikkerheden understøtter D-Installer installation på krypterede partitioner og giver mulighed for brug af TPM (Trusted Platform Module) til dekryptering af boot-partitionen ved at bruge nøgler gemt i TPM-chippen i stedet for adgangskoder.
- Udførelsen af visse klienter af YaST (bootloader, iSCSIClient, Kdump, firewall osv.) i separate containere er sikret. Der er implementeret to typer af containere — administrative til arbejde med YaST i teksttilstand, i GUI og via webgrænsefladen, samt testsystemer til automatiseret testning. Flere moduler er også tilpasset til brug i systemer med transaktionsopdateringer. Til integration med openQA er der foreslået et bibliotek libyui-rest-api med implementering af REST API.
- Udførelsen i containeren på Cockpit-platformen er implementeret, på basis af hvilket webgrænsefladen for konfiguratoren og installatøren er bygget.
- Muligheden for at bruge fuld diskskryptering (FDE, Full Disk Encryption) i installationer på almindeligt udstyr er blevet sikret, og ikke kun i virtualiserings- og cloudsystemer.
- GRUB2 er blevet valgt som den primære bootloader.
- Konfigurationer til oprettelse af containere til opbygning af en firewall (firewalld-container) og centraliseret styring af systemer og klynger (warewulf-container) er tilføjet.
Kilde: opennet.ru
