From 8cd38956f25d90bdec951448c0153bb1df5a8df0 Mon Sep 17 00:00:00 2001 From: Christophe VILA Date: Sat, 29 Jun 2019 01:38:16 +0200 Subject: [PATCH] Make virtualbox DNS settings configurable --- cmd/minikube/cmd/start.go | 6 ++++++ pkg/minikube/config/types.go | 2 ++ pkg/minikube/drivers/virtualbox/driver.go | 4 ++-- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/cmd/minikube/cmd/start.go b/cmd/minikube/cmd/start.go index 5862e773d..309162120 100644 --- a/cmd/minikube/cmd/start.go +++ b/cmd/minikube/cmd/start.go @@ -98,6 +98,8 @@ const ( embedCerts = "embed-certs" noVTXCheck = "no-vtx-check" downloadOnly = "download-only" + dnsProxy = "dns-proxy" + hostDNSResolver = "host-dns-resolver" ) var ( @@ -158,6 +160,8 @@ func init() { startCmd.Flags().Bool(gpu, false, "Enable experimental NVIDIA GPU support in minikube (works only with kvm2 driver on Linux)") startCmd.Flags().Bool(hidden, false, "Hide the hypervisor signature from the guest in minikube (works only with kvm2 driver on Linux)") startCmd.Flags().Bool(noVTXCheck, false, "Disable checking for the availability of hardware virtualization before the vm is started (virtualbox)") + startCmd.Flags().Bool(dnsProxy, false, "Enable proxy for NAT DNS requests (virtualbox)") + startCmd.Flags().Bool(hostDNSResolver, true, "Enable host resolver for NAT DNS requests (virtualbox)") if err := viper.BindPFlags(startCmd.Flags()); err != nil { exit.WithError("unable to bind flags", err) } @@ -530,6 +534,8 @@ func generateConfig(cmd *cobra.Command, k8sVersion string) (cfg.Config, error) { GPU: viper.GetBool(gpu), Hidden: viper.GetBool(hidden), NoVTXCheck: viper.GetBool(noVTXCheck), + DNSProxy: viper.GetBool(dnsProxy), + HostDNSResolver: viper.GetBool(hostDNSResolver), }, KubernetesConfig: cfg.KubernetesConfig{ KubernetesVersion: k8sVersion, diff --git a/pkg/minikube/config/types.go b/pkg/minikube/config/types.go index be83b73bf..c7c0cb005 100644 --- a/pkg/minikube/config/types.go +++ b/pkg/minikube/config/types.go @@ -56,6 +56,8 @@ type MachineConfig struct { GPU bool // Only used by kvm2 Hidden bool // Only used by kvm2 NoVTXCheck bool // Only used by virtualbox + DNSProxy bool // Only used by virtualbox + HostDNSResolver bool // Only used by virtualbox } // KubernetesConfig contains the parameters used to configure the VM Kubernetes. diff --git a/pkg/minikube/drivers/virtualbox/driver.go b/pkg/minikube/drivers/virtualbox/driver.go index 1a1c50d6c..78441699d 100644 --- a/pkg/minikube/drivers/virtualbox/driver.go +++ b/pkg/minikube/drivers/virtualbox/driver.go @@ -54,8 +54,8 @@ func createVirtualboxHost(config cfg.MachineConfig) interface{} { d.NoVTXCheck = config.NoVTXCheck d.NatNicType = defaultVirtualboxNicType d.HostOnlyNicType = defaultVirtualboxNicType - d.DNSProxy = false - d.HostDNSResolver = true + d.DNSProxy = config.DNSProxy + d.HostDNSResolver = config.HostDNSResolver return d } -- GitLab