4925 Commits

Author SHA1 Message Date
flowzone-app[bot]
5c94c61b0a
v16.12.2 v16.12.2 2025-02-11 01:04:24 +00:00
balena-renovate[bot]
43426a4a26
Merge pull request #2401 from balena-os/renovate/balena-io-deploy-to-balena-action-2.0.x
Update balena-io/deploy-to-balena-action action to v2.0.92
2025-02-11 01:03:38 +00:00
balena-renovate[bot]
c57622e226
Update balena-io/deploy-to-balena-action action to v2.0.92
Update balena-io/deploy-to-balena-action from 2.0.74 to 2.0.92

Change-type: patch
2025-02-11 00:32:00 +00:00
flowzone-app[bot]
5fca7c25bc
v16.12.1 v16.12.1 2025-02-10 22:51:54 +00:00
flowzone-app[bot]
e901c38df0
Merge pull request #2399 from balena-os/dependency-updates
Dependency updates
2025-02-10 22:50:54 +00:00
Felipe Lalanne
f99e19f8a9
Update mocha-pod to v2.0.10 2025-02-10 15:54:25 -03:00
Felipe Lalanne
f4b1acba89
Pin deep-object-diff to v1.1.0
Newer patches of the package seem to change the interface causing the
code to no longer compile. More investigation is needed
2025-02-05 18:27:25 -03:00
Felipe Lalanne
88e821ed8e
Pin io-ts version to v2.2.20
gcanti/io-ts#705 fixes an issue with io-ts and non-enumerable
properties, but that results in objects with invalid properties to get
removed during `decode`, which breaks our validation tests.

Need to figure out what is the right behavior for us

Change-type: patch
2025-02-05 18:27:10 -03:00
Felipe Lalanne
58824066e0
Update more dependencies 2025-01-27 12:52:02 +00:00
Felipe Lalanne
f71f98777c
Update network-manager to v1
Change-type: patch
2025-01-23 23:40:52 -03:00
Felipe Lalanne
25e46574ab
Update development dependencies 2025-01-23 11:00:59 -03:00
Felipe Lalanne
52081ba15e
Update balena-request and balena-register-device
Change-type: patch
2025-01-23 10:16:39 -03:00
Felipe Lalanne
342a2d4dac
Update pinejs-client-request to v8
Change-type: patch
2025-01-23 10:07:32 -03:00
Felipe Lalanne
e474a9d95d
Update @balena/compose to v6 2025-01-22 17:16:14 -03:00
Felipe Lalanne
3a3889546d
Update chai utility modules
Updating chai will be done in a future PR as it requires overhauling all
tests since chai is now ESM

Change-type: patch
2025-01-22 10:43:45 -03:00
flowzone-app[bot]
3fbd98e218
v16.12.0 v16.12.0 2025-01-20 22:14:38 +00:00
flowzone-app[bot]
84b9d869e1
Merge pull request #2398 from balena-os/node-22
Update supervisor to Node 22
2025-01-20 22:13:51 +00:00
Felipe Lalanne
85fc5784bc
Update contrato to v0.12.0
Change-type: patch
2025-01-15 18:56:24 -03:00
Felipe Lalanne
55f22dbc0f
Update alpine base image to 3.21
This allows to update Node to v22 on production supervisor images

Change-type: patch
2025-01-15 18:52:26 -03:00
Felipe Lalanne
ea594b18ab
Update Node support to v22
Updates @types/node and expands module support to v22.
Support for v20 will be removed on a future version.

Change-type: minor
2025-01-15 18:50:53 -03:00
flowzone-app[bot]
2637d997b6
v16.11.0 v16.11.0 2025-01-14 18:15:59 +00:00
flowzone-app[bot]
bc306c1bc9
Merge pull request #2381 from balena-os/reboot-required
Add support for `io.balena.update.requires-reboot` label
2025-01-14 18:15:04 +00:00
Felipe Lalanne
e416ad0daf
Add support for io.balena.update.requires-reboot
This label can be used by user services to indicate that a reboot is
required after the install of a service in order to fully apply an update.

