github.com/jlmeeker/kismatic@v1.10.1-0.20180612190640-57f9005a1f1a/pkg/install/kubelet_options.go (about) 1 package install 2 3 import ( 4 "fmt" 5 "strings" 6 ) 7 8 var kubeletProtectedOptions = []string{ 9 "cloud-provider", 10 "cloud-config", 11 "cluster-dns", 12 "container-runtime", 13 "cni-bin-dir", 14 "cni-conf-dir", 15 "network-plugin", 16 "docker", 17 "hostname-override", 18 "kubeconfig", 19 "node-labels", 20 "node-ip", 21 "pod-manifest-path", 22 "tls-cert-file", 23 "tls-private-key-file", 24 } 25 26 func (options *KubeletOptions) validate() (bool, []error) { 27 v := newValidator() 28 overrides := make([]string, 0) 29 for _, protectedOption := range kubeletProtectedOptions { 30 _, found := options.Overrides[protectedOption] 31 if found { 32 overrides = append(overrides, protectedOption) 33 } 34 } 35 36 if len(overrides) > 0 { 37 v.addError(fmt.Errorf("Kubelet Option(s) [%v] cannot be overridden", strings.Join(overrides, ", "))) 38 } 39 40 return v.valid() 41 }