code: func (s KubeControllerManagerOptions) Config(allControllers []string, disabledByDefaultControllers []string) (*kubecontrollerconfig.Config, error) {
  	if err := s.Validate(allControllers, disabledByDefaultControllers); err != nil {
  		return nil, err
  	}
  
  	if err := s.SecureServing.MaybeDefaultWithSelfSignedCerts("localhost", nil, []net.IP{net.ParseIP("127.0.0.1")}); err != nil {
  		return nil, fmt.Errorf("error creating self-signed certificates: %v", err)
  	}
  
  	kubeconfig, err := clientcmd.BuildConfigFromFlags(s.Master, s.Kubeconfig)
  	if err != nil {
  		return nil, err
  	}
  	kubeconfig.ContentConfig.ContentType = s.Generic.ClientConnection.ContentType
  	kubeconfig.QPS = s.Generic.ClientConnection.QPS
  	kubeconfig.Burst = int(s.Generic.ClientConnection.Burst)
  
  	client, err := clientset.NewForConfig(restclient.AddUserAgent(kubeconfig, KubeControllerManagerUserAgent))
  	if err != nil {
  		return nil, err
  	}
  
  	// shallow copy, do not modify the kubeconfig.Timeout.
  	config := *kubeconfig
  	config.Timeout = s.Generic.LeaderElection.RenewDeadline.Duration
  	leaderElectionClient := clientset.NewForConfigOrDie(restclient.AddUserAgent(&config, "leader-election"))
  
  	eventRecorder := createRecorder(client, KubeControllerManagerUserAgent)
  
  	c := &kubecontrollerconfig.Config{
  		Client:               client,
  		Kubeconfig:           kubeconfig,
  		EventRecorder:        eventRecorder,
  		LeaderElectionClient: leaderElectionClient,
  	}
  	if err := s.ApplyTo(c); err != nil {
  		return nil, err
  	}
  
  	return c, nil
  }
docs: // Config return a controller manager config objective