minikube/hack/jenkins
Nir Soffer 56975bc752
Add krunkit driver supporting GPU acceleration on macOS (#20826)
* krunkit: Add krunkit driver

krunkit is a tool to launch configurable virtual machines using the
libkrun platform, optimized for GPU accelerated virtual machines and AI
workloads on Apple silicon.

It is mostly compatible with vfkit; the driver is a simplified copy of
the vfkit driver. Unlike vfkit, krunkit is available only on Apple
silicon.

Changes compared to vfkit driver:
- krunkit requires unix socket for networking, so we must use
  vment-helper.
- krunkit does not support HardStop, so we kill it using SIGKILL.
- We must enable vmnet offloading, required for krunkit.
- The code was simplified since vmnet-helper is always used
- Code was cleaned up to use .ResolveStorePath()
- Unused Upgrade() function was removed
- Types and functions that should not be public made private

We require krunkit 0.2.2, supporting --restul-uri=unix://.

* reason: Make vment-helper error driver agnostic

Previously it was used only for vfkit, so we suggested to fallback to
the `nat` network. This advice is not relevant to krunkit or to qemu
(which can also use vmnet-helper).

Change the error to recommend installing vment-helper. We need to think
how we can recommend other networks for vfkit and qemu. Another solution
is to create error for every driver+network combination but this seems
hard to manage.

* hack: Add krunkit integration test

This is the same way that we test vfkit. This test is not running in the
CI.

Issues:
- Need to install and configure vment-helper (requires root).

* site: Add krunkit driver documentation
2025-07-21 12:59:28 -07:00
..
cron CI: Update macOS deps via cron 2024-07-18 18:37:36 -07:00
installers CI: Update gh from 2.74.1 to 2.74.2 (#20967) 2025-06-23 11:58:24 -07:00
test-flake-chart CI: Fix golang install 2024-07-16 10:14:36 -07:00
build_changelog.sh Updating docs, fixing kicbase SHA 2022-11-17 10:22:51 -05:00
build_iso.sh CI: Release improvements 2024-04-18 13:49:50 -07:00
cloud_shell_functional_tests_docker.sh CI: Fix Cloud Shell not saving to DB 2024-08-27 19:05:16 -07:00
common.ps1 Update common.ps1 (#20820) 2025-07-10 10:31:11 -07:00
common.sh Add krunkit driver supporting GPU acceleration on macOS (#20826) 2025-07-21 12:59:28 -07:00
kicbase_auto_build.sh CI: Generate package list after building kicbase (#19642) 2024-09-17 10:20:36 -07:00
linux_integration_tests_docker.sh add cron to cleanup go modules 2022-05-11 16:32:02 -07:00
linux_integration_tests_docker_arm64.sh add cron to cleanup go modules 2022-05-11 16:32:02 -07:00
linux_integration_tests_docker_containerd.sh add cron to cleanup go modules 2022-05-11 16:32:02 -07:00
linux_integration_tests_docker_containerd_arm64.sh add cron to cleanup go modules 2022-05-11 16:32:02 -07:00
linux_integration_tests_docker_crio.sh add cron to cleanup go modules 2022-05-11 16:32:02 -07:00
linux_integration_tests_docker_crio_arm64.sh add cron to cleanup go modules 2022-05-11 16:32:02 -07:00
linux_integration_tests_kvm.sh add QEMU tests 2022-07-08 11:57:05 -07:00
linux_integration_tests_kvm_containerd.sh add cron to cleanup go modules 2022-05-11 16:32:02 -07:00
linux_integration_tests_kvm_crio.sh add cron to cleanup go modules 2022-05-11 16:32:02 -07:00
linux_integration_tests_none.sh Kicbase/ISO: Update cri-dockerd from v0.3.15 to v0.4.0 (#20747) 2025-05-14 14:49:05 -07:00
linux_integration_tests_podman.sh add cron to cleanup go modules 2022-05-11 16:32:02 -07:00
linux_integration_tests_virtualbox.sh add QEMU tests 2022-07-08 11:57:05 -07:00
minikube_cross_build_and_upload.sh ci: login to docker during build process (#21027) 2025-07-03 13:42:20 -07:00
minikube_set_pending.sh delete macos test infra (#20244) 2025-01-13 19:31:06 -08:00
osx_integration_tests_docker.sh add QEMU tests 2022-07-08 11:57:05 -07:00
osx_integration_tests_hyperkit.sh add QEMU tests 2022-07-08 11:57:05 -07:00
osx_integration_tests_krunkit.sh Add krunkit driver supporting GPU acceleration on macOS (#20826) 2025-07-21 12:59:28 -07:00
osx_integration_tests_qemu.sh fix bioldlerplate 2022-07-11 11:57:24 -07:00
osx_integration_tests_vfkit.sh vfkit: Minor docs, test, and help fixes (#20815) 2025-05-21 20:30:26 -07:00
osx_integration_tests_virtualbox.sh add QEMU tests 2022-07-08 11:57:05 -07:00
prbot.sh fix first run taking longer 2022-06-15 10:33:15 -07:00
preload_generation.sh CI: Fix incorrect preload images 2023-04-17 13:56:09 -07:00
release_build_and_upload.sh fix dirty commit version (#21062) 2025-07-14 10:49:49 -07:00
release_github_page.sh fix: fix missing kicbase in release 2025-01-27 11:28:37 -08:00
release_update_releases_json.go fix lint errors 2023-03-20 12:43:07 -07:00
release_update_releases_json.sh prepend PR title with Post-release 2024-04-18 13:49:50 -07:00
setup_docker_desktop_macos.sh add comment 2023-03-24 12:37:47 -07:00
setup_docker_desktop_windows.ps1 leave existing Docker Desktop instance running 2021-12-03 11:51:46 -08:00
storage_provisioner.sh treewide: Replace 'egrep' with 'grep -E' 2024-01-14 19:58:57 +01:00
unix_white_box_integration_tests.sh minikube tunnel (#3015) 2018-10-18 11:01:47 -07:00
upload_integration_report.sh CI: Fix job names 2023-10-23 16:11:14 -07:00
windows_cleanup_and_reboot.ps1 disable the cleanup cron for now 2021-10-18 13:51:41 -07:00
windows_cleanup_cron.ps1 disable the cleanup cron for now 2021-10-18 13:51:41 -07:00
windows_integration_setup.ps1 fix running `minikube delete` before `MINIKUBE_HOME` set 2021-11-09 07:54:09 -05:00
windows_integration_teardown.ps1 reboot windows machines after every test 2021-10-06 13:25:09 -07:00
windows_integration_test_docker.ps1 disable the cleanup cron for now 2021-10-18 13:51:41 -07:00
windows_integration_test_hyperv.ps1 disable the cleanup cron for now 2021-10-18 13:51:41 -07:00
windows_integration_test_virtualbox.ps1 Create common.ps1 to simplify Windows integration tests. 2021-07-09 13:27:02 -07:00