Commit Graph

1320 Commits

Author SHA1 Message Date
Paulo Castro
a74f0413df Handle ssh process exit codes
Change-type: patch
2020-03-31 14:27:30 +01:00
Pagan Gazzard
1a71bad8bb Convert lib/actions/local/common.coffee to javascript
Change-type: patch
2020-03-31 11:57:47 +01:00
Paulo Castro
30738d93b0 Fix "the input device is not a TTY" when piping to 'balena ssh' (local device)
Change-type: patch
2020-03-30 14:45:16 +01:00
Paulo Castro
be76b8adbd Fix 'balena ssh' on MSYS Windows shell ("unexpected end of file")
Resolves: #1681
Change-type: patch
2020-03-30 14:45:16 +01:00
Paulo Castro
d6a065a230 Delete unused code (ssh.coffee)
Change-type: patch
2020-03-30 14:45:15 +01:00
Scott Lowe
fcad35402a Convert command note to oclif
Add oclif support for piped input

Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-03-30 14:47:43 +02:00
Scott Lowe
49b00e18ae Convert command settings to oclif
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-03-30 14:47:43 +02:00
Scott Lowe
e5d2661c96 Clarify balena device os-update help re balenaCloud
Change-type: patch
Resolves: #1679
Signed-off-by: Scott Lowe <scott@balena.io>
2020-03-26 13:59:12 +01:00
Pagan Gazzard
b3b22d6399 Use balena-lint for javascript linting and add javascript type-checking
Change-type: patch
2020-03-25 12:12:03 +00:00
Pagan Gazzard
47e85da789 Deduplicate balenaUrl fetching in events
Change-type: patch
2020-03-24 17:35:44 +00:00
Scott Lowe
8658104647 Add support for authentication checking to oclif
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-03-24 10:19:18 +01:00
Scott Lowe
f24c4a036c Add support for root property on oclif commands
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-03-19 19:50:17 +01:00
Scott Lowe
46b695cf22 Add support for primary/secondary oclif commands
Change-type: minor
Signed-off-by: Scott Lowe <scott@balena.io>
2020-03-19 15:45:04 +01:00
Pagan Gazzard
809a5fae25 Switch to native number check
Change-type: patch
2020-03-13 16:15:07 +00:00
Pagan Gazzard
eccb1bd9ad Switch to native string check
Change-type: patch
2020-03-13 16:13:21 +00:00
Pagan Gazzard
f859d5025a Switch to native Array.isArray instead of aliases
Change-type: patch
2020-03-13 16:09:43 +00:00
Pagan Gazzard
2860535c45 Fix balena local flash
Change-type: patch
2020-03-12 21:34:40 +00:00
Pagan Gazzard
09a59ab03f Remove dependency on inquirer-dynamic-list 2020-03-12 18:03:10 +00:00
Pagan Gazzard
3d2e109e7f Update dependencies
Update balena-sdk from 12.26.7 to 12.29.1

Change-type: minor
2020-03-12 18:03:10 +00:00
Paulo Castro
5a80654305 Avoid Sentry reporting of selected common "expected" errors
Change-type: patch
2020-03-09 12:51:56 +00:00
Paulo Castro
d2df2c7b60 Fix occasional "CLI prints 'null' and exits" (replace old Raven/Sentry SDK)
Resolves: #1523
Connects-to: #1333
Connects-to: #1193
Change-type: patch
2020-03-09 12:51:56 +00:00
Paulo Castro
36d3d1256e Don't send the full command line to Sentry.io
Resolves: #703
Change-type: patch
2020-03-09 12:51:56 +00:00
Paulo Castro
b77cb56cd0 Fix occasionally missed command tracking request (oclif commands)
Change-type: patch
2020-03-09 12:51:56 +00:00
Cameron Diver
b83431c2e0 Improve the UX by only printing effective file changes in livepush
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2020-03-06 15:17:02 +00:00
Paulo Castro
ca8272b477 Fix build --emulated on Linux ("exec format error")
Resolves: #1649
Change-type: patch
2020-03-06 01:51:36 +00:00
Paulo Castro
9470e804c0 Don't ignore BALENARC_NO_PROXY env var if HTTP(S)_PROXY env vars are defined
Change-type: patch
2020-03-02 15:11:02 +00:00
Pagan Gazzard
00943463a4 Use types for global-agent and global-tunnel-ng
Change-type: patch
2020-03-02 15:10:58 +00:00
Pagan Gazzard
3f6d770233 Remove lodash usage in proxy setup
Change-type: patch
2020-03-02 15:05:15 +00:00
Pagan Gazzard
c4a6086e9c Don't try to setup a proxy agent when there's no proxy configured
Change-type: patch
2020-03-02 15:04:52 +00:00
Pagan Gazzard
fe4e1d09d7 Update dependencies
Update balena-sdk from 12.21.1 to 12.26.7

