mirror of
https://github.com/balena-io/balena-cli.git
synced 2025-04-13 06:02:57 +00:00
ssh: add --noninteractive
flag not to suggest devices to connect to
The suggestion happens if the UUID supplied is not found. Because of that function, it's impossible to do an atomic connect to a device in non-interactive mode. The auto-suggestion results connecting to the first available device, which is likely not the intended action. The current workaround is running a `balena device UUID` and check its exit code before running `balena ssh UUID`, but since these are independent steps, still can connect to another device, if between the two commands anything changes. With this flag used, one could never connect accidentally to the wrong device due to suggestions. Change-type: minor Signed-off-by: Gergely Imreh <gergely@balena.io>
This commit is contained in:
parent
bf566b7bb7
commit
b4439b7d78
@ -975,6 +975,7 @@ Examples:
|
||||
$ balena ssh 7cf02a6 --port 8080
|
||||
$ balena ssh 7cf02a6 -v
|
||||
$ balena ssh 7cf02a6 -s
|
||||
$ balena ssh 7cf02a6 --noninteractive
|
||||
|
||||
### Options
|
||||
|
||||
@ -994,6 +995,10 @@ access host OS (for devices with balenaOS >= 2.0.0+rev1)
|
||||
|
||||
don't use the proxy configuration for this connection. Only makes sense if you've configured proxy globally.
|
||||
|
||||
#### --noninteractive
|
||||
|
||||
run command non-interactively, do not automatically suggest devices to connect to if UUID not found
|
||||
|
||||
# Notes
|
||||
|
||||
## note <|note>
|
||||
|
@ -35,6 +35,7 @@ module.exports =
|
||||
$ balena ssh 7cf02a6 --port 8080
|
||||
$ balena ssh 7cf02a6 -v
|
||||
$ balena ssh 7cf02a6 -s
|
||||
$ balena ssh 7cf02a6 --noninteractive
|
||||
'''
|
||||
permission: 'user'
|
||||
primary: true
|
||||
@ -53,6 +54,10 @@ module.exports =
|
||||
boolean: true
|
||||
description: "don't use the proxy configuration for this connection.
|
||||
Only makes sense if you've configured proxy globally."
|
||||
,
|
||||
signature: 'noninteractive'
|
||||
boolean: true
|
||||
description: 'run command non-interactively, do not automatically suggest devices to connect to if UUID not found'
|
||||
]
|
||||
action: (params, options, done) ->
|
||||
normalizeUuidProp(params)
|
||||
@ -103,6 +108,9 @@ module.exports =
|
||||
return balena.models.device.has(params.uuid)
|
||||
.then (uuidExists) ->
|
||||
return params.uuid if uuidExists
|
||||
if options.noninteractive
|
||||
console.error("Could not find device: #{params.uuid}")
|
||||
process.exit(1)
|
||||
return patterns.inferOrSelectDevice()
|
||||
.then (uuid) ->
|
||||
console.info("Connecting to: #{uuid}")
|
||||
|
Loading…
x
Reference in New Issue
Block a user