add `-show-url` option for `ui` command (#11213)
This commit is contained in:
parent
ca021d7c9d
commit
6ff0b6debc
|
@ -0,0 +1,3 @@
|
||||||
|
```release-note:improvement
|
||||||
|
cli: Add `-show-url` option for the `nomad ui` command.
|
||||||
|
```
|
|
@ -35,6 +35,8 @@ UI Options
|
||||||
|
|
||||||
-authenticate: Exchange your Nomad ACL token for a one-time token in the
|
-authenticate: Exchange your Nomad ACL token for a one-time token in the
|
||||||
web UI, if ACLs are enabled.
|
web UI, if ACLs are enabled.
|
||||||
|
|
||||||
|
-show-url: Show the Nomad UI URL instead of opening with the default browser.
|
||||||
`
|
`
|
||||||
|
|
||||||
return strings.TrimSpace(helpText)
|
return strings.TrimSpace(helpText)
|
||||||
|
@ -82,10 +84,12 @@ func (c *UiCommand) Name() string { return "ui" }
|
||||||
|
|
||||||
func (c *UiCommand) Run(args []string) int {
|
func (c *UiCommand) Run(args []string) int {
|
||||||
var authenticate bool
|
var authenticate bool
|
||||||
|
var showUrl bool
|
||||||
|
|
||||||
flags := c.Meta.FlagSet(c.Name(), FlagSetClient)
|
flags := c.Meta.FlagSet(c.Name(), FlagSetClient)
|
||||||
flags.Usage = func() { c.Ui.Output(c.Help()) }
|
flags.Usage = func() { c.Ui.Output(c.Help()) }
|
||||||
flags.BoolVar(&authenticate, "authenticate", false, "")
|
flags.BoolVar(&authenticate, "authenticate", false, "")
|
||||||
|
flags.BoolVar(&showUrl, "show-url", false, "")
|
||||||
|
|
||||||
if err := flags.Parse(args); err != nil {
|
if err := flags.Parse(args); err != nil {
|
||||||
return 1
|
return 1
|
||||||
|
@ -178,17 +182,24 @@ func (c *UiCommand) Run(args []string) int {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var output string
|
||||||
if authenticate && ottSecret != "" {
|
if authenticate && ottSecret != "" {
|
||||||
c.Ui.Output(fmt.Sprintf("Opening URL %q with one-time token", url.String()))
|
output = fmt.Sprintf("Opening URL %q with one-time token", url.String())
|
||||||
url.RawQuery = fmt.Sprintf("ott=%s", ottSecret)
|
url.RawQuery = fmt.Sprintf("ott=%s", ottSecret)
|
||||||
} else {
|
} else {
|
||||||
c.Ui.Output(fmt.Sprintf("Opening URL %q", url.String()))
|
output = fmt.Sprintf("Opening URL %q", url.String())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if showUrl {
|
||||||
|
c.Ui.Output(fmt.Sprintf("URL for web UI: %s", url.String()))
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
c.Ui.Output(output)
|
||||||
if err := open.Start(url.String()); err != nil {
|
if err := open.Start(url.String()); err != nil {
|
||||||
c.Ui.Error(fmt.Sprintf("Error opening URL: %s", err))
|
c.Ui.Error(fmt.Sprintf("Error opening URL: %s", err))
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -36,6 +36,8 @@ storage for authentication.
|
||||||
- `-authenticate`: Exchange your Nomad ACL token for a one-time token in the
|
- `-authenticate`: Exchange your Nomad ACL token for a one-time token in the
|
||||||
web UI.
|
web UI.
|
||||||
|
|
||||||
|
- `-show-url`: Show the Nomad UI URL instead of opening with the default browser.
|
||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
|
|
||||||
Open the UI homepage:
|
Open the UI homepage:
|
||||||
|
@ -65,3 +67,10 @@ Open the UI and authenticate using your ACL token:
|
||||||
$ NOMAD_ACL_TOKEN=e9674b26-763b-4637-a28f-0df95c53cdda nomad ui -authenticate
|
$ NOMAD_ACL_TOKEN=e9674b26-763b-4637-a28f-0df95c53cdda nomad ui -authenticate
|
||||||
Opening URL "http://127.0.0.1:4646" with token
|
Opening URL "http://127.0.0.1:4646" with token
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Show the UI URL without opening the browser:
|
||||||
|
|
||||||
|
```shell-session
|
||||||
|
$ nomad ui -show-url
|
||||||
|
URL for web UI: http://127.0.0.1:4646
|
||||||
|
```
|
||||||
|
|
Loading…
Reference in New Issue