type nodeOptions … var _ … type nodeData … // newCmdNode returns the cobra command for `kubeadm upgrade node` func newCmdNode(out io.Writer) *cobra.Command { … } // newNodeOptions returns a struct ready for being used for creating cmd kubeadm upgrade node flags. func newNodeOptions() *nodeOptions { … } func addUpgradeNodeFlags(flagSet *flag.FlagSet, nodeOptions *nodeOptions) { … } // newNodeData returns a new nodeData struct to be used for the execution of the kubeadm upgrade node workflow. // This func takes care of validating nodeOptions passed to the command, and then it converts // options into the internal InitConfiguration type that is used as input all the phases in the kubeadm upgrade node workflow func newNodeData(cmd *cobra.Command, nodeOptions *nodeOptions, out io.Writer) (*nodeData, error) { … } // DryRun returns the dryRun flag. func (d *nodeData) DryRun() bool { … } // EtcdUpgrade returns the etcdUpgrade flag. func (d *nodeData) EtcdUpgrade() bool { … } // RenewCerts returns the renewCerts flag. func (d *nodeData) RenewCerts() bool { … } // Cfg returns upgradeConfiguration. func (d *nodeData) Cfg() *kubeadmapi.UpgradeConfiguration { … } // InitCfg returns the InitConfiguration. func (d *nodeData) InitCfg() *kubeadmapi.InitConfiguration { … } // IsControlPlaneNode returns the isControlPlaneNode flag. func (d *nodeData) IsControlPlaneNode() bool { … } // Client returns a Kubernetes client to be used by kubeadm. func (d *nodeData) Client() clientset.Interface { … } // PatchesDir returns the folder where patches for components are stored func (d *nodeData) PatchesDir() string { … } // IgnorePreflightErrors returns the list of preflight errors to ignore. func (d *nodeData) IgnorePreflightErrors() sets.Set[string] { … } // KubeConfigPath returns the path to the user kubeconfig file. func (d *nodeData) KubeConfigPath() string { … } func (d *nodeData) OutputWriter() io.Writer { … }