@@ -19,6 +19,8 @@ package config
19
19
import (
20
20
"github.com/spf13/cobra"
21
21
"k8s.io/minikube/pkg/addons"
22
+ "k8s.io/minikube/pkg/minikube/assets"
23
+ "k8s.io/minikube/pkg/minikube/config"
22
24
"k8s.io/minikube/pkg/minikube/exit"
23
25
"k8s.io/minikube/pkg/minikube/out"
24
26
"k8s.io/minikube/pkg/minikube/reason"
@@ -38,11 +40,24 @@ var addonsDisableCmd = &cobra.Command{
38
40
if addon == "heapster" {
39
41
exit .Message (reason .AddonUnsupported , "The heapster addon is depreciated. please try to disable metrics-server instead" )
40
42
}
41
- err := addons . SetAndSave (ClusterFlagValue (), addon , "false" )
43
+ cc , err := config . Load (ClusterFlagValue ())
42
44
if err != nil {
43
- exit .Error (reason .InternalAddonDisable , "disable failed" , err )
45
+ exit .Error (reason .InternalAddonDisable , "loading profile" , err )
46
+ }
47
+ validAddon , ok := assets .Addons [addon ]
48
+ if ok {
49
+ if validAddon .IsEnabled (cc ) {
50
+ err := addons .SetAndSave (ClusterFlagValue (), addon , "false" )
51
+ if err != nil {
52
+ exit .Error (reason .InternalAddonDisable , "disable failed" , err )
53
+ }
54
+ } else {
55
+ out .Step (style .AddonDisable , `"The '{{.minikube_addon}}' addon is disabled` , out.V {"minikube_addon" : addon })
56
+ }
57
+
58
+ } else {
59
+ out .Step (style .AddonDisable , `"The '{{.minikube_addon}}' seems not to be a valid minikube addon` , out.V {"minikube_addon" : addon })
44
60
}
45
- out .Step (style .AddonDisable , `"The '{{.minikube_addon}}' addon is disabled` , out.V {"minikube_addon" : addon })
46
61
},
47
62
}
48
63
0 commit comments