Removes a bunch of individual dependencies by switching to `@balena/compose` which (currently) groups and manages those dependencies together in one package.
Change-type: minor
Also remove 'balena ssh' dependency on the device supervisor (that may
be down because of device issues or a supervisor bug) when opening a
ssh shell on a container (#1560).
Resolves: #2458Resolves: #1560
Change-type: minor
Replace deprecated `rawVersion` and `formattedVersion` fields and use
alternative overload of `getAvailableOsVersions`. As a result, the word
'recommended' is no longer printed next to any OS versions.
Change-type: patch
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>
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>
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
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
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>
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
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>
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
- 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
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
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>
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>
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>
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>
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>