Skip to content

minikube fixes#547

Open
gambtho wants to merge 60 commits intoheadlamp-k8s:mainfrom
gambtho:minikube-fixes2-rebased
Open

minikube fixes#547
gambtho wants to merge 60 commits intoheadlamp-k8s:mainfrom
gambtho:minikube-fixes2-rebased

Conversation

@gambtho
Copy link
Copy Markdown

@gambtho gambtho commented Mar 3, 2026

  • minikube: Fix useClustersConf import
  • minikube: Use pluginPermissionSecrets with runCommand
  • minikube: manage-minikube.js: Add minimal script for testing
  • minikube: Use pluginRunCommand instead of runCommand
  • minikube: index: Add button to help manually test more easily
  • minikube: CommandCluster: Fix running command so it remembers
  • minikube: windows: Add command for elevated privs and hyperv
  • minikube: CommandCluster: Fix running command to remember
  • minikube: manage-minikube: Add info command
  • minikube: artifacthub-pkg: Update to minikube 1.36.0
  • minikube: DriverSelect: Fix driver select not rendering
  • minikube: DriverSelect: Update vfkit to non-experimental
  • minikube: manage-minikube: Use require imports for compatibility
  • minikube: Fix to detect windows paths for plugin path
  • minikube: CommandCluster: Fix formatting turn debug off
  • minikube: DriverSelect: Add useDrivers hook with detection logic
  • minikube: CommandCluster: Use hyperv script to start/stop etc
  • minikube: CommandCluster: Add detection of minikube profiles
  • minikube: DriverSelect: Add loading state for driver loading
  • minikube: CommandDialog: Fix cluster name input so can type again
  • minikube: CommandDialog: Fix label so it does not cover input field
  • minikube: Add logging
  • minikube: Fix windows error with extra text
  • minikube: Try throwing error to stop rest of script running.
  • minikube: Put info in setImmediate
  • minikube: Remove setImmediate
  • minikube: manage-minikube: Add slow computer simulation for info
  • minikube: CommandCluster: Add wait for driver detection
  • minikube: cleanup
  • minikube: CommandCluster: Add container runtime and CNI flags
  • minikube: manage-minikube: Add minikube-profile and start-minikube-vfkit
  • minikube: manage-minikube: Cleanups
  • minikube: CommandCluster: Fix useMinikubeProfileList
  • minikube: manage-minikube: Add freeRam in GB to info output
  • minikube: manage-minikube: Add free disk and free memory warnings
  • minikube: CommandCluster: Exract useInfo to own file
  • minikube: package.json: Add testplugins script
  • minikube: CommandCluster: Add extra addons for vfkit and hyperv
  • minikube: artifacthub-pkg: Add vfkit to extra files for mac
  • minikube: ClusterStatus: Add component to start/stop on home
  • minikube: index: Add DEBUG mode
  • minikube: Change title to "Create Local Cluster" on provider page
  • minikube: Add ram default of 3072
  • minikube: manage-minikube: Add enabling of hyperV if it is stopped
  • minikube: Add detectIfHyperVEnabled check instead of just running
  • minikube: manage-minikube: Add hyperv wrappers for stop and delete
  • minikube: CommandCluster: Use wrapper for stop/delete on HyperV
  • minikube: manage-minikube: CommandCluster: Add wait for info
  • minikube: manage-minikube: Fix hyperv stop and delete commands
  • minikube: manage-minikube: Flush stdout on info command
  • minikube: Upgrade headlamp-plugin to 0.13.0-alpha.11
  • minikube: CommandCluster: ClusterStatus: Add cancel handling
  • minikube: manage-minikube: Add fallbacks on windows for wmic
  • minikube: fix duplicate ternary title, multiline prompt string, and description typo
  • minikube: add cluster name validation and memoize clusterNames
  • minikube: add error handling, process cleanup, and output cap for command execution
  • minikube: refactor index registrations, rename onConfirm, and type isMinikube
  • minikube: add unit tests, error stories, and export utilities for testability
  • minikube: fix driver select value prop and deprecation

illume added 30 commits March 3, 2026 10:14
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
This is so the runCommand will be allowed to work.

Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
To see what services are running, and ram/free disk.

Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
This handles asking for admin rights as required.

