Commit Graph

169 Commits

Author SHA1 Message Date
Thodoris Greasidis
58b29bf4bb Stop creating an extra provisioning API key in each config generation
Change-type: patch
Changelog-entry: Avoid creating an extra provisioning API key in os configure & config generate
See: https://github.com/balena-io/balena-cli/pull/2294#discussion_r756499196
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2021-11-25 16:40:53 +02:00
Paulo Castro
d64b6deb81 push/build: Add test cases for .dockerignore filtering corner cases
Change-type: patch
2021-11-22 01:50:27 +00:00
Paul Jonathan Zoulin
a18e182ae4 Add support for releases
Signed-off-by: Paul Jonathan <pj@balena.io>
Change-type: minor
2021-09-28 14:28:43 +00:00
toochevere
ffccbfba12 build, deploy: Add support for multiarch base images
Bump version of balena-multibuild to the one that supports multiarch
Remove previous hack to avoid sending platform information to multibuild

Change-type: minor
Signed-off-by: Paul Jonathan <pj@balena.io>
See: https://github.com/balena-io/balena-cli/issues/1508
2021-09-23 16:37:45 +00:00
Paulo Castro
305c9045f0 build, deploy: Fix processing of '--tag' option
Change-type: patch
Resolves: #825
Resolves: #1018
2021-09-10 23:11:20 +01:00
Paulo Castro
d6faf060e6 v13 preparations: Add feature switch for removal of '--gitignore' (push, build)
Change-type: patch
2021-09-08 18:10:22 +01:00
Paulo Castro
352fd197b7 v13 preparations: Adjust test cases for 'balena envs'
Change-type: patch
2021-09-08 17:48:16 +01:00
Paulo Castro
afb6f938b7 v13 preparations: Adjust test cases for 'balena devices'
Change-type: patch
2021-09-08 17:47:40 +01:00
Thodoris Greasidis
24fe6666e4 balena deploy: Retrieve the cpu arch as part of the device type resource
Connects-to: #2318
Change-type: patch
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2021-08-30 22:30:16 +00:00
Paulo Castro
d0cdc900a2 Add contract contents at release creation time
Change-type: patch
2021-08-26 16:11:23 +01:00
toochevere
7d568a928b Add balena.yml handling and --draft to balena deploy release creation
This change allows use of a contract and release semver when doing a push,
and is part of the larger feature to use the builder as part of a CI/CD pipeline.

Change-type: minor
Signed-off-by: Paul Jonathan <pj@balena.io>
2021-08-25 17:01:17 +00:00
Paulo Castro
c2d3eee7cc Add deprecation policy checker and --unsupported global flag
Change-type: minor
2021-08-19 23:17:31 +01:00
Felipe Lalanne
254ef1c8cf Add --draft option to balena push
This change will allow to build releases as draft and have them being
set as final at a later stage. This change is part of a larger feature towards
using the builder as part of CI/CD pipelines.

Depends-on: https://github.com/balena-io/balena-builder/pull/868
Change-type: minor
2021-08-15 16:43:01 +00:00
Paulo Castro
64a44e7a5f Rename applications to fleets (stage 1). See: https://git.io/JRuZr
- Add fleet(s) commands and -f, --fleet flags as aliases to the app(s)
  commands and -a, --app, --application flags.
- Conditionally rename column/row headers and JSON object properties
  from 'application' to 'fleet', with some variations.
- Print warning messages regarding the renaming, provided that stderr
  is attached to an interactive terminal.

Change-type: minor
Resolves: #2302
2021-08-09 12:12:03 +01:00
Paulo Castro
f914fa2d8a chore: Remove 'umount' dependency (as advised by "npm audit")
Address security advisory https://www.npmjs.com/advisories/1512

Change-type: patch
2021-07-21 23:56:57 +01:00
Paulo Castro
3a871a0003 chore: Update balena-lint
Change-type: patch
2021-07-20 18:02:16 +01:00
Paulo Castro
36f4c1312b config write: Fix parsing of 'key' argument with numeric components
Change-type: patch
2021-07-09 17:29:21 +01:00
Paulo Castro
a254e46118 devices supported: Use new DeviceType data model as source of truth
Change-type: patch
2021-05-16 22:48:22 +00:00
Marios Balamatsias
ac96616e4e osConfigure/localFlash: Add support for Node.js v14
* Replace old resin-image-fs with newer balena-image-fs
* package.json: Remove resin-image-fs package
* package: Install dependencies that work with node14
* Remove resin-image-fs typings
* Fix etcher-sdk related types
* local/flash: Add unmountOnSuccess, write, direct properties on flash
	Taken from https://github.com/balena-io-modules/etcher-sdk/blob/master/examples/multi-destination.ts
