type Options … // AddFlags adds flags to fs and binds them to options. func (o *Options) AddFlags(fs *pflag.FlagSet) { … } // newKubeProxyConfiguration returns a KubeProxyConfiguration with default values func newKubeProxyConfiguration() *kubeproxyconfig.KubeProxyConfiguration { … } // NewOptions returns initialized Options func NewOptions() *Options { … } // Complete completes all the required options. func (o *Options) Complete(fs *pflag.FlagSet) error { … } // copyLogsFromFlags applies the logging flags from the given flag set to the given // configuration. Fields for which the corresponding flag was not used are left // unmodified. For fields that have multiple values (like vmodule), the values from // the flags get joined so that the command line flags have priority. // // TODO (pohly): move this to logsapi func copyLogsFromFlags(from *pflag.FlagSet, to *logsapi.LoggingConfiguration) error { … } // Creates a new filesystem watcher and adds watches for the config file. func (o *Options) initWatcher() error { … } func (o *Options) eventHandler(ent fsnotify.Event) { … } func (o *Options) errorHandler(err error) { … } // processHostnameOverrideFlag processes hostname-override flag func (o *Options) processHostnameOverrideFlag() error { … } // processV1Alpha1Flags processes v1alpha1 flags which can't be directly mapped to internal config. func (o *Options) processV1Alpha1Flags(fs *pflag.FlagSet) { … } // Validate validates all the required options. func (o *Options) Validate() error { … } // Run runs the specified ProxyServer. func (o *Options) Run(ctx context.Context) error { … } // runLoop will watch on the update change of the proxy server's configuration file. // Return an error when updated func (o *Options) runLoop(ctx context.Context) error { … } func (o *Options) writeConfigFile() (err error) { … } // addressFromDeprecatedFlags returns server address from flags // passed on the command line based on the following rules: // 1. If port is 0, disable the server (e.g. set address to empty). // 2. Otherwise, set the port portion of the config accordingly. func addressFromDeprecatedFlags(addr string, port int32) string { … } // newLenientSchemeAndCodecs returns a scheme that has only v1alpha1 registered into // it and a CodecFactory with strict decoding disabled. func newLenientSchemeAndCodecs() (*runtime.Scheme, *serializer.CodecFactory, error) { … } // loadConfigFromFile loads the contents of file and decodes it as a // KubeProxyConfiguration object. func (o *Options) loadConfigFromFile(file string) (*kubeproxyconfig.KubeProxyConfiguration, error) { … } // loadConfig decodes a serialized KubeProxyConfiguration to the internal type. func (o *Options) loadConfig(data []byte) (*kubeproxyconfig.KubeProxyConfiguration, error) { … }