Finch, et kommandolinjeutviklingsverktøy for å lage, kjøre og publisere Linux-beholdere
For flere dager siden annonserte Amazon, gjennom et blogginnlegg, lanseringen av sitt åpen kildekode-prosjekt «Finch», som utvikler et sett med verktøy for å bygge, publisere og kjøre Linux-containere i OCI- format (Open Container Initiative).
Det nevnes at hovedmålet med «Finch»-prosjektet er å forenkle arbeidet med Linux-containere på ikke-Linux-baserte vertssystemer.
Finch er en åpen kildekode-klient for containerutvikling. Det enkle installasjonsprogrammet gir en minimal innfødt klient sammen med en objektiv distribusjon av andre åpen kildekode-komponenter. I stedet for å skape enda flere alternativer å resonnere og velge mellom, har Finch som mål å bidra til å promotere andre prosjekter ved å gjøre dem enklere å installere og bruke, samtidig som de tilbyr en enkel innfødt klient for å knytte det hele sammen.
Om Finch
Finch-prosjektet er avhengig av flere åpen kildekode-prosjekter, inkludert nerdctl, containerd, BuildKit og Lima. Dette lar deg komme i gang umiddelbart uten å måtte forstå og konfigurere alle disse komponentene separat (selv om det ikke er en triviell oppgave å kjøre containere på Linux-systemer, er det ikke det å lage et miljø for å kjøre Linux-containere på Windows og macOS).
For arbeid tilbyr vi vårt eget Finch-verktøy, som skjuler detaljene om arbeid med hver komponent bak et enhetlig grensesnitt. For å komme i gang, installer ganske enkelt den medfølgende pakken, som inkluderer alt du trenger, hvoretter du kan opprette og kjøre containere umiddelbart.
For å bygge kommandolinjegrensesnittet i Finch, brukes utviklinger fra nerdctl-prosjektet, som gir et sett med Docker-kompatible kommandoer for å bygge, kjøre, publisere og laste containere (bygg, kjør, push, pull, etc.), som f.eks. samt ekstra valgfrie funksjoner som rotløs drift, bildekryptering, P2P-bildedistribusjon ved bruk av IPFS og digitalt signert bildesertifisering.
I tillegg nevnes det at containerd brukes som en runtime for containeradministrasjon, mens BuildKit-verktøysettet brukes til å lage bilder i OCI-format og Lima brukes til å starte virtuelle Linux-maskiner, konfigurere fildeling og videresending av nettverksport.
Når det gjelder Finchs funksjoner, inkluderer høydepunktene støtte for vedvarende disker, forbedringer i initialiseringstiden for virtuelle maskiner, halvering av oppstartstiden for utviklere, eksperimentell støtte for Apples virtualiseringsrammeverk, ytterligere ytelsesakselerasjoner i Finch VM og et referanseverktøy som kjører på hver commit for å validere eksisterende ytelsesmålinger.
For øyeblikket er Finch på versjon 1.0, som er merket som den første stabile versjonen, egnet for produksjonsdistribusjoner og daglig bruk på macOS-plattformen. Klientstøtte for Linux og Windows er planlagt lagt til i fremtidige utgivelser.
Vi ønsker at Finch skal være et stabilt og effektivt kjøretidsutviklingsverktøy som gjør det enkelt for brukere å utføre utviklingsoppgavene sine ved å opprette og kjøre containere lokalt og samhandle med containerregistre. Denne versjonen 1.0 representerer vår tro på at Finch er klar for produksjonsbruk som en containerutviklers hverdagsverktøy på macOS.
Som en del av prosjektet har Amazon også utarbeidet flere utvidelser som har blitt portert til hoveddelen av nerdctl-prosjektet. Spesielt er det utarbeidet komponenter for digital signering av bilder, samt støtte for å lage og lansere bilder ved hjelp av SOCI (Seekable OCI) teknologi, opprinnelig laget for AWS og som tillater betydelig raskere lasting av containerbilder ( SOCI lar deg starte oppstart uten venter på at bildet skal være fullastet og laster inn delene som er nødvendige for jobben etter hvert som de trengs).
For de som er interessert i prosjektet, er Finchs kode skrevet i Go og distribuert under Apache 2.0-lisensen på GitHub . Du finner detaljer om utgivelsen i den opprinnelige kunngjøringen på AWS-bloggen.