github.com/jlmeeker/kismatic@v1.10.1-0.20180612190640-57f9005a1f1a/pkg/install/kube_controller_manager_options.go (about)

     1  package install
     2  
     3  import (
     4  	"fmt"
     5  	"strings"
     6  )
     7  
     8  var kubeControllerManagerProtectedOptions = []string{
     9  	"cloud-provider",
    10  	"cloud-config",
    11  	"cluster-cidr",
    12  	"cluster-name",
    13  	"kubeconfig",
    14  	"root-ca-file",
    15  	"service-account-private-key-file",
    16  	"service-cluster-ip-range",
    17  }
    18  
    19  func (options *KubeControllerManagerOptions) validate() (bool, []error) {
    20  	v := newValidator()
    21  	overrides := make([]string, 0)
    22  	for _, protectedOption := range kubeControllerManagerProtectedOptions {
    23  		_, found := options.Overrides[protectedOption]
    24  		if found {
    25  			overrides = append(overrides, protectedOption)
    26  		}
    27  	}
    28  
    29  	if len(overrides) > 0 {
    30  		v.addError(fmt.Errorf("Kube Controller Manager Option(s) [%v] cannot be overridden", strings.Join(overrides, ", ")))
    31  	}
    32  
    33  	return v.valid()
    34  }