Signed-off-by: René Dudfield <renedudfield@microsoft.com>
So that we can query their information, like the driver for the
profile. This lets us use driver specific code if needed.

Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
There was a bug where the initial name is set, but you can't
change it.

Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
So that it's easier to detect problems, and see load states.

Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Only show the start button once drivers have been detected.

Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
So on hyperv and vfkit things are configured as we want.

Signed-off-by: René Dudfield <renedudfield@microsoft.com>
illume and others added 20 commits March 3, 2026 10:26
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
For copying changes to the testplugin repo.

Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
This is used by the minikube driver called vfkit on mac.

Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Hides the script button used for debugging.

Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
This is to reduce the amount given for lower ram machines.

Signed-off-by: René Dudfield <renedudfield@microsoft.com>
It can be after computer restart that HyperV service is not enabled.
Without this minikube start does not work.

Signed-off-by: René Dudfield <renedudfield@microsoft.com>
It can be HyperV is disabled after computer restart, so a running
check is not sufficient.

Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
This is so it can make sure the VM service is running and also
ask for privs to do it.

Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Because how we act depends on the driver and OS.

Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Sometimes it was not writing all data to stdout before exiting.

Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: René Dudfield <renedudfield@microsoft.com>
If closing on cancel we do not need to reload the page.

So clicking stop on a cluster and then cancel does not
reload the page.

Signed-off-by: René Dudfield <renedudfield@microsoft.com>
On some systems wmic is not installed.

Signed-off-by: René Dudfield <renedudfield@microsoft.com>
Signed-off-by: gambtho <Thomas.Gamble@microsoft.com>
@gambtho gambtho changed the title Minikube fixes2 rebased minikube fixes Mar 3, 2026
gambtho added 5 commits March 3, 2026 12:34
- Add isValidClusterName() to validate minikube profile names: must be
  non-empty, at most 63 characters, and start with an alphanumeric
  followed by alphanumerics or hyphens. Invalid names are now rejected
  with a descriptive error instead of being passed to the CLI.
- Replace the boolean nameTaken state with a nameError string to support
  both uniqueness and format validation messages.
- Memoize clusterNames via React.useMemo to prevent the generateClusterName
  useEffect from firing on every render.
- Move generateClusterName to module scope and export for testability.

Signed-off-by: gambtho <Thomas.Gamble@microsoft.com>
…mand execution

- Track non-zero exit codes and surface a commandError flag so the UI
  can distinguish success from failure.
- Display an error banner in CommandDialog when a command fails.
- Kill the spawned minikube process when the dialog is closed or the
  action is cancelled while a command is still running.
- Cap displayed output lines to 200 to prevent unbounded memory growth
  and rendering slowdown from verbose commands.

Signed-off-by: gambtho <Thomas.Gamble@microsoft.com>
…Minikube

- Consolidate 6 duplicated registerClusterProviderMenuItem and
  registerClusterProviderDialog calls into a data-driven loop over a
  minikubeCommands array, reducing ~110 lines to ~40.
- Rename the onConfirm prop to onCommandDispatched on CommandCluster to
  accurately reflect that it fires at dispatch time, not on completion.
- Add a type annotation and export to isMinikube for type safety and
  testability.

Signed-off-by: gambtho <Thomas.Gamble@microsoft.com>
…tability

- Add 21 unit tests covering isElectron, isMinikube, detectOS,
  isValidClusterName, and generateClusterName.
- Export detectOS from DriverSelect for test imports.
- Add CommandFailed and GridCommandFailed storybook stories exercising
  the new commandError prop.
- Remove @ts-nocheck from storybook.test.tsx as the import resolves
  cleanly without it.

Signed-off-by: gambtho <Thomas.Gamble@microsoft.com>
Signed-off-by: gambtho <Thomas.Gamble@microsoft.com>
@gambtho gambtho force-pushed the minikube-fixes2-rebased branch 2 times, most recently from 9c8e068 to 855f0b0 Compare March 3, 2026 20:26
Signed-off-by: gambtho <Thomas.Gamble@microsoft.com>
@gambtho gambtho force-pushed the minikube-fixes2-rebased branch from 855f0b0 to 1cdca3b Compare March 3, 2026 22:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants