adds a new command line for tunnel run for token file
This commit is contained in:
parent
9f0f22c036
commit
560911bcc8
|
@ -35,6 +35,7 @@ const (
|
||||||
CredFileFlag = "credentials-file"
|
CredFileFlag = "credentials-file"
|
||||||
CredContentsFlag = "credentials-contents"
|
CredContentsFlag = "credentials-contents"
|
||||||
TunnelTokenFlag = "token"
|
TunnelTokenFlag = "token"
|
||||||
|
TunnelTokenFileFlag = "token-file"
|
||||||
overwriteDNSFlagName = "overwrite-dns"
|
overwriteDNSFlagName = "overwrite-dns"
|
||||||
|
|
||||||
LogFieldTunnelID = "tunnelID"
|
LogFieldTunnelID = "tunnelID"
|
||||||
|
@ -113,9 +114,14 @@ var (
|
||||||
})
|
})
|
||||||
tunnelTokenFlag = altsrc.NewStringFlag(&cli.StringFlag{
|
tunnelTokenFlag = altsrc.NewStringFlag(&cli.StringFlag{
|
||||||
Name: TunnelTokenFlag,
|
Name: TunnelTokenFlag,
|
||||||
Usage: "The Tunnel token. When provided along with credentials, this will take precedence.",
|
Usage: "The Tunnel token. When provided along with credentials, this will take precedence. Also takes precedence over token-file",
|
||||||
EnvVars: []string{"TUNNEL_TOKEN"},
|
EnvVars: []string{"TUNNEL_TOKEN"},
|
||||||
})
|
})
|
||||||
|
tunnelTokenFileFlag = altsrc.NewStringFlag(&cli.StringFlag{
|
||||||
|
Name: TunnelTokenFileFlag,
|
||||||
|
Usage: "Filepath at which to read the tunnel token. When provided along with credentials, this will take precedence.",
|
||||||
|
EnvVars: []string{"TUNNEL_TOKEN_FILE"},
|
||||||
|
})
|
||||||
forceDeleteFlag = &cli.BoolFlag{
|
forceDeleteFlag = &cli.BoolFlag{
|
||||||
Name: "force",
|
Name: "force",
|
||||||
Aliases: []string{"f"},
|
Aliases: []string{"f"},
|
||||||
|
@ -613,6 +619,7 @@ func buildRunCommand() *cli.Command {
|
||||||
selectProtocolFlag,
|
selectProtocolFlag,
|
||||||
featuresFlag,
|
featuresFlag,
|
||||||
tunnelTokenFlag,
|
tunnelTokenFlag,
|
||||||
|
tunnelTokenFileFlag,
|
||||||
icmpv4SrcFlag,
|
icmpv4SrcFlag,
|
||||||
icmpv6SrcFlag,
|
icmpv6SrcFlag,
|
||||||
}
|
}
|
||||||
|
@ -652,12 +659,25 @@ func runCommand(c *cli.Context) error {
|
||||||
"your origin will not be reachable. You should remove the `hostname` property to avoid this warning.")
|
"your origin will not be reachable. You should remove the `hostname` property to avoid this warning.")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tokenStr := c.String(TunnelTokenFlag)
|
||||||
|
// Check if tokenStr is blank before checking for tokenFile
|
||||||
|
if tokenStr == "" {
|
||||||
|
if tokenFile := c.String(TunnelTokenFileFlag); tokenFile != "" {
|
||||||
|
data, err := os.ReadFile(tokenFile)
|
||||||
|
if err != nil {
|
||||||
|
return cliutil.UsageError("Failed to read token file: " + err.Error())
|
||||||
|
}
|
||||||
|
tokenStr = strings.TrimSpace(string(data))
|
||||||
|
if _, err := ParseToken(tokenStr); err != nil {
|
||||||
|
return cliutil.UsageError("Failed to parse token file: " + err.Error())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
// Check if token is provided and if not use default tunnelID flag method
|
// Check if token is provided and if not use default tunnelID flag method
|
||||||
if tokenStr := c.String(TunnelTokenFlag); tokenStr != "" {
|
if tokenStr != "" {
|
||||||
if token, err := ParseToken(tokenStr); err == nil {
|
if token, err := ParseToken(tokenStr); err == nil {
|
||||||
return sc.runWithCredentials(token.Credentials())
|
return sc.runWithCredentials(token.Credentials())
|
||||||
}
|
}
|
||||||
|
|
||||||
return cliutil.UsageError("Provided Tunnel token is not valid.")
|
return cliutil.UsageError("Provided Tunnel token is not valid.")
|
||||||
} else {
|
} else {
|
||||||
tunnelRef := c.Args().First()
|
tunnelRef := c.Args().First()
|
||||||
|
|
Loading…
Reference in New Issue