* tests/utils/eol-conversion: Remove ext2fs sample binary
	Specifically ext2fs/build/Release/bindings.node
	I removed it because the file doesn't exist
* tests/test-data/pkg: Add new expected warnings darwin/linux/windows
* os/configure: Remove windows check
* local/flash: Check if environment is WSL and show warning message
* Get tests to pass with certain Node v14 warning messages
* INSTALL-WINDOWS: Remove os configure warning

Improve push and logs support for Node.js v14 (bump 'net-keepalive')

Resolves: #2200
Resolves: #1990
Change-type: minor
Signed-off-by: Marios Balamatsias <mbalamatsias@gmail.com>
2021-03-31 01:15:47 +03:00
Paulo Castro
bcea5193a1 build, deploy: Fix error handling when QEMU download fails
Change-type: patch
2021-03-06 16:10:33 +00:00
Scott Lowe
e6b85c9cf8 Modify push to pass app slug to builder
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2021-02-04 10:41:00 +01:00
Scott Lowe
27e2b03702 Update push command for organizations
Change-type: patch
Connects-to: #2119
Signed-off-by: Scott Lowe <scott@balena.io>
2020-12-23 16:03:52 +01:00
Scott Lowe
9d2884aab7 Update commands ssh, tunnel to support orgs
Change-type: patch
Connects-to: #2119
Signed-off-by: Scott Lowe <scott@balena.io>
2020-12-17 13:01:53 +01:00
Scott Lowe
c898747468 Update various commands to support organizations
Change-type: minor
Connects-to: #2119
Signed-off-by: Scott Lowe <scott@balena.io>
2020-12-15 16:06:25 +01:00
Paulo Castro
511d0dbe26
Make balena-cli build on refreshed on-prem workers
* Fix 'balena ssh' test cases when using the Windows built-in ssh tool
* Fix Windows installer build in new balena CI workers (qqjs patch)
* Remove hardcoded path

Change-type: patch
2020-12-10 12:30:25 -08:00
Paulo Castro
54731c2d20 Livepush, logs: Automatically reconnect on 'Connection to device lost'
Change-type: minor
2020-12-09 20:43:14 +00:00
Scott Lowe
3edf7a038f Remove remaining v12 switches
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-12-08 11:00:36 +01:00
Paulo Castro
2bf59530c4 docs: Add references to the masterclasses in the CLI help and README
Change-type: patch
2020-11-19 18:13:45 +00:00
Paulo Castro
9d177609f5 devices: Fix "TypeError: Cannot read property 'slug' of undefined"
Change-type: patch
2020-10-31 00:29:50 +00:00
Paulo Castro
6b208ec2ab build/deploy: Add more test cases (--buildArg option)
Change-type: patch
2020-10-21 14:25:40 +01:00
Paulo Castro
478b5dd363 Revert styling of "balena CLI" as "balenaCLI"
Change-type: patch
2020-10-21 00:07:46 +01:00
Paulo Castro
b1897a512d Style "balena CLI" as "balenaCLI" and "balena cloud" as "balenaCloud"
Change-type: patch
2020-09-18 23:27:24 +01:00
Scott Lowe
d56fec6e36 Convert help to oclif, remove capitano
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-09-07 14:13:32 +02:00
Scott Lowe
88569066b5 Add support for new device metrics to device command
Change-type: minor
Signed-off-by: Scott Lowe <scott@balena.io>
2020-09-03 18:26:53 +02:00
Scott Lowe
8cb413c1c9 Convert deploy command to oclif
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-08-22 11:58:10 +02:00
Scott Lowe
358a909214 Shorten env add command summary to prevent wrapping
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-08-21 12:43:12 +02:00
Paulo Castro
af1c4b0d03 build: Fix --buildArg and --cache-from options (broken since v12.9.9)
Change-type: patch
2020-08-14 23:12:12 +01:00
Pagan Gazzard
53b2b54b23 Tests: Use a mocha file helper to always load config-tests first
Change-type: patch
2020-08-11 16:04:28 +01:00
Pagan Gazzard
e1c42405a1 Update balena-sdk to 14.x
Update balena-sdk from 13.6.0 to 14.8.0