Change-type: patch
2020-03-02 11:20:20 +00:00
Pagan Gazzard
235c13bea9 Switch to object spreading in favor of _.assign
Change-type: patch
2020-02-29 22:08:10 +00:00
Pagan Gazzard
98152c0b09 Lazy-load chalk
Change-type: patch
2020-02-28 18:34:54 +00:00
Pagan Gazzard
7c62e34455 Simplify lazy-loading of resin-cli-visuals with a shared function
This also avoids current unnecessary requiring of resin-cli-visuals
for every command

Change-type: patch
2020-02-28 15:29:07 +00:00
Pagan Gazzard
48b281d7c6 Make use of capitano's promise support to simplify the code
Change-type: patch
2020-02-28 13:27:07 +00:00
Pagan Gazzard
eac6bb5e5c Simplify lazy-loading of balena-sdk by utilizing a shared function
This also avoids instantiating multiple balena-sdk

Change-type: patch
2020-02-27 17:17:36 +00:00
Paulo Castro
cdfd1d124b Fix build/deploy commands with QEMU emulation and alternative Dockerfile name
Resolves: #1624
Change-type: patch
2020-02-25 16:42:12 -03:00
Pagan Gazzard
4abdd71ce7 Update type deps
Change-type: patch
2020-02-24 14:15:48 +00:00
Cameron Diver
95c93d24da
Update resin-multibuild and add app and release template vars
Change-type: minor
Signed-off-by: Cameron Diver <cameron@balena.io>
2020-02-18 10:21:12 +07:00
Paulo Castro
671dca8287 Add project directory validation for balena push / build / deploy commands
Change-type: minor
2020-02-17 15:19:07 +00:00
Paulo Castro
a15060e9fc Refactor 'balena push' error handling
Change-type: patch
2020-02-17 15:19:07 +00:00
Paulo Castro
a1c406a479 Add '--cache-from' option to balena build and deploy commands
It implements the same feature as the "docker build --cache-from" option.

Resolves: #1616
Change-type: minor
2020-02-13 18:43:15 +00:00
Paulo Castro
88a1e413a3 Fix balena push "Segmentation fault" on Windows (replace 'mmmagic' with 'isBinaryFile')
Connects-to: #1611
Change-type: patch
2020-02-13 15:51:45 +00:00
Pagan Gazzard
f9ece2ce7d Convert lib/actions/auth to typescript
Change-type: patch
2020-02-12 14:26:32 +00:00
Pagan Gazzard
2b04763ac0 Convert lib/auth/index to typescript
Change-type: patch
2020-02-12 13:20:36 +00:00
Pagan Gazzard
93ba5832d8 Convert lib/auth/server to typescript
Change-type: patch
2020-02-12 12:10:12 +00:00
Pagan Gazzard
a4b34c109d Convert lib/actions/keys to typescript
Change-type: patch
2020-02-10 22:22:06 +00:00
Pagan Gazzard
f1220c6377 Convert lib/actions/notes to typescript
Change-type: patch
2020-02-10 18:31:40 +00:00
Pagan Gazzard
99f84c2f6a Convert lib/actions/app to typescript
Change-type: patch
2020-02-10 15:02:00 +00:00
Pagan Gazzard
4de41ce3e0 Convert lib/auth/utils to typescript
Change-type: patch
2020-02-10 13:42:50 +00:00
Paulo Castro
be209f1626 Fix Windows standalone zip installer (missing mmmagic db for CRLF conversion)
Change-type: patch
2020-02-07 18:19:10 +00:00
Pagan Gazzard
3f84045127 Switch from opn to its new name of open
Change-type: patch
2020-02-06 19:55:22 +00:00
Pagan Gazzard
f4525bc11e Add debug instructions for powershell
Change-type: patch
2020-02-06 18:24:53 +00:00
Paulo Castro
4502f2a203 Avoid loading 'mmmagic' on Linux (fix "could not load any valid magic files")
Resolves: #1596
Change-type: patch
2020-02-05 23:59:11 +00:00
Thomas Manning
b3948d538c Debug mode can now be disabled with DEBUG=0 env var
Added assignment to `process.env.DEBUG` if `process.env.DEBUG` is negative string to `lib/app.ts` and `automation/run.ts` entrypoints

