Commit Graph

25933 Commits (master)

Author SHA1 Message Date
Medya Ghazizadeh f18c9dc91b
ci: skip boilerplate for git submodules (#21214)
* skip submodules for boilerplate

* restore

* add git module subfolders
2025-08-01 21:18:17 -07:00
minikube-bot 67329baf6d
Update yearly leaderboard (#21216) 2025-08-01 20:10:20 -07:00
Medya Ghazizadeh 931291170f
license: don't fail if output dir doesn't exist & download from github assets first (#21206)
* copy licenses to gh assests as well

* download licneses from github

* try head first to make code more simple

* remove debug

* fix extra dash

* create license directory if doesnt exist

* Apply suggestion from prezha

* Apply suggestion from prezha

* Apply suggestion from prezha

* Apply suggestion from prezha
2025-08-01 20:02:13 -07:00
Divy Singhvi 45e708b6e2
Updated site/readme.md outdated documentation (#21209) 2025-07-31 11:13:47 -07:00
Medya Ghazizadeh 3f7242fa2e
remove license binary from git repo (#21204) 2025-07-30 13:35:05 -07:00
minikube-bot 0afbdc5371
Kicbase/ISO: Update crun from 1.19 to 1.23 (#21198)
* Kicbase/ISO: Update crun from 1.19 to 1.23

* Updating kicbase image to v0.0.47-1753871403-21198
2025-07-30 13:12:07 -07:00
Medya Ghazizadeh a79b35cd23
add site public to git ignore (#21203) 2025-07-30 12:27:01 -07:00
minikube-bot 8400e87c61
Update auto-generated docs and translations (#21202) 2025-07-30 12:04:29 -07:00
Jun Sugimoto 14dfcee1ab
Add --disable-coredns-log flag (#20992) 2025-07-30 11:52:57 -07:00
Medya Ghazizadeh 49d0fa4e1b
ci: use authenticated github when possible (#21189)
* hack update to use github token if available

* automate go mod tidy for both

* add ghc client for k8s vers list
2025-07-30 11:40:08 -07:00
Joaquim Rocha 4803425479
Update Headlamp's workflow go version (#21136)
Signed-off-by: Joaquim Rocha <joaquim.rocha@microsoft.com>
2025-07-29 14:07:29 -07:00
Nir Soffer fbf257d1b5
hack: Rename module to k8s.io/minikube/hack (#21141)
Just because it is the expected name.
2025-07-28 17:40:26 -07:00
Medya Ghazizadeh e6628b90ed
gomod: remove replace for k8s.io/cluster-bootstrap (#21187) 2025-07-28 17:21:44 -07:00
minikube-bot a73390ae02
site: Update node from 20.19.3 to 20.19.4 (#21184) 2025-07-28 14:49:57 -07:00
Medya Ghazizadeh 94ffbcb9de
get dep version fix (#21182) 2025-07-28 14:44:25 -07:00
Nir Soffer 8520cf8d3d
vfkit: Extract isoPath() helper (#21111)
For consistency with other path helpers.
2025-07-28 14:28:53 -07:00
dependabot[bot] b5a26eed9a
Build(deps): Bump libvirt.org/go/libvirt from 1.11004.0 to 1.11005.0 (#21069)
Bumps [libvirt.org/go/libvirt](https://gitlab.com/libvirt/libvirt-go-module) from 1.11004.0 to 1.11005.0.
- [Commits](https://gitlab.com/libvirt/libvirt-go-module/compare/v1.11004.0...v1.11005.0)

---
updated-dependencies:
- dependency-name: libvirt.org/go/libvirt
  dependency-version: 1.11005.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-28 14:16:39 -07:00
Nir Soffer e6347e0442
iso: Enable VirtioFS for x86_64 and aarch64 (#21147)
* iso: Enable VirtioFS for x86_64 and aarch64

The Virtio Filesystem[1] allows guests to mount file systems from the
host.

Testing with krunkit show 10 times faster read throughput:

minikube krunkit - 9p:

    $ time cp /mnt/models/mistral-7b-instruct-v0.2.Q4_K_M.gguf model

    real	0m34.330s
    user	0m0.019s
    sys     0m1.959s

podman krunkit - virtiofs:

    $ time cp /Users/nir/Downloads/models/mistral-7b-instruct-v0.2.Q4_K_M.gguf model

    real	0m3.245s
    user	0m0.006s
    sys     0m1.035s

We must have virtiofs for playing with AI workload in krunkit. It can be
nice improvment for vfkti and qemu, and should be available in ohter
hypervisors.

[1] https://virtio-fs.gitlab.io/index.html

* Updating ISO to v1.36.0-1753487480-21147

---------

Co-authored-by: minikube-bot <minikube-bot@google.com>
2025-07-28 12:24:44 -07:00
Kubernetes Prow Robot 62eb10427e
Merge pull request #21156 from jeffmaury/fr
Fix french translation
2025-07-28 11:28:33 -07:00
Medya Ghazizadeh 01913a6336
CI: fix PR update titles missing version (#21176) 2025-07-28 11:17:37 -07:00
Jeff MAURY 11b8e303ee
Fix french translation
Signed-off-by: Jeff MAURY <jmaury@redhat.com>
2025-07-28 10:38:44 +02:00
dependabot[bot] 554b2cc7fa
Build(deps): Bump golang.org/x/term from 0.32.0 to 0.33.0 (#21113)
Bumps [golang.org/x/term](https://github.com/golang/term) from 0.32.0 to 0.33.0.
- [Commits](https://github.com/golang/term/compare/v0.32.0...v0.33.0)

---
updated-dependencies:
- dependency-name: golang.org/x/term
  dependency-version: 0.33.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-25 15:56:12 -07:00
Nir Soffer 50aaa372b0
krunkit: Fix linter issues (#21133)
I don't know why the linter did not complain in the CI, but running
locally revealed few issues:

    % golangci-lint run ./pkg/drivers/krunkit

    pkg/drivers/krunkit/krunkit.go:537:34: importShadow: shadow of
    imported from 'github.com/docker/machine/libmachine/state' package
    'state' (gocritic)

        func (d *Driver) setKrunkitState(state string) error {
                                     ^
    pkg/drivers/krunkit/krunkit.go:341:9: unnecessary-format:
    unnecessary use of formatting function "fmt.Errorf", you can replace
    it with "errors.New" (revive)

            return fmt.Errorf("hosts without a driver cannot start docker")
                   ^
    pkg/drivers/krunkit/krunkit.go:345:9: unnecessary-format:
    unnecessary use of formatting function "fmt.Errorf", you can replace
    it with "errors.New" (revive)

            return fmt.Errorf("hosts without a driver cannot stop docker")
                   ^
    pkg/drivers/krunkit/krunkit.go:444:18: func (*Driver).logfilePath is
    unused (unused)

        func (d *Driver) logfilePath() string {
                     ^
2025-07-25 15:39:44 -07:00
Medya Ghazizadeh b97c5f84ab
Revert "optimize memory usage in image load with Docker client integration (#…" (#21146)
This reverts commit 516e3ef367.
2025-07-25 15:33:55 -07:00
Nir Soffer 6a779426fe
hack: Replace go workspace with replace (#21094)
Using go workspace breaks iso build, and may affect the builds in
unwanted ways, bringing dependencies from the hack module into the
minikube module.

Remove the go.work file and add a replace directive to the hack module,
so it can access minikube packages from the local directory.

Some programs working directory was the source directory. With this
change all programs and scripts in the hack module are run from the
hack directory. Paths updated to the programs can find files in the
minikube root directory.

Some updaters and benchmarks are broken in master and are still broken
with this change.

These updates fail to pull non-existing images:
- make update-istio-operator-version
- make update-amd-gpu-device-plugin-version

These try to install try to install in /usr/local/bin with sudo and
neede rewrite:
- make cpu-benchmark-idle
- make cpu-benchmark-autopause
- make time-to-k8s-benchmark
2025-07-25 15:33:44 -07:00
Kay Yan 516e3ef367
optimize memory usage in image load with Docker client integration (#21103)
Signed-off-by: Kay Yan <kay.yan@daocloud.io>
2025-07-25 11:27:24 -07:00
Medya Ghazizadeh 7498245a96
replace spinner lib to upstream (#21115)
* fix go mod

* fix gomod

* gowork sum
2025-07-22 17:31:40 -07:00
dependabot[bot] 2629cf7b6b
Build(deps): Bump k8s.io/component-base from 0.33.2 to 0.33.3 (#21114)
Bumps [k8s.io/component-base](https://github.com/kubernetes/component-base) from 0.33.2 to 0.33.3.
- [Commits](https://github.com/kubernetes/component-base/compare/v0.33.2...v0.33.3)

---
updated-dependencies:
- dependency-name: k8s.io/component-base
  dependency-version: 0.33.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-21 16:30:56 -07:00
minikube-bot 320095eee1
Update auto-generated docs and translations (#21121) 2025-07-21 16:25:53 -07:00
dependabot[bot] 70fc56d679
Build(deps): Bump actions/setup-go from 5.2.0 to 5.5.0 (#21116)
---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-version: 5.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-21 16:25:40 -07:00
minikube-bot 9e4cd659c9
Update auto-generated docs and translations (#21120) 2025-07-21 16:24:32 -07:00
dependabot[bot] d13f7bbe69
Build(deps): Bump peter-evans/create-pull-request from 7.0.6 to 7.0.8 (#21118)
---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-version: 7.0.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-21 16:24:23 -07:00
Victor Ubahakwe 958ecac9d3
Refactor table rendering (#20893)
* Refactored table rendering codes to support updated tablewriter v1.0.7

This commit makes all necessary code changes to maintain compatibility
with the new tablewriter version. The update includes several required modifications across multiple files.

Files modified:
- cmd/minikube/cmd/config/images.go
- cmd/minikube/cmd/config/addons_list.go
- cmd/minikube/cmd/config/profile_list.go
- hack/benchmark/time-to-k8s/chart.go
- hack/benchmark/time-to-k8s/cpu.go
- pkg/minikube/audit/row.go
- pkg/minikube/machine/cache_images.go
- pkg/minikube/perf/result_manager.go
- pkg/minikube/service/service.go

Now #20878 can be merged.
Addresses #20879

* The tablewriter package v1.0.7 renamed SetHeaders to SetHeader

* updated go mod and table.SetColumnAlignment([]int{0, 0, 0, 0})

* Changed syntax and added vendor to gitignore

* simplified version of tablewriter

* removed vendor

* fix addon_list

* fix images tablewrtier

* bump tablewriter for profile list

* go mod tidy

* bump tablewriter for chart

* bump tablewriter for cpu chart

* bump tablewriter for row

* bump tablewriter cache images

* bump tablewriter

* bump tablewriter

* revert file

* bump tablewritter

* fix unit test

* fix lint issues

* fix the integration test pipe char

* convert all tables to new pipe instead of asci pipe

* convert all tables to new pipe instead of asci pipe

* go mod tidy

* go work sync

---------

Co-authored-by: Medya Ghazizadeh <medya@google.com>
2025-07-21 16:20:55 -07:00
Medya Ghazizadeh d850b6921d
bump winget gihtub action (#21119)
* bump winget gihtub action

* winget trigger by dispatch
2025-07-21 16:08:19 -07:00
Nir Soffer dbb9f0e1fc
ci: Add vfkit smoke test (#21102)
* ci: Remove trailing whitespace from smoke-test

* ci: Unify flags usage

* ci: Simplify smoke test expressions

* ci: Inspect minikube and machine logs

* ci: Add vfkit smoke test

* ci: Use --v=8 --alsologtostderr for all commands

We want to get more details to make debugging issues easier.

* ci: Eliminate the download-only part

Download is very short (20 seconds) compared to starting the cluster
(2m:30s) so it does not worth the complication.
2025-07-21 14:19:56 -07:00
minikube-bot adc863d99d
Update auto-generated docs and translations (#21112) 2025-07-21 14:19:30 -07:00
dependabot[bot] bcfee9c0f8
Build(deps): Bump google.golang.org/api from 0.235.0 to 0.242.0 (#21109)
---
updated-dependencies:
- dependency-name: google.golang.org/api
  dependency-version: 0.242.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-21 13:50:52 -07:00
dependabot[bot] ef378239b9
Build(deps): Bump golang.org/x/sys from 0.33.0 to 0.34.0 (#21110)
Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.33.0 to 0.34.0.
- [Commits](https://github.com/golang/sys/compare/v0.33.0...v0.34.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-version: 0.34.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-21 13:50:33 -07:00
minikube-bot 0af3ac99ab
Update auto-generated docs and translations (#21108) 2025-07-21 13:31:33 -07:00
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
Nir Soffer 6d7433514d
vfkit: Restore compatibility with x86_64 (#21100)
In #20833 we switch to --bootloader=efi, breaking vfkit on x86_64.
Switch to --bootloader=linux to restore support for older macs. This
also enable running vfkit basic tests in github runners.

This change does not revert #20833 since it contained other important
changes that we squashed during merge. We also use the new
--bootloader=linux instead of the legacy --kernel, --initrd, and
--cmdline flags.

Issues:
- On x86_64 using console=hvc0 breaks boot. Using console=ttyS0 works,
  but serial.log is always empty.
2025-07-21 11:15:45 -07:00
Divy Singhvi 6ff37d558e
Manually bump runc to v1.3.0 and migrate to github.com/opencontainers (#21083) 2025-07-19 19:59:34 -07:00
Nir Soffer a5b60727b9
iso: Fix `minikube stop` with vfkit and krunkit drivers (#21089)
* iso: Minimal kernel for arm64

Create default arm64 config and disable stuff that we cannot use in
a VM.

This chagne was generated by:

1. Create defualt arm64 config

       cd out/buildroot/output-aarch64/build/linux-6.6.95
       make ARCH=arm64 defconfig
       make ARCH=arm64 menuconfig
       (exit saving changes)

2. Disable features that we don't need in the minikube VM:

       - Platform suppport
	 - all platforms
       - Device drivers
         - Multimedia support
         - Sound support

3. Updated our linux defconfig

       cd out/buildroot/output-aarch64
       make linux-update-defconfig

4. Normalize the config

       make linux-menuconfig-aarch64
       (exit saving changes)

With this config qemu, vfkit, and krunkit boot with --no-kubernetes, and
graceful shutdown works in vfkit and krunkit (using --restful-uri).

We cannot start kubernetes yet since some features are not available in
the default architecture config.

* iso: Add configs removed by defualt config

This restores the configs removed by updating from the default
architecture config. These configs are required for kubernetes support.

After adding the removed configs, run `make linux-menuconfig-aarch64` to
normalize the config and remove multimedia and sound card support again.

* iso: Unbreak go packages build

Adding go.work seems to break podman build. The workspace is needed only
for running the update commands so let's disable it when building the
iso.

We may need much bigger change to ensur that the workspace is used only
when running the update go commands, or remove it. This change fixes
only the iso build.

* Updating ISO to v1.36.0-1752940814-21089

---------

Co-authored-by: minikube-bot <minikube-bot@google.com>
2025-07-19 18:43:46 -07:00
Nir Soffer 2d7f29102e
vfkit: Add vfkit.log (#21096)
Like krunkit and vmnet-helper, we redirect vfkit logs to

    $MINIKUBE_HOME/.minikube/machines/name/vfkit.log

This will be helpful to debug case when vfkit exits with an error.
Currently this error goes to /dev/null which makes debugging impossible.
It will be also useful if we need to get help from vfkit folks.

Example log:

    time="2025-07-20T02:48:43+03:00" level=info msg="&{2 6144    {[efi variable-store=/Users/nir/.minikube/machines/minikube/vfkit.efivars create] true}  [virtio-net,nat,mac=1e:ac:f2:43:84:b3 virtio-rng virtio-blk,path=/Users/nir/.minikube/machines/minikube/boot2docker.iso virtio-blk,path=/Users/nir/.minikube/machines/minikube/disk.img virtio-serial,logFilePath=/Users/nir/.minikube/machines/minikube/serial.log] unix:///Users/nir/.minikube/machines/minikube/vfkit.sock debug false  {[] false}}"
    time="2025-07-20T02:48:43+03:00" level=info msg="boot parameters: &{EFIVariableStorePath:/Users/nir/.minikube/machines/minikube/vfkit.efivars CreateVariableStore:true}"
    time="2025-07-20T02:48:43+03:00" level=info
    time="2025-07-20T02:48:43+03:00" level=info msg="virtual machine parameters:"
    time="2025-07-20T02:48:43+03:00" level=info msg="\tvCPUs: 2"
    time="2025-07-20T02:48:43+03:00" level=info msg="\tmemory: 6144 MiB"
    time="2025-07-20T02:48:43+03:00" level=info
    time="2025-07-20T02:48:43+03:00" level=info msg="Adding virtio-net device (nat: true macAddress: [1e:ac:f2:43:84:b3])"
    time="2025-07-20T02:48:43+03:00" level=info msg="Adding virtio-rng device"
    time="2025-07-20T02:48:43+03:00" level=info msg="Adding virtio-blk device (imagePath: /Users/nir/.minikube/machines/minikube/boot2docker.iso)"
    time="2025-07-20T02:48:43+03:00" level=info msg="Adding virtio-blk device (imagePath: /Users/nir/.minikube/machines/minikube/disk.img)"
    time="2025-07-20T02:48:43+03:00" level=info msg="Adding virtio-serial device (logFile: /Users/nir/.minikube/machines/minikube/serial.log)"
    time="2025-07-20T02:48:43+03:00" level=info msg="virtual machine is running"
    time="2025-07-20T02:48:43+03:00" level=info msg="waiting for VM to stop"
2025-07-19 18:38:19 -07:00
Medya Ghazizadeh 97d8a293a9
ci: add smoke test to github action (#21095)
* smoke test

* add logic to detect nested VMs

* increase memory to 8gb for tesT

* use the network flag for both qemu and vfkit

* code review comments

* separate minikube download

* separate minikube download

* force cpu1

* add docker for smoke test

* exclude envs dont need in matrix

* change back to 3

* remove unused code

* add info block for linux as well
2025-07-19 18:29:44 -07:00
Nir Soffer b973335449
docs: Update vment-helper installation (#21085)
vment-helper 0.6.0 simplified the installation by removing the version
from the tarball.
2025-07-17 16:01:17 -07:00
dependabot[bot] 25a9856a0b
Build(deps): Bump github.com/docker/cli (#21071)
Bumps [github.com/docker/cli](https://github.com/docker/cli) from 28.2.2+incompatible to 28.3.2+incompatible.
- [Commits](https://github.com/docker/cli/compare/v28.2.2...v28.3.2)

---
updated-dependencies:
- dependency-name: github.com/docker/cli
  dependency-version: 28.3.2+incompatible
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-17 11:04:27 -07:00
minikube-bot 0d0a60ded0
Update auto-generated docs and translations (#21080) 2025-07-17 11:04:07 -07:00
Medya Ghazizadeh 185285e1c6
use lazy unmounting to detach the filesystem now, clean up things later (#21077) 2025-07-17 10:55:25 -07:00
Medya Ghazizadeh 72332118f2
migrate to open telemetry (#21070) 2025-07-15 12:40:02 -07:00