Commit Graph

4858 Commits

Author SHA1 Message Date
Pagan Gazzard
6b0500cdbc Set @balena/es-version to es2022 to match tsconfig.json
Change-type: patch
2024-03-25 16:56:27 +00:00
flowzone-app[bot]
1e2d9a71f9
v16.1.7 2024-03-25 15:25:29 +00:00
Page-
3c1763c6a8
Merge pull request #2253 from balena-os/increase-auto-select-family-timeout
Increase the timeout for auto select family to 5000ms to avoid issues
2024-03-25 15:24:27 +00:00
Pagan Gazzard
5cd37e73ac Increase the timeout for auto select family to 5000ms to avoid issues
On slower networks the default of 250ms can cause problems as all
attempts will fail rather than only the ones for interfaces that do not
actually work correctly. Increasing this timeout to 5000ms will help to
avoid these issues

Change-type: patch
2024-03-25 15:05:13 +00:00
flowzone-app[bot]
7dd0323c2b
v16.1.6 2024-03-18 21:37:36 +00:00
flowzone-app[bot]
77e596cc13
Merge pull request #2252 from balena-os/pin-iptables-to-legacy
Pin iptables to 1.8.9 (legacy)
2024-03-18 21:36:20 +00:00
Christina Ying Wang
3d881347e7 Pin iptables to 1.8.9 (legacy)
With Alpine 3.19, iptables gets bumped to 1.8.10 which uses nftables.
The host OS still uses iptables 1.8.7 (legacy), and we should
use legacy as well until the OS uses nftables.

See: https://balena.zulipchat.com/#narrow/stream/345889-balena-io.2Fos/topic/iptables.20host.20vs.2E.20nftables.20Supervisor
Change-type: patch
Signed-off-by: Christina Ying Wang <christina@balena.io>
2024-03-18 14:15:24 -07:00
flowzone-app[bot]
8b173918ea
v16.1.5 2024-03-12 13:33:10 +00:00
flowzone-app[bot]
d5708ee4ed
Merge pull request #2250 from balena-os/fatrw
Update fatrw to v0.2.21
2024-03-12 13:31:45 +00:00
Felipe Lalanne
772702793c Update fatrw to v0.2.21
Update fatrw from 0.2.9 to 0.2.21

Change-type: patch
2024-03-08 11:43:54 -03:00
flowzone-app[bot]
17edef2836
v16.1.4 2024-03-08 14:10:23 +00:00
flowzone-app[bot]
8e7c4365b0
Merge pull request #2249 from balena-os/balena-request
Update balena-register-device and its deps
2024-03-08 14:09:36 +00:00
Felipe Lalanne
790f6b71e4 Update balena-register-device and its deps
This bumps the related dependencies

- balena-register-device
- balena-request
- balena-auth

