diff --git a/cmd/minikube/cmd/start.go b/cmd/minikube/cmd/start.go index 2c9c8d40d9c8..917bdf007428 100644 --- a/cmd/minikube/cmd/start.go +++ b/cmd/minikube/cmd/start.go @@ -344,7 +344,8 @@ func provisionWithDriver(cmd *cobra.Command, ds registry.DriverState, existing * } var existingAddons map[string]bool - if viper.GetBool(installAddons) { + cc.InstallAddons = viper.GetBool(installAddons) + if cc.InstallAddons { existingAddons = map[string]bool{} if existing != nil && existing.Addons != nil { existingAddons = existing.Addons diff --git a/pkg/minikube/assets/addons.go b/pkg/minikube/assets/addons.go index 8faba03c30a6..83f9064960f7 100644 --- a/pkg/minikube/assets/addons.go +++ b/pkg/minikube/assets/addons.go @@ -78,6 +78,8 @@ func (a *Addon) IsEnabled(cc *config.ClusterConfig) bool { status, ok := cc.Addons[a.Name()] if ok { return status + } else if !cc.InstallAddons { + return false } // Return the default unconfigured state of the addon diff --git a/pkg/minikube/config/types.go b/pkg/minikube/config/types.go index 7aec572b8abf..c150d0a50a7c 100644 --- a/pkg/minikube/config/types.go +++ b/pkg/minikube/config/types.go @@ -75,6 +75,7 @@ type ClusterConfig struct { SSHPort int // Only used by ssh driver KubernetesConfig KubernetesConfig Nodes []Node + InstallAddons bool // used by install-addon flag Addons map[string]bool CustomAddonImages map[string]string // Maps image names to the image to use for addons. e.g. Dashboard -> k8s.gcr.io/echoserver:1.4 makes dashboard addon use echoserver for its Dashboard deployment. CustomAddonRegistries map[string]string // Maps image names to the registry to use for addons. See CustomAddonImages for example.