Commit Graph

13 Commits

Author SHA1 Message Date
Felipe Lalanne
1722286a87 Refactor supervisor Dockerfile to remove custom dependencies
Restructure the supervisor image to remove the dependency on the custom `alpine-supervisor-base`
image and the custom node build. The dockerfile is now a multi-stage
build that splits the process into two build stages and two runtime
stages.

Here is the full list of changes

- The node binary is now copied from  `balenalib/${ARCH}-alpine-node:12-run`, the node binary
now supports running with a debugger.
- The runtime image now inherits from the official `alpine:3.16` image
- Tests are ran within the runtime image configuration instead of the
  build image
- Livepush is ran within the runtime image context
- Unnecessary packages have been removed
- Removed avahi-daemon.conf as that service is not being used
- Fix livepush to work with a multi-stage image. This also deprecates the `image-tag` argument to npm run sync as
`SUPERVISOR_TAG` is no longer used by new OSs
- Fix livepush build on old rpi devices. Allows passing a 'PREFIX'
  argument to let the builder pull images directly from docker hub arch
  repositories. Relates to https://github.com/balena-os/balena-engine/issues/269

Change-type: patch
2022-07-18 12:31:23 -04:00
Felipe Lalanne
31dac598a8 Fix livepush to work with Dockerfile.template
Change-type: patch
2021-11-10 12:20:17 -03:00
Kyle Harding
301aa52f03 Backwards compatility changes for old resin namespaces
Change-type: patch
Signed-off-by: Kyle Harding <kyle@balena.io>
2021-05-06 17:05:26 +00:00
Kyle Harding
09615c9d82 Change container name to balena_supervisor
Change-type: minor
Signed-off-by: Kyle Harding <kyle@balena.io>
2021-05-06 17:05:25 +00:00
Kyle Harding
5faf9d7686 Rename resin-supervisor to balena-supervisor
Change-type: minor
Signed-off-by: Kyle Harding <kyle@balena.io>
2021-05-06 17:05:25 +00:00
Felipe Lalanne
9c1d10dc31 Remove version tag from livepush generated image
The `start-resin-supervisor` script in newer OS version no longer uses the
SUPERVISOR_TAG environment variable setup on supervisor.conf and
update-supervisor.conf.

This change removes the need for that variable with livepush supervisor
to make it compatible with older and newer OS versions

Change-type: patch
2021-04-30 15:51:10 -04:00
Christina Wang
4a2ac557ef
Remove mz, mkdirp, body-parser dependencies
'mz' can be safely replaced with fs.promises
and util.promisify for faster native methods.
'mkdirp' after Node v8 uses native fs.mkdir, thus
is redundant. 'body-parser' is deprecated and
contained within express v4.x.

Closes: #1567
Change-type: patch
Signed-off-by: Christina Wang <christina@balena.io>
2021-04-28 07:20:15 +09:00
Matthew McGinn
f9a157c9ec typos: seperate -> separate
mainly to get the docs one, but figured i could hit them all

Change-type: patch
Signed-off-by: Matthew McGinn <matthew@balena.io>
2021-03-17 14:27:53 -04:00
Cameron Diver
629b410e10 Don't require an existing supervisor container to sync
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2020-10-13 10:46:23 +01:00
Cameron Diver
a7399fd78b Use lstat rather than stat to avoid error with symlinks in sync
Change-type: patch
Closes: #1301
Signed-off-by: Cameron Diver <cameron@balena.io>
2020-05-06 09:59:23 +01:00
Cameron Diver
4f2a534075 Clear changed files after successful livepush invocation
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2020-04-14 10:50:05 +01:00
Cameron Diver
6dda0efa1f Don't sync test files with livepush
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2020-04-08 08:41:46 +01:00
Cameron Diver
8ab63656bd Update synchronisation scripts for supervisor development
We move the old sync.js script to tools/, and delete the now-broken
sync-debug.js.

We add a command `npm run sync`, which starts a livepush process
with the supervisor on a device.

Change-type: minor
Signed-off-by: Cameron Diver <cameron@balena.io>
2020-04-06 13:05:38 +01:00