code: func NewProxyCommand() *cobra.Command {
  	opts := NewOptions()
  
  	cmd := &cobra.Command{
  		Use: "kube-proxy",
  		Long: `The Kubernetes network proxy runs on each node. This
  reflects services as defined in the Kubernetes API on each node and can do simple
  TCP, UDP, and SCTP stream forwarding or round robin TCP, UDP, and SCTP forwarding across a set of backends.
  Service cluster IPs and ports are currently found through Docker-links-compatible
  environment variables specifying ports opened by the service proxy. There is an optional
  addon that provides cluster DNS for these cluster IPs. The user must create a service
  with the apiserver API to configure the proxy.`,
  		Run: func(cmd *cobra.Command, args []string) {
  			verflag.PrintAndExitIfRequested()
  			utilflag.PrintFlags(cmd.Flags())
  
  			if err := initForOS(opts.WindowsService); err != nil {
  				klog.Fatalf("failed OS init: %v", err)
  			}
  
  			if err := opts.Complete(); err != nil {
  				klog.Fatalf("failed complete: %v", err)
  			}
  			if err := opts.Validate(args); err != nil {
  				klog.Fatalf("failed validate: %v", err)
  			}
  			klog.Fatal(opts.Run())
  		},
  	}
  
  	var err error
  	opts.config, err = opts.ApplyDefaults(opts.config)
  	if err != nil {
  		klog.Fatalf("unable to create flag defaults: %v", err)
  	}
  
  	opts.AddFlags(cmd.Flags())
  
  	// TODO handle error
  	cmd.MarkFlagFilename("config", "yaml", "yml", "json")
  
  	return cmd
  }
docs: // NewProxyCommand creates a *cobra.Command object with default parameters