Commit Graph

4871 Commits

Author SHA1 Message Date
Christina Ying Wang
cfd8dffc51 WIP: Remove DNS firewall rules
The Engine uses dnsmasq for DNS resolution since OS v2.0-beta.1, by passing
the dnsmasq IP using `--dns` when starting up balenad. It is less complicated
to have dnsmasq handle DNS resolution; the firewall adding DNS rules to
iptables is overly complex with an unclear & undocumented reason as to why.

"WIP" indicates that this commit is under consideration for its security impact.

Change-type: patch
Signed-off-by: Christina Ying Wang <christina@balena.io>
2024-11-12 11:38:05 -08:00
flowzone-app[bot]
0a9de69994
v16.7.7 2024-11-11 19:02:38 +00:00
flowzone-app[bot]
b3b1fddfa5
Merge pull request #2386 from balena-os/allow-dns-from-custom-bridge-ifaces-for-firewall
Firewall: allow DNS requests from custom Docker bridge networks
2024-11-11 19:01:51 +00:00
Christina Ying Wang
7e1cafa866 Firewall: allow DNS requests from custom Docker bridge networks
We only allow DNS requests through `balena0` interface, but this
is the default Docker bridge which is used for containers that
don't have a custom bridge. However, the Supervisor creates a
custom bridge for all containers unless another network mode is
specified.

Change-type: patch
Signed-off-by: Christina Ying Wang <christina@balena.io>
2024-11-08 17:02:34 -08:00
flowzone-app[bot]
dd24fc1404
v16.7.6 2024-11-07 21:02:43 +00:00
flowzone-app[bot]
91a9058a88
Merge pull request #2385 from balena-os/firewall-docs
Update firewall documentation
2024-11-07 21:01:46 +00:00
Felipe Lalanne
1b747f6d65
Update firewall documentation
Removes experimental warning and updates issues

Change-type: patch
2024-11-07 11:04:32 -03:00
flowzone-app[bot]
89ab01a082
v16.7.5 2024-11-07 13:34:08 +00:00
flowzone-app[bot]
75a3b3bea0
Merge pull request #2383 from balena-os/delete-apps-by-uuid-not-in-target
Delete apps not in target from db by appUuid instead of appId
2024-11-07 13:33:15 +00:00
Christina Ying Wang
3d3f659f16 Delete apps not in target from db by appUuid instead of appId
Resolve an issue in balenaMachine instances that were installed at <v14.1.0,
in which a Supervisor app with random UUID is kept in the target db due to its appId
being the same, even after the BM instance has upgraded to v14.1.0 which patches
the correct reserved Supervisor app UUIDs in. This results in two Supervisors running
on devices under the BM instance which persists after BM upgrade.

See: https://balena.fibery.io/search/T7ozi#Inputs/Pattern/Two-supervisors-are-running-on-device-3370
Change-type: patch
Signed-off-by: Christina Ying Wang <christina@balena.io>
2024-11-04 14:15:55 -08:00
flowzone-app[bot]
a8053b9217
v16.7.4 2024-10-28 14:40:46 +00:00
balena-renovate[bot]
4989db4105
Merge pull request #2374 from balena-os/renovate/npm-express-vulnerability
Update express to v4.20.0 [SECURITY]
2024-10-28 14:39:58 +00:00
balena-renovate[bot]
f2aaf7372d
Update express to v4.20.0 [SECURITY]
Update express from 4.19.2 to 4.20.0

Change-type: patch
2024-10-28 14:07:00 +00:00
flowzone-app[bot]
52a9db43bc
v16.7.3 2024-10-28 14:04:26 +00:00
Felipe Lalanne
0c958efbca
Merge pull request #2375 from balena-os/alexgg/sb
Add NXP support to balenaOS secure boot
2024-10-28 11:03:27 -03:00
Alex Gonzalez
619f644299 Add NXP support to balenaOS secure boot
On NXP iMX devices the partitions are not encrypted with LUKS but with
the lower level dm-crypt subsystem.

Adapt the partition mount script to use dmsetup which works for both
LUKS and dm-crypt encrypted partitions.

Change-type: patch
Signed-off-by: Alex Gonzalez <alexg@balena.io>
2024-10-18 13:53:14 -03:00
flowzone-app[bot]
43bb9523f0
v16.7.2 2024-10-18 15:21:01 +00:00
flowzone-app[bot]
6954e7c6cf
Merge pull request #2380 from balena-os/bookworm
Use bookworm image to source journalctl binaries
2024-10-18 15:19:13 +00:00
Felipe Lalanne
57a17ea207
Use bookworm image to source journalctl binaries
Debian no longer publishes linux/arm/v5 images for bullseye, breaking
support for raspberry pi zero.

This change might not solve the issue indefinitely
as we don't know how long debian will continue publishing armv5 images.

Change-type: patch
2024-10-18 10:42:52 -03:00
flowzone-app[bot]
cb465a1d81
v16.7.1 2024-09-26 14:28:10 +00:00
Christina Wang
c429daafc9
Merge pull request #2373 from balena-os/add-compose-init-support
Add support for init field from compose
2024-09-26 07:27:01 -07:00
Christina Ying Wang
ed1c18e369
Add support for init field from compose
Init supports boolean values, and is not included in the config when
not defined.

