github.com/jlmeeker/kismatic@v1.10.1-0.20180612190640-57f9005a1f1a/pkg/install/kube_api_server_options.go (about) 1 package install 2 3 import ( 4 "fmt" 5 "strings" 6 ) 7 8 var kubeAPIServerProtectedOptions = []string{ 9 "advertise-address", 10 "apiserver-count", 11 "client-ca-file", 12 "cloud-provider", 13 "cloud-config", 14 "etcd-cafile", 15 "etcd-certfile", 16 "etcd-keyfile", 17 "etcd-servers", 18 "secure-port", 19 "service-account-key-file", 20 "service-cluster-ip-range", 21 "tls-cert-file", 22 "tls-private-key-file", 23 } 24 25 func (options *APIServerOptions) validate() (bool, []error) { 26 v := newValidator() 27 overrides := make([]string, 0) 28 for _, protectedOption := range kubeAPIServerProtectedOptions { 29 _, found := options.Overrides[protectedOption] 30 if found { 31 overrides = append(overrides, protectedOption) 32 } 33 } 34 35 if len(overrides) > 0 { 36 v.addError(fmt.Errorf("Kube ApiServer Option(s) [%v] cannot be overridden", strings.Join(overrides, ", "))) 37 } 38 39 return v.valid() 40 }