Change-type: minor
2025-01-14 11:20:35 -03:00
Felipe Lalanne
75127c6074
Move reboot breadcrumb check to device-state
This was on device-config before, but we'll need to set the reboot
breadcrumb from the application-manager as well when we introduce
`requires-reboot` as a label.

Change-type: patch
2025-01-09 14:31:55 -03:00
Felipe Lalanne
51f1fb0f30
Refactor device-config as part of device-state
Move the device-config module to the device-state folder and export only
those functions that are needed elsewhere in the codebase

This moves us closer to making the device-state module the only way to
modify application and configuration.

Change-type: patch
2025-01-09 14:31:43 -03:00
flowzone-app[bot]
89ddfa6554
v16.10.3 v16.10.3 2024-12-20 20:43:27 +00:00
balena-renovate[bot]
86b8576d14
Merge pull request #2395 from balena-os/renovate/npm-systeminformation-vulnerability
Update systeminformation to v5.23.8 [SECURITY]
2024-12-20 20:42:36 +00:00
balena-renovate[bot]
92b26c7ae2
Update systeminformation to v5.23.8 [SECURITY]
Update systeminformation from 5.22.7 to 5.23.8

Change-type: patch
2024-12-20 20:09:40 +00:00
flowzone-app[bot]
f198983ede
v16.10.2 v16.10.2 2024-12-18 18:48:57 +00:00
flowzone-app[bot]
1a4580554e
Merge pull request #2393 from balena-os/depends-on-fix
Wait for service dependencies to be running
2024-12-18 18:47:58 +00:00
Felipe Lalanne
8e6c0fcad7
Wait for service dependencies to be running
This fixes a regression where dependencies would only be started in
order and would start the dependent service if its dependency had been
started at some point in the past, regardless of the running condition.

This makes the behavior more consistent with docker compose where the
[dependency needs to be
running or healthy](69a83d1303/pkg/compose/convergence.go (L441)) for the service to be started.

Change-type: patch
2024-12-13 16:22:11 -03:00
flowzone-app[bot]
81b307510d
v16.10.1 v16.10.1 2024-12-11 00:28:21 +00:00
flowzone-app[bot]
87db141687
Merge pull request #2391 from balena-os/specify-tmp-balena-dir-as-necessary
Specify `/tmp/balena|resin` directories as necessary
2024-12-11 00:27:22 +00:00
Christina Ying Wang
dc740a159b Specify /tmp/balena|resin directories as necessary
See: https://forums.balena.io/t/rm-cant-remove-tmp-balena-resource-busy/367888/5
Change-type: patch
Signed-off-by: Christina Ying Wang <christina@balena.io>
2024-12-10 15:54:07 -08:00
flowzone-app[bot]
4f1f83603b
v16.10.0 v16.10.0 2024-12-10 23:28:19 +00:00
flowzone-app[bot]
e085013548
Merge pull request #2379 from balena-os/support-jetson-power-fan-configs
Support jetson power fan configs
2024-12-10 23:27:26 +00:00
Christina Ying Wang
2f2b2e1c50 Don't require reboot if setting fan control
Signed-off-by: Christina Ying Wang <christina@balena.io>
2024-12-09 18:43:57 -08:00
Christina Ying Wang
828bd22ba0 Add PowerFanConfig config backend
This config backend uses ConfigJsonConfigBackend to update
os.power and os.fan subfields under the "os" key, in order
to set power and fan configs. The expected format for os.power
and os.fan settings is:
```
{
  os: {
    power: {
      mode: string
    },
    fan: {
      profile: string
    }
  }
}
```

There may be other keys in os which are not managed by the Supervisor,
so PowerFanConfig backend doesn't read or write to them. Extra keys in os.power
and os.fan are ignored when getting boot config and removed when setting
boot config.

