mirror of
https://github.com/k3s-io/k3s.git
synced 2024-06-07 19:41:36 +00:00
82 lines
1.7 KiB
Go
82 lines
1.7 KiB
Go
|
package cmds
|
||
|
|
||
|
import (
|
||
|
"os"
|
||
|
"path/filepath"
|
||
|
|
||
|
"github.com/urfave/cli"
|
||
|
)
|
||
|
|
||
|
type Agent struct {
|
||
|
Token string
|
||
|
ServerURL string
|
||
|
DataDir string
|
||
|
NodeIP string
|
||
|
NodeName string
|
||
|
Docker bool
|
||
|
NoFlannel bool
|
||
|
Debug bool
|
||
|
AgentShared
|
||
|
}
|
||
|
|
||
|
type AgentShared struct {
|
||
|
NodeIP string
|
||
|
}
|
||
|
|
||
|
var (
|
||
|
appName = filepath.Base(os.Args[0])
|
||
|
AgentConfig Agent
|
||
|
NodeIPFlag = cli.StringFlag{
|
||
|
Name: "node-ip,i",
|
||
|
Usage: "IP address to advertise for node",
|
||
|
Destination: &AgentConfig.NodeIP,
|
||
|
}
|
||
|
NodeNameFlag = cli.StringFlag{
|
||
|
Name: "node-name",
|
||
|
Usage: "Node name",
|
||
|
EnvVar: "K3S_NODE_NAME",
|
||
|
Destination: &AgentConfig.NodeName,
|
||
|
}
|
||
|
)
|
||
|
|
||
|
func NewAgentCommand(action func(ctx *cli.Context) error) cli.Command {
|
||
|
return cli.Command{
|
||
|
Name: "agent",
|
||
|
Usage: "Run node agent",
|
||
|
UsageText: appName + " agent [OPTIONS]",
|
||
|
Action: action,
|
||
|
Flags: []cli.Flag{
|
||
|
cli.StringFlag{
|
||
|
Name: "token,t",
|
||
|
Usage: "Token to use for authentication",
|
||
|
EnvVar: "K3S_TOKEN",
|
||
|
Destination: &AgentConfig.Token,
|
||
|
},
|
||
|
cli.StringFlag{
|
||
|
Name: "server,s",
|
||
|
Usage: "Server to connect to",
|
||
|
EnvVar: "K3S_URL",
|
||
|
Destination: &AgentConfig.ServerURL,
|
||
|
},
|
||
|
cli.StringFlag{
|
||
|
Name: "data-dir,d",
|
||
|
Usage: "Folder to hold state",
|
||
|
Destination: &AgentConfig.DataDir,
|
||
|
Value: "/var/lib/rancher/k3s",
|
||
|
},
|
||
|
cli.BoolFlag{
|
||
|
Name: "docker",
|
||
|
Usage: "Use docker instead of containerd",
|
||
|
Destination: &AgentConfig.Docker,
|
||
|
},
|
||
|
cli.BoolFlag{
|
||
|
Name: "no-flannel",
|
||
|
Usage: "Disable embedded flannel",
|
||
|
Destination: &AgentConfig.NoFlannel,
|
||
|
},
|
||
|
NodeNameFlag,
|
||
|
NodeIPFlag,
|
||
|
},
|
||
|
}
|
||
|
}
|