Finch, komandinės eilutės kūrimo įrankis, skirtas Linux konteineriams kurti, paleisti ir publikuoti
Prieš kelias dienas „Amazon“ tinklaraščio įraše paskelbė apie savo atvirojo kodo projekto „Finch“ paleidimą, kuris kuria įrankių rinkinį, skirtą „Linux“ konteineriams kurti, publikuoti ir paleisti OCI (atvirųjų konteinerių iniciatyvos) formatu.
Minima, kad pagrindinis „Finch“ projekto tikslas – supaprastinti darbą su „Linux“ konteineriais ne „Linux“ pagrindu sukurtose pagrindinėse sistemose.
„Finch“ yra atvirojo kodo klientas, skirtas konteinerių kūrimui. Jo paprasta diegimo programa suteikia minimalų vietinį klientą ir objektyvų kitų atvirojo kodo komponentų paskirstymą. Užuot sukūręs dar daugiau galimybių samprotauti ir pasirinkti, „Finch“ siekia padėti reklamuoti kitus projektus, palengvindamas jų diegimą ir naudojimą, kartu siūlydamas paprastą vietinį klientą, kuris viską sujungs.
Apie Finchą
„Finch“ projektas remiasi keliais atvirojo kodo projektais, įskaitant „nerdctl“, „containerd“, „BuildKit“ ir „Lima“. Tai leidžia nedelsiant pradėti darbą, nereikia suprasti ir konfigūruoti visų šių komponentų atskirai (nors konteinerių paleidimas „Linux“ sistemose nėra nelengva užduotis, aplinkos, skirtos „Linux“ konteineriams paleisti „Windows“ ir „macOS“ sistemose, sukūrimas taip pat nėra).
Darbui siūlome savo „Finch“ įrankį, kuris slepia darbo su kiekvienu komponentu detales po vieninga sąsaja. Norėdami pradėti, tiesiog įdiekite pateiktą paketą, kuriame yra viskas, ko jums reikia, o po to galėsite iš karto sukurti ir paleisti konteinerius.
Norint sukurti komandų eilutės sąsają „Finch“, naudojami nerdctl projekto patobulinimai, kurie pateikia su „Docker“ suderinamų komandų rinkinį, skirtą konteineriams kurti, paleisti, publikuoti ir įkelti (kurti, paleisti, stumti, traukti ir t. t.), pvz. taip pat papildomų pasirenkamų funkcijų, tokių kaip veikimas be šaknų, vaizdo šifravimas, P2P vaizdo platinimas naudojant IPFS ir skaitmeniniu parašu pasirašyto vaizdo sertifikavimas.
Be to, minima, kad konteineris naudojamas kaip vykdymo laikas konteinerių valdymui, o BuildKit įrankių rinkinys – OCI formato vaizdams kurti, o Lima – Linux virtualioms mašinoms paleisti, failų dalijimosi konfigūravimui ir tinklo prievadų persiuntimui.
Kalbant apie „Finch“ funkcijas, svarbiausios yra nuolatinis diskų palaikymas, VM inicijavimo laiko patobulinimas, paleidimo laiko sutrumpinimas kūrėjams perpus, eksperimentinis „Apple“ virtualizacijos sistemos palaikymas, papildomas „Finch VM“ našumo pagreitinimas ir etaloninių testų įrankis, kuris veikia su kiekvienu įsipareigojimu, kad patvirtintų esamus našumo rodiklius.
Šiuo metu „Finch“ yra 1.0 versijoje, kuri pažymėta kaip pirmoji stabili versija, tinkama gamybiniam diegimui ir kasdieniam naudojimui „macOS“ platformoje. Ateityje planuojama pridėti „Linux“ ir „Windows“ klientų palaikymą.
Norime, kad „Finch“ būtų stabilus ir efektyvus vykdymo laiko kūrimo įrankis, leidžiantis vartotojams lengvai atlikti savo kūrimo užduotis kuriant ir paleidžiant konteinerius vietoje ir sąveikaujant su konteinerių registrais. Ši 1.0 versija atspindi mūsų įsitikinimą, kad „Finch“ yra paruoštas naudoti gamyboje kaip kasdienis konteinerių kūrėjo įrankis „MacOS“.
Vykdydama projektą, „Amazon“ taip pat parengė kelis plėtinius, kurie buvo perkelti į pagrindinį nerdctl projekto turinį. Visų pirma, buvo paruošti komponentai, skirti skaitmeniniam vaizdų pasirašymui, taip pat vaizdų kūrimo ir paleidimo palaikymas naudojant SOCI (Seekable OCI) technologiją, iš pradžių sukurtą AWS ir leidžiančią žymiai greičiau įkelti konteinerio vaizdus ( SOCI leidžia pradėti paleisti be laukti, kol vaizdas bus pilnai įkeltas, ir įkelti darbui reikalingas dalis pagal poreikį).
Besidomintiems projektu, Fincho kodas parašytas „Go“ kalba ir platinamas pagal „Apache 2.0“ licenciją „GitHub“ platformoje . Išsamesnės informacijos apie išleidimą galite rasti originaliame pranešime AWS tinklaraštyje.