Change-type: patch
Signed-off-by: Christina Ying Wang <christina@balena.io>
2024-09-26 10:39:59 -03:00
flowzone-app[bot]
e01aaaaafb
v16.7.0 2024-09-02 15:33:44 +00:00
flowzone-app[bot]
23d74b7ca3
Merge pull request #2342 from balena-os/update-status
Report app release update status to the API
2024-09-02 15:32:39 +00:00
Felipe Lalanne
e9a52e6786 Store rejected apps in the database
This moves from throwing an error when an app is rejected due to unmet
requirements (because of contracts) to storing the target with a
`rejected` flag on the database.

The application manager filters rejected apps when calculating steps to
prevent them from affecting the current state. The state engine uses the
rejection info to generate the state report.

Change-type: minor
2024-08-30 10:52:11 -04:00
Felipe Lalanne
227fee9941 Set the app update status when reporting state
Change-type: minor
2024-08-30 10:52:11 -04:00
Felipe Lalanne
48e526ec43 Refactor contracts validation code
This updates the interfaces on lib/contracts and the validation in
the application-manager module.
2024-08-30 10:52:11 -04:00
Felipe Lalanne
e9f460fd75 Add update status to types
Change-type: minor
2024-08-30 10:52:11 -04:00
Felipe Lalanne
9b819e4837 Update typescript to 5.5.4 2024-08-30 10:52:11 -04:00
flowzone-app[bot]
649a20fbe0
v16.6.1 2024-08-29 16:36:13 +00:00
flowzone-app[bot]
70a4fa3274
Merge pull request #2369 from balena-os/remove-patch-device
Remove unused patchDevice function
2024-08-29 16:35:17 +00:00
Felipe Lalanne
788afee9a1
Remove unused patchDevice function
This function was a remainder of the dependent devices code that no
was removed on #2105

Change-type: patch
2024-08-29 10:34:43 -04:00
flowzone-app[bot]
5a1c81a408
v16.6.0 2024-08-28 22:47:12 +00:00
flowzone-app[bot]
da6f4bdbaf
Merge pull request #2284 from balena-os/enable-redsocks-dnsu2t
Enable redsocks dnsu2t
2024-08-28 22:46:17 +00:00
Christina Ying Wang
186a412ecf Add dnsu2t support to API docs for PATCH /v1/device/host-config
Signed-off-by: Christina Ying Wang <christina@balena.io>
2024-08-28 14:01:58 -07:00
Christina Ying Wang
eaa07e97a9 Add support for redsocks dnsu2t config
Users may specify dnsu2t config by including a `dns` field
in the `proxy` section of PATCH /v1/device/host-config's body:
```
{
  network: {
    proxy: {
      dns: '1.1.1.1:53',
    }
  }
}
```

If `dns` is a string, ADDRESS and PORT are required and should be
in the format `ADDRESS:PORT`. The endpoint with error with
code 400 if either ADDRESS or PORT are missing.

`dns` may also be a boolean. If true, defaults will be configured.
If false, the dns configuration will be removed.

If `proxy` is patched to empty, `dns` will be removed regardless
of its current or input configs, as `dns` depends on an active
redsocks proxy to function.

Change-type: minor
Signed-off-by: Christina Ying Wang <christina@balena.io>
2024-08-28 14:01:51 -07:00
Christina Ying Wang
8bf346a6fd Parse dnsu2t block to dns config
Signed-off-by: Christina Ying Wang <christina@balena.io>
2024-08-28 13:51:46 -07:00
Christina Ying Wang
b775f8f14d Stringify dns subsection of redsocks input config to dnsu2t
Signed-off-by: Christina Ying Wang <christina@balena.io>
2024-08-28 13:51:46 -07:00
Christina Ying Wang
e724f60beb Strip additional fields from HostConfiguration type
Signed-off-by: Christina Ying Wang <christina@balena.io>
2024-08-28 13:51:46 -07:00
flowzone-app[bot]
78f0561988
v16.5.8 2024-08-27 22:41:44 +00:00
balena-renovate[bot]
ead2c5b772
Merge pull request #2368 from balena-os/renovate/npm-webpack-vulnerability
Update webpack to v5.94.0 [SECURITY]
2024-08-27 22:40:50 +00:00
balena-renovate[bot]
a480266c56
Update webpack to v5.94.0 [SECURITY]
Update webpack from 5.76.0 to 5.94.0

Change-type: patch
2024-08-27 22:08:57 +00:00
flowzone-app[bot]
13c42ef014
v16.5.7 2024-08-27 21:18:32 +00:00
flowzone-app[bot]
6577ded0cd
Merge pull request #2366 from balena-os/using-infer-steps-lock-unit-test
Add unit test for usingInferStepsLock
2024-08-27 21:17:44 +00:00
Christina Ying Wang
51e59725f8 Add unit test for usingInferStepsLock
Change-type: patch
Signed-off-by: Christina Ying Wang <christina@balena.io>
2024-08-26 13:44:51 -07:00
flowzone-app[bot]
3049b03cba
v16.5.6 2024-08-23 00:24:33 +00:00
Christina Wang
6fbf95e93f
Merge pull request #2365 from balena-os/revert-2364
Revert PR #2364
2024-08-22 17:23:34 -07:00
Christina Ying Wang
3cebfa9f78 Revert PR #2364
Change-type: patch
Signed-off-by: Christina Ying Wang <christina@balena.io>
2024-08-22 14:31:35 -07:00
flowzone-app[bot]
2b03771bae
v16.5.5 2024-08-21 04:35:59 +00:00
Christina Wang
7f3a057797
Merge pull request #2364 from balena-os/avoid-unnecessary-config-calls-during-startup
Avoid unnecessary config calls during startup
2024-08-20 21:35:00 -07:00