Resolves: #1502
Change-type: patch
Signed-off-by: Thomas Manning <thomasm@balena.io>
2020-02-05 11:17:12 +09:00
Pagan Gazzard
27e1f3f7d7 Remove unnecessary code now that typescript understands process.exit
Change-type: patch
2020-02-03 13:06:23 +00:00
Paulo Castro
f9743b269a Add more tests for push/build/deploy commands (--convert-eol)
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2020-02-02 20:16:57 +00:00
Scott Lowe
58e7880f1d Add support for auto-conversion of CRLF line endings.
Applies to commands:
 balena push
 balena build
 balena deploy --build

Change-type: minor
Resolves: #1273
Signed-off-by: Scott Lowe <scott@balena.io>
2020-01-31 16:27:22 +01:00
Scott Lowe
041823189f Add support for deferred log messages.
eg. so that info can be output at the end of the process.

Change-type: patch
Connects-to: #1273
Signed-off-by: Scott Lowe <scott@balena.io>
2020-01-31 11:26:54 +01:00
Paulo Castro
1e37c97ffb Fix proxy support and add proxy exclusion feature (Node.js >= 10.16.0 only)
See README for more details on proxy configuration and Node.js compatibility.

Resolves: #1579
Resolves: #1335
Connects-to: #1580
Change-type: minor
Signed-off-by: Paulo Castro <paulo@balena.io>
2020-01-27 12:11:11 +00:00
Pagan Gazzard
77931b314a Update dependencies
Change-type: minor
2020-01-24 23:28:15 +00:00
Rich Bayliss
8f6902f4cb
configure: Allow passing system-connection files to 'os configure' command
Allow passing files to `os configure` via `--system-connection` to allow
pre-configuration of network connections, such as cellular/GSM.

Change-type: minor
Connects-to: #957
Connects-to: #1162
Connects-to: #1498
Signed-off-by: Rich Bayliss <rich@balena.io>
2020-01-21 21:05:23 +00:00
Paulo Castro
b978230f9e Update resin-lint and prettier, and re-prettify
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2020-01-20 22:46:32 +00:00
Scott Lowe
95b5ac1c7f Prevent file ignorer from ignoring Dockerfile (and variants), docker-compose.yml
Change-type: patch
Resolves: #1445
Signed-off-by: Scott Lowe <scott@balena.io>
2020-01-20 11:59:04 +01:00
Graham McCulloch
aca794b267 Add Windows-specific hint to 'balena scan' output
An extra Windows-specific message is now appended to the 'Could not find any balenaOS devices' message - if the OS is Windows.

Also updated the INSTALL instructions with details of the dependency on Bonjour.

Change-type: patch
Signed-off-by: Graham McCulloch <graham@balena.io>
2020-01-20 07:21:04 +07:00
Thodoris Greasidis
ef4ee54a00 Change the balena app action to present the slug instead of the git_repository
The `git_repository` field was replaced in the v5
endpoint with the `slug` field. As a result the CLI atm
never shows the `git_repository` in the printed
visual.


Change-type: patch
2020-01-15 01:53:48 +02:00
Paulo Castro
95561864a6 Fix 'balena join' when the user is not logged in
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2020-01-14 19:34:53 +00:00
Paulo Castro
51adfeaa3b Fix join and leave commands on Windows (hanging on stdin and argument escaping)
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2020-01-14 19:34:53 +00:00
Paulo Castro
95843dd816 Fix 'balena push' hanging on Windows (CTRL-C was required after the unicorn)
Resolves: #1182
Resolves: #1554
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2020-01-14 16:19:09 +00:00
Paulo Castro
edd755d41c Add hint about the 'jq' utility in the documentation of the --json option
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2020-01-14 16:19:09 +00:00
Matthew McGinn
046743071d meta: Americanize all spellings
Connects-to: https://github.com/balena-io/docs/issues/1300
Change-type: patch
Signed-off-by: Matthew McGinn <matthew@balena.io>
2020-01-03 13:42:34 -05:00
Paulo Castro
323c9191b6 Add --verbose and --json options to the 'devices supported' command
The command was also converted to oclif.

Resolves: #467
Change-type: minor
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-12-27 11:54:27 +00:00
Scott Lowe
33552724a1 Fix issues with devices associated with inaccessible applications.
Change-type: patch
Resolves: #1530
Signed-off-by: Scott Lowe <scott@balena.io>
2019-12-13 09:33:59 +01:00
Paulo Castro
7fd436cd91 Add multicontainer (microservices) support for 'balena env rename'
Change-type: minor
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-12-12 13:39:26 +00:00
Paulo Castro
7c1faa6de0 Add multicontainer (microservices) support for 'balena env rm'
Change-type: minor
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-12-12 13:39:26 +00:00
Paulo Castro
90e184ea1f Add multicontainer (microservices) support for 'balena env add'
Change-type: minor
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-12-11 17:50:08 +00:00
Paulo Castro
38920a1c59 Add multicontainer (microservices) support for 'balena envs'
Connects-to: #1153
Change-type: minor
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-12-11 17:50:08 +00:00
Paulo Castro
df58ac7673 Add balena envs '-j' option to produce JSON output
Change-type: minor
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-12-06 15:51:09 +00:00
Paulo Castro
630d53311a Add logged-in check for balena 'env' commands
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-12-06 15:51:09 +00:00
Scott Lowe
53325b7c05 Introduce workaround that fixes windows dns issue on balena push using .local device names.
Improve error handling in deployToDevice so that versionErrors don't mask other errors.