After this backend writes to config.json, host services os-power-mode
and os-fan-profile pick up the changes, on reboot in the former's case
and at runtime in the latter's case. The changes are applied by the host
services, which the Supervisor does not manage aside from streaming
their service logs to the dashboard.

Change-type: minor
Signed-off-by: Christina Ying Wang <christina@balena.io>
2024-12-09 18:43:51 -08:00
Christina Ying Wang
54fcfa22a7 Support "os" key with object values in ConfigJsonConfigBackend
Signed-off-by: Christina Ying Wang <christina@balena.io>
2024-12-09 18:29:26 -08:00
Christina Ying Wang
9ec45a724b Add tests for ConfigJsonConfigBackend
Also deprecate path-getting method, and remove OS version check.
The OS version itself is not used in ConfigJsonConfigBackend, so
it seems the OS version check is to confirm the existence of config.json
during class init, because OS version is a field that's always there
in a valid config.json.

Signed-off-by: Christina Ying Wang <christina@balena.io>
2024-12-09 18:29:26 -08:00
flowzone-app[bot]
a2c9f55e89
v16.9.0 v16.9.0 2024-12-06 17:52:59 +00:00
flowzone-app[bot]
28a27fc96d
Merge pull request #2382 from balena-os/support-streaming-host-logs
Stream host logs from os-power-mode.service and os-fan-profile.service
2024-12-06 17:52:06 +00:00
Christina Ying Wang
8f3eeff72d Stream logs from last SV's State.FinishedAt, process uptime otherwise
This will catch any container or host logs between Supervisor runs. If
FinishedAt is invalid (0), the last sent timestamp is already set (i.e.
this isn't the first time logMonitor.start() has been called), or
the Supervisor container metadata couldn't be acquired, use the
Supervisor process uptime as the default. This has the downside of
missing any logs generated during SV downtime, but at least
means the log-streamer can proceed without error.

Signed-off-by: Christina Ying Wang <christina@balena.io>
2024-12-06 07:46:38 -08:00
Christina Ying Wang
fb6fa9b16c Add ability to stream logs from host services to cloud
Add `os-power-mode.service`, `nvpmodel.service`, and `os-fan-profile.service`
which report status from applying power mode and fan profile configs as read
from config.json. The Supervisor sets these configs in config.json for these
host services to pick up and apply.

Also add host log streaming from `jetson-qspi-manager.service` as it
will very soon be needed for Jetson Orins.

Relates-to: #2379
See: balena-io/open-balena-api#1792
See: balena-os/balena-jetson-orin#513
Change-type: minor
Signed-off-by: Christina Ying Wang <christina@balena.io>
2024-12-06 07:45:43 -08:00
Christina Ying Wang
c610710f03 Move logger.ts into logging/index.ts
Signed-off-by: Christina Ying Wang <christina@balena.io>
2024-12-05 21:55:09 -08:00
Christina Ying Wang
e62e245fc7 Modify log monitor logging to be more generic
Includes other host services in addition to balena.service

Signed-off-by: Christina Ying Wang <christina@balena.io>
2024-12-05 09:11:04 -08:00
flowzone-app[bot]
5ee5db2a04
v16.8.0 v16.8.0 2024-12-05 17:06:14 +00:00
flowzone-app[bot]
eba8c455ef
Merge pull request #2392 from balena-os/host-config-locks
Take update locks for host-config changes
2024-12-05 17:05:15 +00:00
Felipe Lalanne
a2d4b31b23
Take update locks for host-config changes
This adds update-lock support to hostname changes via the host-config
endpoint, in addition to proxy changes as changing the hostname may
cause an engine restart from the OS.

Change-type: minor
2024-12-03 15:07:24 -03:00
flowzone-app[bot]
21becded50
v16.7.8 v16.7.8 2024-11-28 21:23:30 +00:00