Commit Graph

26508 Commits (18d2869c55ec7f11f5d652bbe9a5875bd3b3af76)

Author SHA1 Message Date
minikube-bot 4738b83dee Updating ISO to v1.37.0-1761414747-21797 2025-10-25 21:11:32 +00:00
minikube-bot e95554d530 Kicbase/ISO: Update cri-dockerd from v0.4.0 to v0.4.0 2025-10-25 08:08:19 +00:00
minikube-bot dade2a2e0f Addon nvidia-device-plugin: Update nvidia/k8s-device-plugin image from v0.17.4 to v0.18.0 2025-10-25 08:05:50 +00:00
minikube-bot 5c17d7a6b1 CI: Update gh from 2.82.0 to 2.82.1 2025-10-25 08:04:55 +00:00
minikube-bot 1ae3cc206f CNI: Update cilium from v1.18.2 to v1.18.3 2025-10-25 08:04:47 +00:00
divanshu-go d7b5481701 docs: Update roadmap footer icon to use map icon 2025-10-25 13:02:38 +05:30
Nir Soffer 0ffd4ccb2f run: Remove viper.GetBool("download-only") checks
Add run.CommandOptions.DownloadOnly option and replace
viper.GetBool("download-only") calls in minikube packages.
2025-10-24 18:11:44 +03:00
Nir Soffer 74b0d69873 notify: Remove viper interactive checks
The notify helpers accept now *run.CommandOptions and use it to check if
we can interact with the user. Modify callers to pass options using
cmd/flags.CommandOptions().
2025-10-24 18:11:44 +03:00
Nir Soffer 4f2a8a17dc firewall: Remove viper interactive check
filewall.UnblockBootpd() accepts now *run.CommandOptions and use it to
check if we can interact with the user. Update callers to pass options.
2025-10-24 18:11:44 +03:00
Nir Soffer b91345db3a vment: Remove viper interactive check
vment.ValidateHelper() accept now *run.CommandOptions and use
options.NonInteractive to check if interaction is allowed.  Update
callers to pass options from the minikube command.

Testing non-interactive mode:

    % sudo rm /etc/sudoers.d/vmnet-helper
    % sudo -k
    % out/minikube start -d krunkit --interactive=false
    😄  minikube v1.37.0 on Darwin 26.0.1 (arm64)
      Using the krunkit (experimental) driver based on user configuration

    🤷  Exiting due to PROVIDER_KRUNKIT_NOT_FOUND: The 'krunkit' provider was not found: exit status 1: sudo: a password is required
    💡  Suggestion: Install and configure vment-helper
    📘  Documentation: https://minikube.sigs.k8s.io/docs/reference/drivers/krunkit/

Testing interactive mode:

    % out/minikube start -d krunkit
    😄  minikube v1.37.0 on Darwin 26.0.1 (arm64)
    💡  Unable to run vmnet-helper without a password
        To configure vment-helper to run without a password, please check the documentation:
        https://github.com/nirs/vmnet-helper/#granting-permission-to-run-vmnet-helper
    Password:
      Using the krunkit (experimental) driver based on user configuration
    👍  Starting "minikube" primary control-plane node in "minikube" cluster
    🔥  Creating krunkit VM (CPUs=2, Memory=6144MB, Disk=20000MB) ...
    🐳  Preparing Kubernetes v1.34.1 on Docker 28.4.0 ...
    🔗  Configuring bridge CNI (Container Networking Interface) ...
    🔎  Verifying Kubernetes components...
        ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
    🌟  Enabled addons: default-storageclass, storage-provisioner
    🏄  Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
2025-10-24 18:11:44 +03:00
Nir Soffer d98d710fa3 run: Pass command options to drivers
Some drivers need command line options since they need to pass command
line options back to minikube firewall package. The way to pass command
line options to the driver is via the NewDriver function, called by the
registry Loader function.

The registry Loader function is called by machine.LocalClient.Load,
which is part of the limachine API interface, which is not part of
minikube so we cannot change it. We pass the options to
machine.NewAPIClient(), so the client can pass the options to Load().