Resolves:#1518
Change-type:patch
Signed-off-by:Scott Lowe <scott@balena.io>
2019-12-06 15:32:08 +01:00
Paulo Castro
02dcff5b67 Fix 'balena help join' docs re moving devices between apps on the same server
Resolves: #1429
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-11-21 15:31:45 +00:00
Scott Lowe
cf42dca777 Hide discontinued device types in balena app create.
Add basic tests for `balena app create`

Connects-to: #1485
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2019-11-15 12:01:56 +01:00
Scott Lowe
afd97bd304 Hide discontinued device types in balena devices supported.
Add tests for action.
Convert action to TypeScript.

Connects-to: #1485
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2019-11-15 12:01:55 +01:00
Paulo Castro
d94a74dfee Fix 'os configure --config', and migrate it to oclif + TypeScript
Also add more non-interactive configuration options:
--config-network, --config-wifi-*, --config-app-update-poll-interval

Change-type: minor
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-11-12 21:09:18 +00:00
Paulo Castro
a25a52c21b Error handling: add ExpectedError type as alternative to exitWithExpectedError()
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-11-12 19:36:43 +00:00
Paulo Castro
b69ba0b617 Improve command usage format consistency in 'balena help' output
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-11-10 00:54:22 +00:00
Paulo Castro
74a521a271 Set the process exit code to 1 (instead of 0) for unknown commands
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-11-10 00:54:22 +00:00
Paulo Castro
6376ac28d5 Fix logged-in check in "logs" and "ssh" commands (async/await usage)
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-11-10 00:54:22 +00:00
Paulo Castro
2222a90884 Enable debug-mode "long stack traces" for Bluebird promises (async code)
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-11-10 00:54:22 +00:00
Paulo Castro
636ecaf4e0 Improve help and docs (CLI install dependencies) for the preload command
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-11-09 14:04:50 +00:00
Cameron Diver
b31e253fa4
Support optional containers when pushing to local target
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2019-11-06 10:30:28 +00:00
Cameron Diver
62b7d2fd1a
Use all available on-device images during local push
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2019-11-04 10:27:35 +00:00
Scott Lowe
4a967b126b Fix warnings when executing CLI without arguments.
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2019-11-01 16:21:36 +01:00
Cameron Diver
55b2b5a467
Fix potentialy undefined build task when livepushing
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2019-10-28 17:50:02 +00:00
Cameron Diver
8ed4f547e0
Update livepush to support build arguments
Change-type: minor
Signed-off-by: Cameron Diver <cameron@balena.io>
2019-10-22 13:24:00 +01:00
Thodoris Greasidis
96bc8a829e Fix missing code formatting
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2019-10-16 15:47:05 +03:00
Thodoris Greasidis
1b943bdf7d Support managing tags using release commit hashes
The sdk version in the shrinkwrap already
supports setting tags by commit hashes and as a
result this already works in the cli as of v11.9.6.
This PR just adds some docs and some extra
handling when the commit param prefix is all
numeric.

Resolves: #1064
Change-type: minor
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2019-10-16 09:12:17 +03:00
Paulo Castro
02b888f7c1 Fix privilege elevation for standalone zip package on Windows (windosu)
* Add pkgExec internal command
* Patch windosu to be aware of process.pkg and use pkgExec

Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-10-15 21:47:26 +01:00
Paulo Castro
69c97fed09 Remove 'internal sudo' command
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-10-15 21:47:26 +01:00
Paulo Castro
05cb89725e Fix privilege elevation (sudo) for 'os initialize', 'join', 'leave'
* sudo shell arguments required escaping for 'os initialize'
* sudo was not working for standalone zip packages (incorrect
  Node.js path in argv[0])
* Interactive 'join' and 'leave' not working on Windows because
  'windosu' does not capture stderr.

Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-10-15 21:47:26 +01:00
Cameron Diver
0c5ed7adfb
Support container contracts when pushing to local devices
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2019-10-14 17:18:56 +01:00