macOS Architecture¶
In this section we will dive into the various open source components that Finch distributes and how they piece together to form a local development environment on macOS.
Finch Architecture¶
Component | Description | License |
---|---|---|
Lima | Lima (Linux virtual machines) launches Linux virtual machines with automatic file sharing and port forwarding. In Finch, Lima configures the hypervisor, it passes in the virtual machine image and any pre and post startup scripts. | Apache 2.0 |
nerdctl | nerdctl (contaiNERD ctl) is a command line client for containerd with a similar user experience to the Docker CLI. In Finch, Nerdctl runs inside the virtual machine, starting and stopping containers by communicating directly to containerd. | Apache 2.0 |
BuildKit | Moby's BuildKit is a toolkit for converting source code to build artifacts in an efficient, expressive and repeatable manner. In Finch, BuildKit is used to build Docker and OCI container images inside the virtual machine. | Apache 2.0 |
containerd | containerd is an industry-standard container runtime with an emphasis on simplicity, robustness, and portability. In Finch, containerd is the underlying container runtime that manages the containers in the virtual machine | Apache 2.0 |
QEMU | QEMU is a generic and open source machine emulator and virtualizer. In Finch, QEMU manages the underlying virtual machine on macOS using the Hypervisor.Framework. | GPL v2 |
Windows Architecture¶
In this section we will dive into the various open source components that Finch distributes and how they piece together to form a local development environment on Windows.
Finch Architecture¶
Component | Description | License |
---|---|---|
Lima | Lima (Linux virtual machines) launches Linux virtual machines with automatic file sharing and port forwarding. In Finch, Lima configures the hypervisor, it passes in the virtual machine image and any pre and post startup scripts. | Apache 2.0 |
nerdctl | nerdctl (contaiNERD ctl) is a command line client for containerd with a similar user experience to the Docker CLI. In Finch, Nerdctl runs inside the virtual machine, starting and stopping containers by communicating directly to containerd. | Apache 2.0 |
BuildKit | Moby's BuildKit is a toolkit for converting source code to build artifacts in an efficient, expressive and repeatable manner. In Finch, BuildKit is used to build Docker and OCI container images inside the virtual machine. | Apache 2.0 |
containerd | containerd is an industry-standard container runtime with an emphasis on simplicity, robustness, and portability. In Finch, containerd is the underlying container runtime that manages the containers in the virtual machine | Apache 2.0 |
WSL 2 | WSL 2 Windows Subsystem for Linux (WSL) is a feature of Windows that allows you to run a Linux environment on your Windows machine, without the need for a separate virtual machine or dual booting. WSL is designed to provide a seamless and productive experience for developers who want to use both Windows and Linux at the same time. In Finch, WSL is used to manage the underlying virtual machine. | Proprietary |