Some drivers need to validate vment helper in the registry StatusChecker
function, considering the --interactive and --download-only flags. So we
pas the options to the StatusChecker function.

This change create the options in most commands that call
machine.NewAPIClient or registry StatusChecker function and pass the
options down.
2025-10-24 18:11:44 +03:00
Nir Soffer 539567b825 run: Introduce minikube/run and cmd/flags packages
This change introduce the basic infrastructure for passing command line
options from the cmd/minikube/cmd package to other packages.

The cmd/flags package provides the CommandOptions() function returning
run.CommandOptions initialized using viper. This package keeps the
constants for command line options (e.g. "interactive") that we want to
share with various packages without accessing global state via viper.

To use options in drivers code, include CommandOptions in the
CommonDriver struct. The options will be initialized from the command
line options when creating a driver.

The basic idea is to create options in the command:

    options := flags.CommandOptions()

And pass it to other packages, where code will use:

    if options.NonInteractive {

Instead of:

    if viper.GetBool("interactive") {

This is type safe and allows reliable parallel testing.
2025-10-24 18:11:18 +03:00
Medya Ghazizadeh 5ca02f9f57
Merge pull request #21786 from nirs/registry-creds-fix
registry-creds: Fix segfault without config file
2025-10-23 11:15:11 -07:00
Nir Soffer 45979b9a72 registry-creds: Fix segfault without config file
In #20255 we added an option to use a configuration file instead of
interactive mode, but the change broke interactive mode. Current
minikube segfaults on start:

    % ./out/minikube addons configure registry-creds
    panic: runtime error: invalid memory address or nil pointer dereference
    [signal SIGSEGV: segmentation violation code=0x2 addr=0x8 pc=0x1067603dc]

    goroutine 1 [running]:
    k8s.io/minikube/cmd/minikube/cmd/config.processRegistryCredsConfig({0x106858a06, 0x8}, 0x0)
            /Users/nir/src/minikube/cmd/minikube/cmd/config/configure_registry_creds.go:93 +0x2c
    k8s.io/minikube/cmd/minikube/cmd/config.init.func8(0x140001f2b00?, {0x140003a83a0, 0x1, 0x106850650?})
            /Users/nir/src/minikube/cmd/minikube/cmd/config/configure.go:69 +0x24c
    github.com/spf13/cobra.(*Command).execute(0x10a088d40, {0x140003a8350, 0x1, 0x1})
            /Users/nir/go/pkg/mod/github.com/spf13/cobra@v1.9.1/command.go:1019 +0x82c
    github.com/spf13/cobra.(*Command).ExecuteC(0x10a084880)
            /Users/nir/go/pkg/mod/github.com/spf13/cobra@v1.9.1/command.go:1148 +0x384
    github.com/spf13/cobra.(*Command).Execute(...)
            /Users/nir/go/pkg/mod/github.com/spf13/cobra@v1.9.1/command.go:1071
    k8s.io/minikube/cmd/minikube/cmd.Execute()
            /Users/nir/src/minikube/cmd/minikube/cmd/root.go:174 +0x550
    main.main()
            /Users/nir/src/minikube/cmd/minikube/main.go:95 +0x250

The issue is that loadAddonConfigFile() returns nil if the --config-file
flag is not specified, but the code expects non-nil config, handling
zero value as interactive mode. Fixed by returning zero value config in
this case.

With this change we run the normal interactive flow:

    % ./out/minikube addons configure registry-creds

    Do you want to enable AWS Elastic Container Registry? [y/n]: n

    Do you want to enable Google Container Registry? [y/n]: n

    Do you want to enable Docker Registry? [y/n]: y
    -- Enter docker registry server url: docker.io
    -- Enter docker registry username: nirs
    -- Enter docker registry password:

    Do you want to enable Azure Container Registry? [y/n]: n
      registry-creds was successfully configured

    % out/minikube addons enable registry-creds
      registry-creds is a 3rd party addon and is not maintained or verified by minikube maintainers, enable at your own risk.
      registry-creds does not currently have an associated maintainer.
        ▪ Using image docker.io/upmcenterprises/registry-creds:1.10
    🌟  The 'registry-creds' addon is enabled

Note that this addon does not work on arm64 since we have only amd64
image. The pod fail to start:

    % kubectl logs deploy/registry-creds -n kube-system
    exec /registry-creds: exec format error
2025-10-23 00:20:40 +03:00
Medya Ghazizadeh ec7f42e644
Merge pull request #21773 from afbjorklund/crio-depends
Remove old obsolete Podman kubic repository
2025-10-22 11:54:38 -07:00
minikube-bot 45c4883963 Update auto-generated docs and translations 2025-10-22 18:44:46 +00:00
Medya Ghazizadeh 30a59318ae
Merge pull request #21777 from minikube-bot/gendocs
docs: Update auto-generated docs and translations
2025-10-22 11:43:56 -07:00
Medya Ghazizadeh 4d35aefea7
Merge pull request #21426 from bobsira/fit-windows-unit-tests-chown-trykill
test:  fix TestTryKillOne unit test on windows
2025-10-22 11:42:15 -07:00
minikube-bot 05cbdb2488 Update auto-generated docs and translations 2025-10-22 18:29:06 +00:00
Medya Ghazizadeh dbbc2c2d56
Merge pull request #21738 from bobsira/fix-win-unit-test-TestGetStoragev1
test: Fix TestGetStoragev1 unit test on windows
2025-10-22 11:26:45 -07:00
Bob Sira 9d74e1f1d9 fix Windows unit test failures for TestTryKillOne 2025-10-21 16:52:52 +01:00
Medya Ghazizadeh 32550882d8
Merge pull request #21765 from minikube-bot/auto_bump_gh_version
CI: Update gh from 2.81.0 to 2.82.0
2025-10-20 16:06:01 -07:00
Medya Ghazizadeh 6e576023ec
Merge pull request #21625 from nirs/kvm-driver-internal
kvm: remove dependency on external driver
2025-10-20 12:51:02 -07:00
Medya Ghazizadeh 776f6025e7
Merge pull request #21611 from henry3260/my-fix-branch
docs: Add vfkit and krunkit options in ISSUE_TEMPLATE (#21604)
2025-10-20 12:12:02 -07:00
minikube-bot 8990789ccd Updating kicbase image to v0.0.48-1760939008-21773 2025-10-20 06:03:46 +00:00
Anders F Björklund 1c2ba38adc Remove old obsolete kubic repository
The podman installation is now coming from Debian instead,
and the cri-o package also includes conmon and crun now.
2025-10-20 07:13:04 +02:00
Divy Singhvi ae2bbbbe2e restore kvm2 rpm template and remove Vendor line 2025-10-19 23:31:49 +05:30
Nir Soffer 4089e1ca2a kvm: Build kvm driver only for linux/amd64
The build fails on linux/arm64 because libvirt.org/go/libvirt is using
CGO, and cross compiling CGO requires a C cross compiler. Setting
GOARCH=arm64 is not enough. The issue is tracked in
https://github.com/kubernetes/minikube/issues/19959.

Previously we built the kvm driver also on arm64 as part of the
docker-machine-driver-kvm2 executable, but the build was skipped on
arm64.

Now that we build the driver as part of minikube, we cannot skip the
entire build. Change the build tag so the libvirt bits are built only on
amd64.

To make this possible, the generic linux bits needed by the registry
moved to pkg/drivers/kvm/driver.go, and a kvm_stub.go is used for
unsupported architectures.

In the registry Driver.Status(), move the arm64 check to front since
there is no point in checking that libvirt is installed correctly if the
driver is not supported yet.
2025-10-19 17:22:23 +03:00
Nir Soffer 7bc97d7ce1 kvm: Convert to internal driver
Remove the docker-machine-driver-kvm2 wrapper and use the kvm driver as
internal driver.

To avoid dependency on libvirt shared library on Linux, we build now
with the libvirt_dlopen build tag. This is used only linux to avoid
linking with libvirt shared library. This is not documnted but can be
found in the source.
f7cdeba997/domain.go (L30)

With this we don't need libvirt devel libraries during build, and in
runtime we will fail if libvirt shared library is not installed.

With this change minikube can not be built for linux !amd64 since building
libvirt go binding requires CGO, and it does not work by changing GOARCH.
2025-10-19 17:20:47 +03:00
Anders F Björklund efb80dd665 Update minikube-machine with less code lint 2025-10-19 13:40:48 +02:00
minikube-bot 7490a298eb CI: Update gh from 2.81.0 to 2.82.0 2025-10-18 08:04:53 +00:00
Divy Singhvi 8e0fd57424
Merge branch 'kubernetes:master' into rpm-fix 2025-10-17 11:10:38 +05:30
Divy Singhvi a1c05e2d2c Fixed rpm: Missing vendor value 2025-10-17 11:08:14 +05:30
Medya Ghazizadeh 9124b8ab6a
Merge pull request #21758 from medyagh/update_crons
CI: Update cron jobs to run on Saturday 1 AM instead of Monday
2025-10-16 13:33:01 -07:00
Medya Ghazizadeh 515553f3a4
Merge pull request #21757 from minikube-bot/auto_bump_docker_version-709c2fe
Kicbase/ISO: Update docker from 28.4.0 to 28.5.1
2025-10-16 13:29:00 -07:00
Medya Ghazizadeh d76cd28bbf
Merge pull request #21756 from medyagh/del_prow
CI: delete prow images not needed anymore
2025-10-16 13:24:09 -07:00
Medya Ghazizadeh 02b3082942 update cron jobs to run on Saturday 1 AM instead of monday 2025-10-16 13:19:01 -07:00
Bob Sira 0f64f31b88 addressed TestGetStoragev1class unit test failure comments 2025-10-16 16:25:28 +01:00
minikube-bot f9001b37af Updating ISO to v1.37.0-1760609724-21757 2025-10-16 13:32:53 +00:00
minikube-bot a1c2cf436b Updating kicbase image to v0.0.48-1760609789-21757 2025-10-16 10:37:56 +00:00
minikube-bot f8b4b49241 Kicbase/ISO: Update docker from 28.4.0 to 28.5.1 2025-10-16 10:08:31 +00:00
Medya Ghazizadeh 93850a356f remove prow image from makefile 2025-10-15 12:18:45 -07:00
Medya Ghazizadeh 190c08851b remove prow images not needed anymore 2025-10-15 12:17:59 -07:00
Medya Ghazizadeh 709c2fe2a5
Merge pull request #21724 from obnoxxx/fix-crio-kicbase
Kicbase: fix docker driver with crio runtime: install dbus
2025-10-15 11:45:41 -07:00
Medya Ghazizadeh 334eee9cc3
Merge pull request #21559 from jeffmaury/fr
UI: improve french translation
2025-10-14 13:49:37 -07:00
Jeff MAURY 15cd9760f0
Fix french translation
Signed-off-by: Jeff MAURY <jmaury@redhat.com>
2025-10-14 08:46:06 +02:00
Medya Ghazizadeh 3a3791d5d4
Merge pull request #21744 from minikube-bot/gomodtidy
build: go mod tidy
2025-10-13 13:20:15 -07:00
minikube-bot d694edd546 Update auto-generated docs and translations 2025-10-13 20:19:16 +00:00
Medya Ghazizadeh e2221fe56f
Merge pull request #21743 from kubernetes/dependabot/go_modules/golang.org/x/term-0.36.0
Build(deps): Bump golang.org/x/term from 0.34.0 to 0.36.0
2025-10-13 13:18:39 -07:00
Medya Ghazizadeh eab6e11ba1
Merge pull request #21701 from minikube-bot/auto_bump_ingress_version
Addon ingress: Update ingress-nginx/controller image from v1.13.2 to v1.13.3
2025-10-13 13:18:02 -07:00