Change-type: patch
2024-03-07 14:15:38 -03:00
flowzone-app[bot]
e2de416801
v16.1.3 2024-03-07 16:10:27 +00:00
flowzone-app[bot]
f4a42d4e3d
Merge pull request #2248 from balena-os/node-20
Update Node to v20
2024-03-07 16:09:40 +00:00
Felipe Lalanne
08727ed2b5 Remove dependency on @balena/happy-eyeballs
Node 20 now implements the happy eyeballs algorithm as part of its core
`net` module, with the [autoSelectFamily](https://nodejs.org/docs/latest-v20.x/api/net.html#netgetdefaultautoselectfamily) option of `socket.connect`. This option defaults to `true`, meaning that a separate
implementation of happy eyeballs is no longer needed.

Change-type: patch
2024-03-06 15:16:33 -03:00
Felipe Lalanne
b77dba2046 Update Node to v20
This updates the supervisor runtime to latest Node LTS version. There
are no breaking changes related to this bump.

Change-type: patch
2024-03-06 12:29:54 -03:00
flowzone-app[bot]
7bb85d7aa1
v16.1.2 2024-03-06 14:06:49 +00:00
flowzone-app[bot]
ff36ccf4a0
Merge pull request #2247 from balena-os/typescript-5
Update to typescript v5
2024-03-06 14:06:01 +00:00
Felipe Lalanne
6217546894 Update typescript to v5
This also updates code to use the default import syntax instead of
`import * as` when the imported module exposes a default. This is needed
with the latest typescript version.

Change-type: patch
2024-03-05 15:33:56 -03:00
Felipe Lalanne
3c546aa199 Add sync directory to lint sources 2024-03-05 15:33:50 -03:00
flowzone-app[bot]
59137f2baf
v16.1.1 2024-03-04 18:16:14 +00:00
flowzone-app[bot]
161f74a620
Merge pull request #2246 from balena-os/balena-lint
Update @balena/lint to v7
2024-03-04 18:15:27 +00:00
Felipe Lalanne
988a1c9e9a Update @balena/lint to v7
This updates balena lint to the latest version to enable eslint support
and unblock Typescript updates. This is a huge number of changes as the
linting rules are much more strict now, requiring modifiying most files
in the codebase. This commit also bumps the test dependency `rewire` as
that was interfering with the update of balena-lint

Change-type: patch
2024-03-01 18:27:30 -03:00
flowzone-app[bot]
8750951521
v16.1.0 2024-02-27 19:30:56 +00:00
flowzone-app[bot]
d75776131d
Merge pull request #2244 from balena-os/duplicate-overlays
Add support for repeated overlays
2024-02-27 19:29:23 +00:00
Felipe Lalanne
bda1bac04c Add support for repeated overlays
RPI firmware configuration allows repeating overlays to define
configurations on multiple devices. For instance, for configuring
multiple `ads` devices, `config.txt` needs to be setup this way

```
dtoverlay=ads1115,addr=0x48
dtoverlay=ads1115,addr=0x49
```

Before this change, the supervisor would interpret both lines as
belonging to the same overlay, preventing users from configuring multiple
devices, and leading to a loop when trying to apply configurations with
repeated overlays coming from the cloud side.

Change-type: minor
2024-02-27 14:52:41 -03:00
flowzone-app[bot]
d49b5e333f
v16.0.4 2024-02-27 15:06:27 +00:00
flowzone-app[bot]
716ca95e44
Merge pull request #2245 from balena-os/fix-rsync-deltas
Fix support for rsync deltas
2024-02-27 15:05:36 +00:00
Felipe Lalanne
24e222045a Fix support for rsync deltas
Rsync (v2) deltas have been broken since [Supervisor v14](460c3ba0aa). While considered legacy,
they are still used by a few customers with devices running OS < 2.47.1.
This should fix v2 delta support for those devices until we can
completely remove rsync deltas from the supervisor

Change-type: patch
2024-02-27 11:09:04 -03:00
flowzone-app[bot]
4daf6192b8
v16.0.3 2024-02-21 21:03:26 +00:00
flowzone-app[bot]
b1bb7934b0
Merge pull request #2243 from balena-os/config-txt-patch-default-dtparam-handling
Patch default dtparam handling in config.txt
2024-02-21 21:02:18 +00:00
Christina Ying Wang
3fd035c5bd Patch default dtparam handling in config.txt
This commit completes the list of default / board-wide dtparams
to include some `baudrate` and `vc` i2c params.

Change-type: patch
Signed-off-by: Christina Ying Wang <christina@balena.io>
2024-02-21 12:45:29 -08:00
flowzone-app[bot]
d1c834d196
v16.0.2 2024-02-17 02:44:56 +00:00
flowzone-app[bot]
6536bd7fed
Merge pull request #2241 from balena-os/config-txt-getBootConfig-arrayConf-patch
Patch config.txt backend to return array configs correctly
2024-02-17 02:44:00 +00:00
Christina Ying Wang
e22253ce6e Patch config.txt backend to return array configs correctly
Previously, getBootConfig() of the config.txt backend was omitting
array configurations such as gpio settings, thus resulting in the SV
mistakenly assuming that boot config had not been applied, since gpio
would not be in current config.txt config but would be in target config.
This resulted in SV entering an infinite loop of attempting to apply the
gpio config when it wasn't necessary.

Change-type: patch
Signed-off-by: Christina Ying Wang <christina@balena.io>
2024-02-16 18:12:33 -08:00
flowzone-app[bot]
5adf727cb5
v16.0.1 2024-02-12 19:56:21 +00:00
balena-renovate[bot]
6dfef695ea
Merge pull request #2233 from balena-os/renovate/balena-io-deploy-to-balena-action-2.x
Update balena-io/deploy-to-balena-action action to v2
2024-02-12 19:55:36 +00:00
Self-hosted Renovate Bot
ac12d9a50c Update balena-io/deploy-to-balena-action action to v2
Update balena-io/deploy-to-balena-action
Changelog-entry: Update balena-io/deploy-to-balena-action to v2.0.27
Change-type: patch
2024-02-12 11:40:19 -08:00
flowzone-app[bot]
52dddd23ce
v16.0.0 2024-02-08 21:45:45 +00:00
flowzone-app[bot]
3c7f0833b5
Merge pull request #2238 from balena-os/config-txt-dtoverlay
Fix processing of dtoverlay/dtparams on config.txt
2024-02-08 21:44:54 +00:00
Felipe Lalanne
6e6a796da5 Add special case for base DTO params on RPI config
While ordering is important in the RPI firmware configuration file (config.txt),
some dt params are by default considered part of the base dt overlay
if they are not used by other overlays.
Unfortunately the [list of dtparams](https://github.com/raspberrypi/firmware/blob/master/boot/overlays/README#L133)
is too long to add all of them as exceptions, but we can add the params
used in the default config.txt provided in OS images, to avoid reboots
when updating to this new supervisor and correctly parsing the
provisioning config.txt as variables.

While this addition handles most common scenarios, there is still a
chance a user may have use other base overlay dt params in the initial
config, in which case those will be interpreted according to the
relative ordering

Change-type: patch
2024-02-08 15:48:10 -03:00
Felipe Lalanne
9546a1a3b1 Fix processing of dtoverlay/dtparams on config.txt
DT overlays and DT params need to be consumed in the order that they
appear on the file. DT params apply to the last dtoverlay defined on the
file, or to the base overlay.

This commit updates config.txt parsing to consider this ordering, and it
also ensures global dtparams are written first so they cannot be
overriden by later overlays.

Because of the more strict parsing method, it is possible that existing
HOST_CONFIG vars do not match the interpretation of the parser. If
that's the case, the supervisor will re-apply the target state which
will cause the device to reboot.

Change-type: major
2024-02-08 15:46:07 -03:00
Felipe Lalanne
a8e371f0c9 Refactor config-txt backend
Cleans up code and adds better type detection
2024-02-07 20:39:41 -03:00
Felipe Lalanne
55a8c5bf90 Add tests for dtoverlay management in config.txt 2024-02-07 20:38:44 -03:00
flowzone-app[bot]
c90c02806f
v15.3.1 2024-02-01 19:31:16 +00:00
flowzone-app[bot]
c31cf8c533
Merge pull request #2230 from balena-os/multi-container-state-apply
Apply update strategies app-wide
2024-02-01 19:30:30 +00:00
Christina Ying Wang
3afcef2969 Respect update strategies app-wide instead of at the service level
Fixes behavior for release updates which removes a service in current state
and adds a new service in target state.

Change-type: patch
Closes: #2095
Signed-off-by: Christina Ying Wang <christina@balena.io>
2024-01-29 12:26:28 -08:00
Felipe Lalanne
87b195685a Use the state-helper functions in app module tests 2024-01-29 12:25:55 -08:00
flowzone-app[bot]
963f43cf0d
v15.3.0 2024-01-26 14:51:03 +00:00