Change-type: patch
2020-08-07 21:06:07 +00:00
Paulo Castro
62dfae371c devices: Add '--json' option to help with scripting
Change-type: minor
2020-08-07 15:27:42 +01:00
Nick Neisen
bab98df87b
env add: Add ability to add env var to multiple locations in one command
Change-type: minor
2020-08-04 17:40:26 -06:00
Thodoris Greasidis
a52a623fdf Update balena-release to v3
Change-type: patch
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2020-08-04 15:35:29 +00:00
Nick Neisen
47e9d39c6f
device rm: Add ability to remove multiple devices in one command
Change-type: minor
2020-07-30 10:31:48 -06:00
Scott Lowe
09b8cc495c Convert command build to typescript, oclif, and refactor
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-07-30 15:53:55 +02:00
Pagan Gazzard
5d7d687d6c Tests: improve reliability of os/configure.spec.ts
Change-type: patch
2020-07-30 13:24:41 +01:00
Scott Lowe
0f058a4441 Convert command push to oclif
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-07-29 10:53:17 +00:00
Scott Lowe
56cc70cd50 Convert config commands to typescript, oclif
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-07-29 12:11:18 +02:00
Scott Lowe
3fc25cd745 Convert os build-config to oclif, typescript
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-07-28 15:33:28 +00:00
Paulo Castro
7eb398c6ef devices supported: Rename 'BETA' to 'NEW' in verbose output
Change-type: patch
2020-07-27 20:23:51 +00:00
Scott Lowe
b7c74598b2 Convert os initialize to oclif, typescript
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-07-16 16:06:41 +02:00
Nick
edaf76e329
device move: Add ability to move multiple devices in one command
Change-type: minor
2020-07-15 08:26:31 -06:00
Scott Lowe
1c17572db0 Convert os download to oclif, typescript
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-07-14 23:42:39 +02:00
Scott Lowe
41635c746b Convert os versions to oclif, typescript
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-07-14 17:11:30 +02:00
Scott Lowe
7ebc94c1e5 Convert local flash to oclif
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-07-10 11:55:24 +02:00
Paulo Castro
6fe8fb7c6e Test cases: Re-add nock checks for unexpected HTTP requests
Connects-to: #1910
Change-type: patch
2020-07-09 19:54:03 +01:00
Thodoris Greasidis
477c48f831 Device: Fix the last_seen field not showing up
Change-type: patch
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2020-07-09 18:12:13 +00:00
Thodoris Greasidis
fb9943a375 Device: explicitly fetch only the presented fields
Depends on open-balena adding the mac_address &
the overall_status device fields, but the latest cli
version is probably already not working, since some
of its dependencies already use the v14 SDK which
needs the v6 model, that the open-balena-api doesn't
have yet either.

Change-type: minor
See: https://www.flowdock.com/app/rulemotion/i-cli/threads/SaSXFlJEv-dpk9uUngWY225zv2D
See: https://github.com/balena-io/open-balena-api/issues/388
See: https://github.com/balena-io/open-balena-api/issues/338
See: https://github.com/balena-io/balena-sdk/issues/920
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2020-07-09 18:12:13 +00:00
Scott Lowe
4cdaf29348 Convert logs command to oclif
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-07-06 11:46:15 +02:00
Paulo Castro
69e9222703 balena ssh: Add test cases
Connects-to: #1896
Change-type: patch
2020-07-03 18:53:56 +01:00
Scott Lowe
9697081d73 Convert command tunnel to oclif, and fix port map spec issues.
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-07-01 11:25:09 +02:00
Paulo Castro
eaf61d801c Add --multi-dockerignore (-m) option to push/build/deploy commands
Connects-to: #1870
Change-type: minor
2020-06-28 23:55:30 +01:00
Scott Lowe
512cfa3da1 Convert command ssh to oclif.
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-06-26 12:46:27 +02:00
Pagan Gazzard
667358b23e Import just strip-tags from common-tags to reduce startup time
This saves ~100ms for me on startup with no fast-boot cache and ~50ms
with a fast-boot cache

