vfkit README

The project's README from github.com/crc-org/vfkit. As one markdown file: README.md.

vfkit - Command-line tool to start VMs on macOS

Introduction

vfkit offers a command-line interface to start virtual machines using the macOS Virtualization framework. It also provides a github.com/crc-org/vfkit/pkg/config go package. This package implements a native Go API to generate the vfkit command line.

Usage

See https://github.com/crc-org/vfkit/blob/main/doc/usage.md

Presentations

vfkit has been presented at a few conferences:

Adopters

Installation

vfkit can be installed via brew.

brew install vfkit

Building

From the root direction of this repository, run make.

vfkit (crc-org/vfkit)

Searching Database…

428 ·GitHub
What is this?vfkit is a command-line tool that starts virtual machines on macOS using Apple's built-in Virtualization framework, and it also ships a Go package to generate vfkit command lines programmatically.
Is this just a CLI, or can I use it as a library too?Both: there is a vfkit CLI binary, and a separate github.com/crc-org/vfkit/pkg/config Go package that gives you a native Go API to build the vfkit command line yourself.
How do I install vfkit?The simplest path is Homebrew. You can also build it yourself from source by running make from the repository root.
Who actually uses vfkit?It's used under the hood by minikube (1.35.0+), Podman (5.0+), crc for local OpenShift/MicroShift clusters, and ovm for running Linux containers on macOS via Oomol Studio.
What platforms does vfkit support?macOS only, since it is built directly on top of Apple's Virtualization framework rather than a cross-platform hypervisor layer.
Why would I use vfkit directly instead of just using Podman or minikube?Most people won't need to: tools like Podman, minikube and crc already embed vfkit internally to run their macOS VMs. You'd reach for vfkit directly only if you're building your own tool that needs to launch and manage Virtualization-framework VMs on macOS.
What would I use the pkg/config Go package for?It lets you construct vfkit VM configurations (devices, disks, networking, etc.) programmatically in Go and generate the equivalent vfkit command line, instead of hand-writing CLI flags.
Has vfkit been talked about anywhere?Yes, it has been presented at Containers Plumbing 2023 and FOSDEM 2023.
Creator
crc-org
Size
1.3 MB
Stars
428
Age
4y
Commits · 90 Days