code: func (c *NodeCommand) Initialize(app *kingpin.Application, config *service.Config) {
  	c.config = config
  
  	// add node command
  	nodes := app.Command("nodes", "Issue invites for other nodes to join the cluster")
  	c.nodeAdd = nodes.Command("add", "Generate a node invitation token")
  	c.nodeAdd.Flag("roles", "Comma-separated list of roles for the new node to assume [node]").Default("node").StringVar(&c.roles)
  	c.nodeAdd.Flag("ttl", "Time to live for a generated token").Default(defaults.ProvisioningTokenTTL.String()).DurationVar(&c.ttl)
  	c.nodeAdd.Flag("token", "Custom token to use, autogenerated if not provided").StringVar(&c.token)
  	c.nodeAdd.Flag("format", "Output format, 'text' or 'json'").Hidden().Default("text").StringVar(&c.format)
  	c.nodeAdd.Alias(AddNodeHelp)
  
  	c.nodeList = nodes.Command("ls", "List all active SSH nodes within the cluster")
  	c.nodeList.Flag("namespace", "Namespace of the nodes").Default(defaults.Namespace).StringVar(&c.namespace)
  	c.nodeList.Alias(ListNodesHelp)
  }
docs: // Initialize allows NodeCommand to plug itself into the CLI parser