When constructing the target state after a reported change from livepush, the
handler function would not pass all build tasks to the function that
constructs the target state, causing a TypeError when trying to obtain
the target image name for each service. This updates the handler to pass
all build tasks, ensuring the information is available to construct the
target state.
Relates-to: #2724
Change-type: patch
This allows the the CLI to use docker registry config when querying the
images manifest.
Relates-to: balena-io-modules/balena-compose#31
Change-type: patch
On local push, the CLI uses `localrelease` as the `commit` property for
the development application. This is not a valid uuid and will not be
read properly by the supervisor, as seen in
https://github.com/balena-os/balena-supervisor/blob/master/src/compose/service.ts#L652
While this is not a problem right now, the commit is becoming the main
way to identify a service release (replacing `releaseId` and `imageId`),
and the invalid release uuid could cause update issues when pushing a
local release on when using some API endpoints.
Change-type: patch
Relates-to: balena-os/balena-supervisor#2136
When using livepush, the CLI parses the build logs to obtain the stage
image ids, which are necessary for properly running livepush.
This process used to store the full log output in memory before parsing
the logs for obtaining the stage ids. We have seen this cause issues
before because of the excessive memory usage and it is one the suspects
of #2165, which is blocking the update to Node 14
Change-type: patch
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
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>