Skip to content

Commit 118a68c

Browse files
authored
Updates to CLI flag grouping + deprecated flag warnings. (k3s-io#5937)
* Consolidate data dir flag * Group cluster flags together * Reorder and group agent flags * Add additional info around vmodule flag * Hide deprecated flags, and add warning about their removal Signed-off-by: Derek Nola <[email protected]>
1 parent 13af0b1 commit 118a68c

File tree

8 files changed

+94
-88
lines changed

8 files changed

+94
-88
lines changed

pkg/agent/config/config.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -515,6 +515,9 @@ func get(ctx context.Context, envInfo *cmds.Agent, proxy proxy.Proxy) (*config.N
515515

516516
if nodeConfig.FlannelBackend == config.FlannelBackendNone {
517517
nodeConfig.NoFlannel = true
518+
} else if envInfo.NoFlannel {
519+
logrus.Warn("no-flannel is deprecated, it will be removed in v1.25. Use --flannel-backend=none instead.")
520+
nodeConfig.NoFlannel = envInfo.NoFlannel
518521
} else {
519522
nodeConfig.NoFlannel = envInfo.NoFlannel
520523
}

pkg/cli/agent/agent.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ func Run(ctx *cli.Context) error {
4646
}
4747

4848
if cmds.AgentConfig.Token == "" && cmds.AgentConfig.ClusterSecret != "" {
49+
logrus.Warn("cluster-secret is deprecated, it will be removed in v1.25. Use --token instead.")
4950
cmds.AgentConfig.Token = cmds.AgentConfig.ClusterSecret
5051
}
5152

pkg/cli/cmds/agent.go

Lines changed: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -86,11 +86,23 @@ var (
8686
Usage: "(agent/node) Append id to node name",
8787
Destination: &AgentConfig.WithNodeID,
8888
}
89-
DockerFlag = cli.BoolFlag{
90-
Hidden: true,
91-
Name: "docker",
92-
Usage: "(deprecated) (agent/runtime) Use docker instead of containerd",
93-
Destination: &AgentConfig.Docker,
89+
ProtectKernelDefaultsFlag = cli.BoolFlag{
90+
Name: "protect-kernel-defaults",
91+
Usage: "(agent/node) Kernel tuning behavior. If set, error if kernel tunables are different than kubelet defaults.",
92+
Destination: &AgentConfig.ProtectKernelDefaults,
93+
}
94+
SELinuxFlag = cli.BoolFlag{
95+
Name: "selinux",
96+
Usage: "(agent/node) Enable SELinux in containerd",
97+
Destination: &AgentConfig.EnableSELinux,
98+
EnvVar: version.ProgramUpper + "_SELINUX",
99+
}
100+
LBServerPortFlag = cli.IntFlag{
101+
Name: "lb-server-port",
102+
Usage: "(agent/node) Local port for supervisor client load-balancer. If the supervisor and apiserver are not colocated an additional port 1 less than this port will also be used for the apiserver client load-balancer.",
103+
Destination: &AgentConfig.LBServerPort,
104+
EnvVar: version.ProgramUpper + "_LB_SERVER_PORT",
105+
Value: 6444,
94106
}
95107
CRIEndpointFlag = cli.StringFlag{
96108
Name: "container-runtime-endpoint",
@@ -121,11 +133,6 @@ var (
121133
Destination: &AgentConfig.Snapshotter,
122134
Value: DefaultSnapshotter,
123135
}
124-
FlannelFlag = cli.BoolFlag{
125-
Name: "no-flannel",
126-
Usage: "(deprecated) use --flannel-backend=none",
127-
Destination: &AgentConfig.NoFlannel,
128-
}
129136
FlannelIfaceFlag = cli.StringFlag{
130137
Name: "flannel-iface",
131138
Usage: "(agent/networking) Override default flannel interface",
@@ -184,23 +191,17 @@ var (
184191
Usage: "(deprecated) Use --selinux to explicitly enable SELinux",
185192
Hidden: true,
186193
}
187-
ProtectKernelDefaultsFlag = cli.BoolFlag{
188-
Name: "protect-kernel-defaults",
189-
Usage: "(agent/node) Kernel tuning behavior. If set, error if kernel tunables are different than kubelet defaults.",
190-
Destination: &AgentConfig.ProtectKernelDefaults,
191-
}
192-
SELinuxFlag = cli.BoolFlag{
193-
Name: "selinux",
194-
Usage: "(agent/node) Enable SELinux in containerd",
195-
Destination: &AgentConfig.EnableSELinux,
196-
EnvVar: version.ProgramUpper + "_SELINUX",
194+
DockerFlag = cli.BoolFlag{
195+
Hidden: true,
196+
Name: "docker",
197+
Usage: "(deprecated) (agent/runtime) Use docker instead of containerd",
198+
Destination: &AgentConfig.Docker,
197199
}
198-
LBServerPortFlag = cli.IntFlag{
199-
Name: "lb-server-port",
200-
Usage: "(agent/node) Local port for supervisor client load-balancer. If the supervisor and apiserver are not colocated an additional port 1 less than this port will also be used for the apiserver client load-balancer.",
201-
Destination: &AgentConfig.LBServerPort,
202-
EnvVar: version.ProgramUpper + "_LB_SERVER_PORT",
203-
Value: 6444,
200+
FlannelFlag = cli.BoolFlag{
201+
Hidden: true,
202+
Name: "no-flannel",
203+
Usage: "(deprecated) use --flannel-backend=none",
204+
Destination: &AgentConfig.NoFlannel,
204205
}
205206
)
206207

@@ -253,7 +254,9 @@ func NewAgentCommand(action func(ctx *cli.Context) error) cli.Command {
253254
NodeTaints,
254255
ImageCredProvBinDirFlag,
255256
ImageCredProvConfigFlag,
256-
DockerFlag,
257+
&SELinuxFlag,
258+
LBServerPortFlag,
259+
ProtectKernelDefaultsFlag,
257260
CRIEndpointFlag,
258261
PauseImageFlag,
259262
SnapshotterFlag,
@@ -267,24 +270,23 @@ func NewAgentCommand(action func(ctx *cli.Context) error) cli.Command {
267270
FlannelCniConfFileFlag,
268271
ExtraKubeletArgs,
269272
ExtraKubeProxyArgs,
270-
ProtectKernelDefaultsFlag,
271273
cli.BoolFlag{
272274
Name: "rootless",
273275
Usage: "(experimental) Run rootless",
274276
Destination: &AgentConfig.Rootless,
275277
},
276-
&SELinuxFlag,
277-
LBServerPortFlag,
278278

279279
// Deprecated/hidden below
280280

281281
&DisableSELinuxFlag,
282+
DockerFlag,
282283
FlannelFlag,
283284
cli.StringFlag{
284285
Name: "cluster-secret",
285286
Usage: "(deprecated) use --token",
286287
Destination: &AgentConfig.ClusterSecret,
287288
EnvVar: version.ProgramUpper + "_CLUSTER_SECRET",
289+
Hidden: true,
288290
},
289291
},
290292
}

pkg/cli/cmds/certs.go

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,7 @@ var (
1414
ConfigFlag,
1515
LogFile,
1616
AlsoLogToStderr,
17-
cli.StringFlag{
18-
Name: "data-dir,d",
19-
Usage: "(data) Folder to hold state default /var/lib/rancher/" + version.Program + " or ${HOME}/.rancher/" + version.Program + " if not root",
20-
Destination: &ServerConfig.DataDir,
21-
},
17+
DataDirFlag,
2218
cli.StringSliceFlag{
2319
Name: "service,s",
2420
Usage: "List of services to rotate certificates for. Options include (admin, api-server, controller-manager, scheduler, " + version.Program + "-controller, " + version.Program + "-server, cloud-controller, etcd, auth-proxy, kubelet, kube-proxy)",

pkg/cli/cmds/log.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ var (
2828
}
2929
VModule = cli.StringFlag{
3030
Name: "vmodule",
31-
Usage: "(logging) Comma-separated list of pattern=N settings for file-filtered logging",
31+
Usage: "(logging) Comma-separated list of FILE_PATTERN=LOG_LEVEL settings for file-filtered logging",
3232
Destination: &LogConfig.VModule,
3333
}
3434
LogFile = cli.StringFlag{

pkg/cli/cmds/root.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ func NewApp() *cli.App {
3939
DebugFlag,
4040
cli.StringFlag{
4141
Name: "data-dir,d",
42-
Usage: "(data) Folder to hold state default /var/lib/rancher/" + version.Program + " or ${HOME}/.rancher/" + version.Program + " if not root",
42+
Usage: "(data) Folder to hold state (default: /var/lib/rancher/" + version.Program + " or ${HOME}/.rancher/" + version.Program + " if not root)",
4343
},
4444
}
4545

pkg/cli/cmds/server.go

Lines changed: 53 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ var ServerFlags = []cli.Flag{
218218
},
219219
cli.StringFlag{
220220
Name: "egress-selector-mode",
221-
Usage: "(networking) One of 'agent', cluster', 'pod', 'disabled'",
221+
Usage: "(networking) One of 'agent', 'cluster', 'pod', 'disabled'",
222222
Destination: &ServerConfig.EgressSelectorMode,
223223
Value: "agent",
224224
},
@@ -228,13 +228,6 @@ var ServerFlags = []cli.Flag{
228228
Destination: &ServerConfig.ServiceLBNamespace,
229229
Value: "kube-system",
230230
},
231-
ServerToken,
232-
cli.StringFlag{
233-
Name: "token-file",
234-
Usage: "(cluster) File containing the cluster-secret/token",
235-
Destination: &ServerConfig.TokenFile,
236-
EnvVar: version.ProgramUpper + "_TOKEN_FILE",
237-
},
238231
cli.StringFlag{
239232
Name: "write-kubeconfig,o",
240233
Usage: "(client) Write kubeconfig for admin client to this file",
@@ -247,10 +240,47 @@ var ServerFlags = []cli.Flag{
247240
Destination: &ServerConfig.KubeConfigMode,
248241
EnvVar: version.ProgramUpper + "_KUBECONFIG_MODE",
249242
},
243+
ServerToken,
244+
cli.StringFlag{
245+
Name: "token-file",
246+
Usage: "(cluster) File containing the cluster-secret/token",
247+
Destination: &ServerConfig.TokenFile,
248+
EnvVar: version.ProgramUpper + "_TOKEN_FILE",
249+
},
250+
cli.StringFlag{
251+
Name: "agent-token",
252+
Usage: "(cluster) Shared secret used to join agents to the cluster, but not servers",
253+
Destination: &ServerConfig.AgentToken,
254+
EnvVar: version.ProgramUpper + "_AGENT_TOKEN",
255+
},
256+
cli.StringFlag{
257+
Name: "agent-token-file",
258+
Usage: "(cluster) File containing the agent secret",
259+
Destination: &ServerConfig.AgentTokenFile,
260+
EnvVar: version.ProgramUpper + "_AGENT_TOKEN_FILE",
261+
},
262+
cli.StringFlag{
263+
Name: "server,s",
264+
Usage: "(cluster) Server to connect to, used to join a cluster",
265+
EnvVar: version.ProgramUpper + "_URL",
266+
Destination: &ServerConfig.ServerURL,
267+
},
250268
cli.BoolFlag{
251-
Name: "enable-pprof",
252-
Usage: "(experimental) Enable pprof endpoint on supervisor port",
253-
Destination: &ServerConfig.EnablePProf,
269+
Name: "cluster-init",
270+
Usage: "(cluster) Initialize a new cluster using embedded Etcd",
271+
EnvVar: version.ProgramUpper + "_CLUSTER_INIT",
272+
Destination: &ServerConfig.ClusterInit,
273+
},
274+
cli.BoolFlag{
275+
Name: "cluster-reset",
276+
Usage: "(cluster) Forget all peers and become sole member of a new cluster",
277+
EnvVar: version.ProgramUpper + "_CLUSTER_RESET",
278+
Destination: &ServerConfig.ClusterReset,
279+
},
280+
&cli.StringFlag{
281+
Name: "cluster-reset-restore-path",
282+
Usage: "(db) Path to snapshot file to be restored",
283+
Destination: &ServerConfig.ClusterResetRestorePath,
254284
},
255285
ExtraAPIArgs,
256286
ExtraEtcdArgs,
@@ -287,7 +317,7 @@ var ServerFlags = []cli.Flag{
287317
},
288318
&cli.BoolFlag{
289319
Name: "etcd-expose-metrics",
290-
Usage: "(db) Expose etcd metrics to client interface. (Default false)",
320+
Usage: "(db) Expose etcd metrics to client interface. (default: false)",
291321
Destination: &ServerConfig.EtcdExposeMetrics,
292322
},
293323
&cli.BoolFlag{
@@ -297,7 +327,7 @@ var ServerFlags = []cli.Flag{
297327
},
298328
&cli.StringFlag{
299329
Name: "etcd-snapshot-name",
300-
Usage: "(db) Set the base name of etcd snapshots. Default: etcd-snapshot-<unix-timestamp>",
330+
Usage: "(db) Set the base name of etcd snapshots (default: etcd-snapshot-<unix-timestamp>)",
301331
Destination: &ServerConfig.EtcdSnapshotName,
302332
Value: "etcd-snapshot",
303333
},
@@ -315,7 +345,7 @@ var ServerFlags = []cli.Flag{
315345
},
316346
&cli.StringFlag{
317347
Name: "etcd-snapshot-dir",
318-
Usage: "(db) Directory to save db snapshots. (Default location: ${data-dir}/db/snapshots)",
348+
Usage: "(db) Directory to save db snapshots. (default: ${data-dir}/db/snapshots)",
319349
Destination: &ServerConfig.EtcdSnapshotDir,
320350
},
321351
&cli.BoolFlag{
@@ -456,46 +486,16 @@ var ServerFlags = []cli.Flag{
456486
ExtraKubeletArgs,
457487
ExtraKubeProxyArgs,
458488
ProtectKernelDefaultsFlag,
489+
cli.BoolFlag{
490+
Name: "enable-pprof",
491+
Usage: "(experimental) Enable pprof endpoint on supervisor port",
492+
Destination: &ServerConfig.EnablePProf,
493+
},
459494
cli.BoolFlag{
460495
Name: "rootless",
461496
Usage: "(experimental) Run rootless",
462497
Destination: &ServerConfig.Rootless,
463498
},
464-
cli.StringFlag{
465-
Name: "agent-token",
466-
Usage: "(cluster) Shared secret used to join agents to the cluster, but not servers",
467-
Destination: &ServerConfig.AgentToken,
468-
EnvVar: version.ProgramUpper + "_AGENT_TOKEN",
469-
},
470-
cli.StringFlag{
471-
Name: "agent-token-file",
472-
Usage: "(cluster) File containing the agent secret",
473-
Destination: &ServerConfig.AgentTokenFile,
474-
EnvVar: version.ProgramUpper + "_AGENT_TOKEN_FILE",
475-
},
476-
cli.StringFlag{
477-
Name: "server,s",
478-
Usage: "(cluster) Server to connect to, used to join a cluster",
479-
EnvVar: version.ProgramUpper + "_URL",
480-
Destination: &ServerConfig.ServerURL,
481-
},
482-
cli.BoolFlag{
483-
Name: "cluster-init",
484-
Usage: "(cluster) Initialize a new cluster using embedded Etcd",
485-
EnvVar: version.ProgramUpper + "_CLUSTER_INIT",
486-
Destination: &ServerConfig.ClusterInit,
487-
},
488-
cli.BoolFlag{
489-
Name: "cluster-reset",
490-
Usage: "(cluster) Forget all peers and become sole member of a new cluster",
491-
EnvVar: version.ProgramUpper + "_CLUSTER_RESET",
492-
Destination: &ServerConfig.ClusterReset,
493-
},
494-
&cli.StringFlag{
495-
Name: "cluster-reset-restore-path",
496-
Usage: "(db) Path to snapshot file to be restored",
497-
Destination: &ServerConfig.ClusterResetRestorePath,
498-
},
499499
cli.BoolFlag{
500500
Name: "secrets-encryption",
501501
Usage: "(experimental) Enable Secret encryption at rest",
@@ -515,14 +515,16 @@ var ServerFlags = []cli.Flag{
515515
&DisableSELinuxFlag,
516516
FlannelFlag,
517517
cli.StringSliceFlag{
518-
Name: "no-deploy",
519-
Usage: "(deprecated) Do not deploy packaged components (valid items: " + DisableItems + ")",
518+
Name: "no-deploy",
519+
Usage: "(deprecated) Do not deploy packaged components (valid items: " + DisableItems + ")",
520+
Hidden: true,
520521
},
521522
cli.StringFlag{
522523
Name: "cluster-secret",
523524
Usage: "(deprecated) use --token",
524525
Destination: &ServerConfig.ClusterSecret,
525526
EnvVar: version.ProgramUpper + "_CLUSTER_SECRET",
527+
Hidden: true,
526528
},
527529
cli.BoolFlag{
528530
Name: "disable-agent",

pkg/cli/server/server.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ func run(app *cli.Context, cfg *cmds.Server, leaderControllers server.CustomCont
8888
}
8989

9090
if cfg.Token == "" && cfg.ClusterSecret != "" {
91+
logrus.Warn("cluster-secret is deprecated, it will be removed in v1.25. Use --token instead.")
9192
cfg.Token = cfg.ClusterSecret
9293
}
9394

@@ -348,6 +349,7 @@ func run(app *cli.Context, cfg *cmds.Server, leaderControllers server.CustomCont
348349

349350
serverConfig.ControlConfig.Skips = map[string]bool{}
350351
for _, noDeploy := range app.StringSlice("no-deploy") {
352+
logrus.Warn("no-deploy flag is deprecated, it will be removed in v1.25. Use --skip-deploy instead.")
351353
for _, v := range strings.Split(noDeploy, ",") {
352354
v = strings.TrimSpace(v)
353355
serverConfig.ControlConfig.Skips[v] = true

0 commit comments

Comments
 (0)