Change-type: patch
2020-06-25 22:56:43 +01:00
Pagan Gazzard
b114697cab Use native fs promises rather than promisify or mz
Change-type: patch
2020-06-24 18:13:48 +01:00
Paulo Castro
11d1a3f5a0 Add runtime warning for unused .dockerignore files
Change-type: patch
2020-06-22 01:14:27 +01:00
Scott Lowe
ebb0ec5287 Convert device os-update command to oclif
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-06-19 10:04:39 +02:00
Scott Lowe
ab673f884a Convert device commands to oclif
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-06-18 13:59:41 +02:00
Paulo Castro
146de39b83 Add --gitignore (-g) option to push/build/deploy commands for v11 compatibility
Change-type: minor
2020-06-17 14:18:23 +01:00
Paulo Castro
c619bd4b99 Update 'balena-lint' and apply new prettier rules
Change-type: patch
2020-06-15 23:53:07 +01:00
Paulo Castro
19c3069b22 Convert 'logs' command to async/await and add tests
Change-type: patch
2020-06-15 23:53:05 +01:00
Paulo Castro
7e1d58546c Add tests for standalone executable via proxy server
Change-type: patch
2020-06-15 23:53:04 +01:00
Paulo Castro
3ecf461d55 Update 'balena-sdk' from v12 to v13 and update code and tests as needed
Change-type: patch
2020-06-15 23:53:01 +01:00
Rich Bayliss
d967b942e0
Allow setting the initialDeviceName
Change-type: patch
Signed-off-by: Rich Bayliss <rich@balena.io>
2020-06-11 16:02:17 +01:00
Scott Lowe
1569915fae v12 preparations: Add feature switch for default eol-converson
Change-type: patch
Connects-to: #1770
2020-06-05 16:37:44 +01:00
Paulo Castro
b1552f8e9b v12 preparations: Fix dockerignore tests on Windows
Change-type: patch
2020-06-05 16:35:07 +01:00
Scott Lowe
728c4f4296 Convert 'balena device public-url' commands to oclif
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-06-02 19:00:32 +02:00
Paulo Castro
626d328194 v12 preparations: Add feature switch for build/deploy --logs option
Connects-to: #1770
Change-type: patch
2020-06-02 16:42:51 +01:00
Paulo Castro
2ab8ae1c10 v12 preparations: Add feature switch for project directory validation
Connects-to: #1770
Change-type: patch
2020-05-29 22:03:55 +01:00
Paulo Castro
a38b41f339 v12 preparations: Add feature switch for 'devices supported' default columns
Connects-to: #1770
Change-type: patch
2020-05-29 20:06:14 +01:00
Paulo Castro
2fc0728a09 v12 preparations: Amend test cases for '--nogitignore' option
Connects-to: #1770
Change-type: patch
2020-05-29 20:06:14 +01:00
Scott Lowe
6e5e1c4f5f v12 preparations: Add feature switch for 'envs --all'
Change-type: patch
Connects-to: #1770
Signed-off-by: Scott Lowe <scott@balena.io>
2020-05-29 17:39:40 +02:00
Scott Lowe
979284b071 Convert tags, tag set, tag rm to oclif.
Change-type: patch
Resolves: #1805
Signed-off-by: Scott Lowe <scott@balena.io>
2020-05-28 19:49:23 +02:00
Paulo Castro
480228d8f4 Add tests for 'balena deploy'
Connects-to: #1045
Change-type: patch
2020-05-22 00:24:46 +01:00
Paulo Castro
4577d72ead push/build/deploy: add --nogitignore option and update dockerignore filter library
Connects-to: #1032
Connects-to: #1148
Change-type: minor
2020-05-13 22:33:37 +01:00
Scott Lowe
98a2c0635d Improve presentation of errors, help
Change-type: patch
Resolves: #1779 #1757
Signed-off-by: Scott Lowe <scott@balena.io>
2020-05-06 10:48:50 +02:00
Scott Lowe
83286e6729 Convert balena api-key generate to oclif
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-05-04 13:50:50 +02:00
Pagan Gazzard
cbcd7694a9 Merge qemu-ts.ts and qemu.ts files 2020-05-01 11:43:45 +01:00
Scott Lowe
3b519f0258 Convert app commands to oclif
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-05-01 08:48:58 +02:00
Scott Lowe
a2b761ec4b Convert command scan to TypeScript, migrate to oclif
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-04-22 11:13:40 +00:00
Scott Lowe
be82bcfa63 convert commands key, keys, key add, key rm to oclif.
Also:
 - Display keys with `name` instead of `title`.
 - Check for empty key before calling API.

Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-04-20 16:07:39 +02:00
Scott Lowe
3aa72dde4c Convert commands join, leave to oclif.
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-04-09 20:50:42 +02:00
Pagan Gazzard
1ee74df67e Add type checking for tests
Change-type: patch
2020-03-24 16:42:18 +00:00
Paulo Castro
daa34feeda Add test case for build --emulated
Connects-to: #1649
Change-type: patch
2020-03-11 22:02:01 +00:00
Pagan Gazzard
235c13bea9 Switch to object spreading in favor of _.assign
Change-type: patch
2020-02-29 22:08:10 +00:00
Paulo Castro
9e870b08a7 Add tests for project directory validation
Change-type: patch
2020-02-17 15:19:07 +00: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
0738dd1520 Add and refactor tests for push/build/deploy commands (docker-compose)
Change-type: patch
2020-02-17 15:19:07 +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
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
Paulo Castro
0f5f65e0d3 Add more tests for push/build/deploy commands (--dockerfile)
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2020-02-02 20:16:43 +00:00