Thodoris Greasidis
f285880135
Drop unnecessary directory list created during balena deploy & push
...
Change-type: patch
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2021-12-14 00:29:15 +02:00
Paulo Castro
bfc995e948
os download, os versions: Accept device type aliases
...
Change-type: patch
2021-12-10 00:52:02 +00:00
Paulo Castro
c6a0bc0fba
os download: Don't append '.prod' if the OS version does not match regex
2021-12-10 00:38:56 +00:00
Paulo Castro
5c40c8d51f
os download: Assume '.prod' suffix by default for all balenaOS versions
...
Resolves : #2387
Change-type: patch
2021-12-09 17:56:16 +00:00
Scott Lowe
f3fb9b6bdf
v13 preparations: Standardize command data output
...
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2021-12-08 12:10:08 +01:00
Paulo Castro
fcea91bfb6
os configure, local configure: Reuse disk partition scanning logic
...
Change-type: patch
2021-11-27 01:10:53 +00:00
Paulo Castro
09d004423c
Bump 'balena-lint' and fix 'no-floating-promises' warnings
...
Change-type: patch
2021-11-26 15:59:33 +00:00
Lucian Buzzo
257dd514ed
Improve directory scan speed prior to tarballing
...
This changes improves the speed that the project is tarballed by switching from
`klaw` to `recursive-fs` and not running `lstat` on files that are ignored.
Whilst testing with the Jellyfish repository, which contains a number of
sub directories, each with their own node_modules folder, I was able to
reduce the time taken to scan and tarball the project from 70s to 11s,
which is a massive improvement.
Change-type: patch
Signed-off-by: Lucian Buzzo <lucian.buzzo@gmail.com>
2021-11-26 13:55:41 +00:00
Lucian Buzzo
d2a5a9ba86
Set the correct target state when using Compose "image" field
...
Fixes #2394
When pushing to a device in local mode, if a service is not external, and uses
an `image` field, that value should be used for tags and target state, otherwise
it won't match the image name generated on the device by balenaEngine.
Change-type: patch
Signed-off-by: Lucian Buzzo <lucian.buzzo@gmail.com>
2021-11-26 10:11:07 +00:00
Scott Lowe
2b6a2142eb
Improve UX for offline usage
...
Change-type: minor
Resolves : #2372
Signed-off-by: Scott Lowe <scott@balena.io>
2021-11-25 15:14:39 +00:00
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
b546e4dd97
config read/write/inject: Avoid need for internet access
...
Change-type: minor
2021-11-25 02:05:40 +00:00
Paulo Castro
f46452f6de
os download: Display OS version actually downloaded (range or 'recommended')
...
Change-type: patch
2021-11-20 00:43:15 +00:00
Paulo Castro
c166ec7597
os versions, os download: Add support for balenaOS ESR versions
...
Change-type: minor
2021-11-20 00:43:15 +00:00
Paulo Castro
23b07f8a41
deploy: Ensure the release fails if an image's digest (hash) is missing
...
Change-type: patch
2021-11-16 11:55:07 +00:00
dfunckt
8e712ac910
Add support for YAML anchors and aliases in 'docker-compose.yml'
...
This allows project files to define services from generic fragments by leveraging YAML's anchors and aliases. See here for an example: 43f6537b2c/spec.md (fragments)
Removing the FAILSAFE_SCHEMA flag is not expected to break existing project files, since the default behaviour is more liberal, or cause problems down the road given we perform validation immediately after. Docs for the flag: https://github.com/nodeca/js-yaml#load-string---options-
Change-type: minor
2021-10-22 16:42:29 +03: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
Paulo Castro
8bb211e441
build, deploy: Improve logging of image build messages
...
Change-type: patch
2021-09-23 16:37:45 +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
Kyle Harding
7f6738c73c
os download: Avoid incomplete os downloads appearing as successful
...
By forcing the zlib flush mode to Z_NO_FLUSH we are more likely to
see an error on image download pipelines vs silent failure and
incomplete files.
This is part of a larger investigation and may be removed in the
future when the root cause of the pipeline failures are identified.
Change-type: patch
Signed-off-by: Kyle Harding <kyle@balena.io>
2021-09-20 13:28:14 -04:00
Kyle Harding
b701151769
build/deploy: Update QEMU to 6.0.0 for emulated builds
...
Change-type: patch
Signed-off-by: Kyle Harding <kyle@balena.io>
2021-09-10 13:32:12 +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
b30075a18b
push: Await and retry supervisor API requests to a local device
...
Change-type: patch
2021-09-10 01:44:26 +01:00
Paulo Castro
6244af3464
chore: Update net-keepalive dependency (fix CLI packaging errors)
...
Change-type: patch
2021-09-10 00:20:26 +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
Thodoris Greasidis
0327ed766d
device move: Improve types & reduce the number of API requests
...
Change-type: patch
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2021-09-07 11:43:35 +00:00
Thodoris Greasidis
d34073f695
os download: Use the hostApps instead of the device-types/v1 endpoint
...
Connects-to: #2318
Change-type: patch
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2021-08-30 22:32:11 +00: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
deb3e4c4ac
Improve error handling (remove most occurrences of process.exit())
...
Finally delete the deprecated exitWithExpectedError() function from
'lib/errors.ts'.
Change-type: patch
2021-08-27 00:53:21 +01:00
Paulo Castro
a8ff21af69
build, deploy: Extend CTRL-C coverage on Windows (PowerShell, cmd.exe)
...
Before this commit, `balena build` and `balena deploy` would almost
never respect CTRL-C on Windows (PowerShell, cmd.exe). Now CTRL-C
is respected over a large extent of runtime and, if CTRL-C is hit
while images are being uploaded (`balena deploy`), the release status
is correctly set to 'failed'.
Change-type: patch
2021-08-27 00:53:21 +01:00
Paulo Castro
d0cdc900a2
Add contract contents at release creation time
...
Change-type: patch
2021-08-26 16:11:23 +01:00
toochevere
9937b91606
Documentation update with debugging notes
...
Signed-off-by: Paul Jonathan <pj@balena.io>
2021-08-26 00:34:54 +00: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
c7bbbc4159
push, build: Improve error handling (identify which service failed)
...
Change-type: patch
2021-08-13 17:11:48 +01: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
e624726e44
config write: Fix EBUSY error on macOS
...
Change-type: patch
2021-07-21 23:56:57 +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
Pagan Gazzard
f79ccc0c95
Simplify runSpinner api
...
Change-type: patch
2021-07-20 15:46:54 +01:00
Paulo Castro
cfd790a193
Update 'devDependencies' in package.json
...
Change-type: patch
2021-07-09 21:34:09 +01:00
Roland Kajatin
501882fd26
os configure, local configure: Fix "Unsupported filesystem" error
...
When configuring a BalenaOS image with system connections using the CLI,
the function assumed that the boot partition was always 1. This is not
the case for every supported board. Therefore, a new function is added,
which automatically determines the boot partition number and allows
users to configure the image with system connection settings.
This change affects both the `balena local configure` and `balena os configure` commands.
Change-type: patch
2021-05-16 18:08:26 +02:00
Paulo Castro
2c922ee6d2
Update dependencies (multibuild, dockerode, docker-toolbelt, docker-progress)
...
Update resin-multibuild from 4.7.2 to 4.11.0
Change-type: patch
2021-05-07 00:32:15 +01:00
Paulo Castro
732fc2d539
build: Workaround issue with Docker v20.10 + single-arch base images
...
Change-type: patch
2021-05-06 23:20:06 +01:00
Paulo Castro
535a443d7c
build: Fix "Total: undefined" image pull progress report
...
Change-type: patch
2021-05-03 15:48:16 +01:00
Scott Lowe
fa26004648
Add message regarding deprecation of --buildArg option in build/deploy commands
...
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2021-04-21 07:26:57 +02:00
Tomás Migone
8780a24fb5
ssh: fix incorrect service name parsing in local mode
...
Resolves : #2252
Change-type: patch
Signed-off-by: Tomás Migone <tomas@balena.io>
2021-04-14 16:31:07 -03:00
Paulo Castro
0f9d78ab50
config inject/read/write: Fix umount errors with OS image files
...
Resolves : #1003
Change-type: patch
2021-04-13 23:30:19 +01:00
Paulo Castro
06f7683837
Refactor dependency import in utils/helpers.ts for performance
...
Change-type: patch
2021-04-13 22:14:13 +01:00
Paulo Castro
d50d18d492
push, logs: Fix parsing of local mode device logs (NDJSON stream)
...
Resolves : #2185
Change-type: patch
2021-04-09 23:58:04 +01:00
Paulo Castro
37c2880996
push: Fix docker-compose.dev.yml serialization ("should be object,null" error)
...
Change-type: patch
2021-03-20 22:17:20 +00: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
f3d750a024
Add support for docker-compose dev overlay in local pushes
...
Change-type: minor
Signed-off-by: Scott Lowe <scott@balena.io>
2021-02-09 13:06:03 +01:00
Kyle Harding
15fc805f89
build/deploy: fix emulated builds to use fully static qemu binaries
...
Avoid possible situations where the local glibc may not support
the required syscalls for arm emulation during build/deploy.
Change-type: patch
Conneted-to: https://github.com/balena-io/qemu/issues/21
Signed-off-by: Kyle Harding <kyle@balena.io>
2021-02-06 09:50:46 -05:00
Scott Lowe
e47fd0c887
Add command device local-mode
...
Change-type: minor
Resolves : #1304
Signed-off-by: Scott Lowe <scott@balena.io>
2021-02-04 15:36:32 +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
Kyle Harding
9636985ee7
build/deploy: Update QEMU to speed up emulated builds
...
QEMU v5 has quite a few improvements over v4, and the speed
difference when emulating arm is quite noticible.
We tested this with, and without, our single-core limitation
patch and have not been able to reproduce the stability
issues we were seeing in v4 so the patch was removed in
this release.
Change-type: patch
Connects-to: https://github.com/balena-io/balena-io/issues/2340
Signed-off-by: Kyle Harding <kyle@balena.io>
2021-01-29 09:26:34 -05:00
Matthew McGinn
53926067ca
logging: note that the device supervisor version is operative
...
Change-type: patch
Signed-off-by: Matthew McGinn <matthew@balena.io>
2021-01-22 16:53:15 -05:00
Balena CI
7ae83d9ce5
tls: Use TLS for tunnel connection
...
Switch to using the exposed tunnelUrl and TLS for making
tunnels to the device, to improve security.
Change-type: patch
Signed-off-by: Rich Bayliss <rich@balena.io>
2021-01-20 21:18:23 +00:00
Marios Balamatsias
8d56fe9678
deploy: Add --release-tag flag
...
Now we can do:
`balena deploy myApp myApp/myImage --release-tag key1 value1`
Refactor and reuse the logic that parses and applies the
release tag options from the push command to the deploy
command.
Resolves : #892
Change-type: minor
Signed-off-by: Marios Balamatsias <mbalamatsias@gmail.com>
2021-01-15 00:46:39 +02:00
Matthew McGinn
e71184ed3a
docs: americanize the spelling of words in sourced markdown
...
Change-type: patch
Signed-off-by: Matthew McGinn <matthew@balena.io>
2021-01-13 10:12:24 -05:00
Scott Lowe
aeff5997d0
Refactor out command internal scandevices
...
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2021-01-06 15:00:18 +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
Marios Balamatsias
34557e35ee
push: Add --release-tag flag
...
You can have 0 or multiple keys without values,
if you use values then you should have as many
values as you have keys. If you don't want to set
a value for a key set its value to "" (bash, cmd.exe)
or '""' (powershell).
Connects-to: #892
Change-type: minor
Signed-off-by: Marios Balamatsias <mbalamatsias@gmail.com>
2020-12-22 17:10:10 +02:00
Scott Lowe
584aa745f7
Improve id disambiguation for tag commands
...
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-12-18 12:52:18 +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
Scott Lowe
611f59a0da
Add organizations support to app create command
...
Change-type: minor
Connects-to: #2119
Signed-off-by: Scott Lowe <scott@balena.io>
2020-12-15 14:58:17 +01:00
Scott Lowe
a11f9ec705
Add orgs command
...
Change-type: minor
Connects-to: #2119
Signed-off-by: Scott Lowe <scott@balena.io>
2020-12-11 12:48:44 +01:00
Scott Lowe
665e0cf9d7
Add organizations support to app rename command
...
Change-type: minor
Connects-to: #2119
Signed-off-by: Scott Lowe <scott@balena.io>
2020-12-10 13:57:42 +01:00
Paulo Castro
07666e953f
Livepush: Extend CTRL-C availability (don't ignore CTRL-C during image build)
...
Change-type: patch
2020-12-09 22:49:47 +00:00
Paulo Castro
54731c2d20
Livepush, logs: Automatically reconnect on 'Connection to device lost'
...
Change-type: minor
2020-12-09 20:43:14 +00:00
Paulo Castro
d00db5ea8c
logs: Fix CTRL-C ignored on Windows (PowerShell, MSYS, Git for Windows)
...
Change-type: patch
2020-12-09 20:43:14 +00:00
Paulo Castro
5497835728
Livepush: Fix process not exiting on "Connection to device lost"
...
Resolves : #1828
Change-type: patch
2020-12-09 20:43:14 +00:00
Marios Balamatsias
a19132d3bf
errors: Add expected errors for device deactivation
...
Change-type: patch
Signed-off-by: Marios Balamatsias <mbalamatsias@gmail.com>
2020-12-09 14:52:51 +02: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
Marios Balamatsias
5eaa4cfb9f
common-flags: Add default false on yes, force and verbose flags
...
Change-type: patch
Signed-off-by: Marios Balamatsias <mbalamatsias@gmail.com>
2020-12-07 13:17:51 +02: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
a4fd7d6118
Fix debug message logic (don't suggest --debug if it is already being used)
...
Change-type: patch
2020-11-19 18:13:45 +00:00
Paulo Castro
4768f76385
push: Reduce memory usage when filtering files with dockerignore
...
Change-type: patch
2020-11-19 14:24:54 +00:00
Paulo Castro
d6b3249274
Livepush: Refactor dockerignore filtering and add test cases
...
Change-type: patch
2020-11-19 14:24:54 +00:00
Josh Bowling
02a5466746
Livepush: Ignore paths set in .dockerignore files
...
Change-type: minor
Signed-off-by: Josh Bowling <josh@balena.io>
2020-11-19 14:24:44 +00:00
Scott Lowe
46249e319b
Improve application-identifier disambiguation
...
Change-type: patch
Resolves : #2077
Signed-off-by: Scott Lowe <scott@balena.io>
2020-11-06 09:39:36 +01:00
Paulo Castro
7f000ee8c3
ssh: Fix "Found more than one container with a service name <name>"
...
Change-type: patch
2020-10-28 01:06:54 +00:00
Scott Lowe
c48564e85a
Remove need for hardcoded list of command ids
...
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-10-27 10:36:49 +01:00
Paulo Castro
709f009f9b
config generate: Fix "Application is ambiguous" when app slug is used
...
Connects-to: #1893
Change-type: patch
2020-10-25 16:52:31 +00:00
Paulo Castro
099d755900
Fix typing (don't assume that 'docker-toolbelt' uses Bluebird promises)
...
Change-type: patch
2020-10-21 14:25:40 +01:00
Paulo Castro
3199f15662
build/deploy: Fix --buildArg option with docker-compose.yml projects
...
Resolves : #1053
Change-type: patch
2020-10-21 13:02:47 +01:00
Paulo Castro
4c8dc29946
build/deploy: Fix image size notice at end of build
...
Change-type: patch
2020-10-21 13:02:47 +01:00
Paulo Castro
2b22fb89f1
Convert more code to Typescript (compose.js)
...
Change-type: patch
2020-10-21 13:02:47 +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
d0e4fa0e59
Refactor initialization code (delete app-oclif.ts and app-common.ts)
...
Change-type: patch
2020-10-11 00:45:53 +01:00
Paulo Castro
cf376316bc
Support BALENARC_NO_SENTRY env var to disable Sentry.io error reporting
...
Change-type: minor
2020-10-10 00:45:55 +01:00
Paulo Castro
6133bb2096
push: Fix accidental rename of -e
(emulated) option
...
Accidentally renamed during oclif conversion in CLI v12.9.7.
Change-type: patch
2020-10-01 23:49:14 +00: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
abdaf0043f
Add new command device restart
...
Change-type: minor
Resolves : #1542
Signed-off-by: Scott Lowe <scott@balena.io>
2020-09-18 12:39:53 +02:00
Scott Lowe
9805854eab
Update registry secrets example URL
...
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2020-09-10 17:33:57 +02:00
Scott Lowe
0ca1faba09
Add ability to specify poll interval in join command
...
Change-type: minor
Resolves : #1432 #1697 #1670
Signed-off-by: Scott Lowe <scott@balena.io>
2020-09-09 14:24:45 +02:00
Paulo Castro
93e18bea27
push (local device): Add --pull option to force pulling base images again
...
Connects-to: #1584
Change-type: minor
2020-09-09 00:16:22 +01:00