Commit Graph

4901 Commits

Author SHA1 Message Date
48d288b715 Merge pull request #2231 from balena-os/mdns-improvements
Try MDNS lookup only if regular DNS lookup fails
2024-01-08 13:24:53 +00:00
dec39a35d4 Try MDNS lookup only if regular DNS lookup fails
This is meant to allow users to configure their device to
resolve `.local` queries via dnsmasq by modifying config.json, e.g. `dnsServers":
"/bob.local/172.17.0.33`.

This would fail before as MDNS lookups would always come first

Change-type: minor
2024-01-03 14:42:23 -03:00
7a39da92b7 Refactor mdns lookup code in app entry
Change-type: patch
2024-01-03 14:42:23 -03:00
66c35cfd4a v15.1.1 v15.1.1 2024-01-02 18:35:28 +00:00
c969f87673 Merge pull request #2232 from balena-os/alexgg/start-stop-service
docs: api: start-service: specify this endpoint affects the device
2024-01-02 18:34:38 +00:00
096fdbc74a docs: api: start-service: specify this endpoint affects the device
The description incorrectly states the endpoint would start a service
in the whole fleet while it only affects the device.

Change-type: patch
Signed-off-by: Alex Gonzalez <alexg@balena.io>
2023-12-29 17:53:14 +01:00
df027248fd v15.1.0 v15.1.0 2023-11-22 20:12:21 +00:00
698b8159ff Merge pull request #2226 from balena-os/sandbox-error
Force remove container if updateMetadata fails
2023-11-22 20:10:41 +00:00
3ea8d4727a Force remove container if updateMetadata fails
The `updateMetadata` step renames the container to match the target
release when the service doesn't change between releases. We have seen
this step fail because of an engine bug that seems to relate to the
engine keeping stale references after container restarts. The only way
around this issue is to remove the old container and create it again.
This implements that workaround during the updateMetadata step to deal
with that issue.

Change-type: minor
Relates-to: balena-os/balena-engine#261
2023-11-22 14:16:44 -03:00
6acd04a01b v15.0.4 v15.0.4 2023-11-22 17:10:59 +00:00
b6aa75b4ee Merge pull request #2227 from balena-os/update-systemd-0.5.0
Update @balena/systemd to 0.5.0
2023-11-22 17:10:08 +00:00
fd3b6f6961 Include target-state-config dump file in testfs
Signed-off-by: Christina Ying Wang <christina@balena.io>
2023-11-22 11:09:26 -03:00
d18292f68e Only build sqlite3 from source
Change-type: patch
2023-11-22 11:09:26 -03:00
7981e6becd Update @balena/systemd to 0.5.0
Change-type: patch
Signed-off-by: Christina Ying Wang <christina@balena.io>
2023-11-22 11:09:26 -03:00
55433a88cd v15.0.3 v15.0.3 2023-11-22 00:32:56 +00:00
b53bd31332 Merge pull request #2225 from balena-os/cache-last-reported-current-state
Cache last reported current state
2023-11-22 00:31:26 +00:00
eb8ad11cd7 Cache last reported current state to /mnt/root/tmp
Whenever the Supervisor reports current state, it diffs the current state
with its last reported current state. However, when the Supervisor starts
up, there is no last reported state, since that last report is stored in
process memory. Caching the last report in a location that survives
Supervisor restarts will reduce the current report bandwidth used on startup.

Change-type: patch
Signed-off-by: Christina Ying Wang <christina@balena.io>
2023-11-14 16:15:36 -08:00
d440776881 Convert current state types to io-ts
Signed-off-by: Christina Ying Wang <christina@balena.io>
2023-11-08 16:00:54 -08:00
dd5f9c8558 v15.0.2 v15.0.2 2023-11-01 22:17:08 +00:00
7c6b5d0fa0 Merge pull request #2220 from balena-os/apply-in-progress-intermediate-state
Set applyInProgress to true while applying intermediate state
2023-11-01 15:15:58 -07:00
a993b3e7af Set applyInProgress to true while applying intermediate state
Intermediate state is utilized when executing device actions such as a
volume purge. It's a type of state apply, but despite that,
applyInProgress is not true.

Change-type: patch
Signed-off-by: Christina Ying Wang <christina@balena.io>
2023-10-25 10:32:10 -07:00
06cf939958 v15.0.1 v15.0.1 2023-10-25 13:04:14 +00:00
2a078b19b2 Merge pull request #2219 from balena-os/expose-port-mappings
Expose ports from port mappings on services
2023-10-25 13:03:04 +00:00
9bd216327f Expose ports from port mappings on services
PR #2217 removed the expose configuration but also caused a regresion
where ports set via the `ports` configuration would no longer get
exposed to the host, despite portmappings being set. This fixes that
issue by exposing only those ports comming from port mappings.

Change-type: patch
2023-10-24 15:04:39 -03:00
6d2470a686 v15.0.0 v15.0.0 2023-10-23 17:31:14 +00:00
67dac79476 Merge pull request #2217 from balena-os/v15-ignore-dc-expose
Ignore `expose` service compose configuration
2023-10-23 17:30:10 +00:00
416170bc05 Ignore expose service compose configuration
The docker EXPOSE directive and corresponding docker-compose `expose`
service configuration serves as documentation/metadata that a container
listens on a certain port that may be used for service discovery but it doesn't
have any real impact on the ability for
other containers on the same network to access the exposed service via
the port. In newer engine implementations, this property may conflict
with other network configurations, and prevent the container from being
started by the docker engine (see #2211).

This PR removes code that would manage the expose property and takes the
property out of the whitelist. A composition with the `expose` property
will result in the log message `Ignoring unsupported or unknown compose fields: expose`.

While this change should not have operational impact, it still removes
a previously supported configuration and as such there is a chance of it
being a breaking change for some applications. For this reason it is
being published as a new major version.

Change-type: major
Closes: #2211
2023-10-23 11:41:32 -03:00
2089b3863d v14.13.14 v14.13.14 2023-10-23 13:34:46 +00:00
cdec9ca34d Merge pull request #2156 from balena-os/jitter-docs
Add note regading API jitter on target state poll
2023-10-23 13:33:50 +00:00
b107868765 Add note regading API jitter on target state poll
Change-type: patch
2023-10-23 14:11:20 +01:00
f7396cf335 v14.13.13 v14.13.13 2023-10-16 21:43:24 +00:00
9145544fda Merge pull request #2213 from balena-os/reduce-lodash
Reduce lodash usage
2023-10-16 21:42:25 +00:00
e15205301c Switch some _.includes usage to native versions
Change-type: patch
2023-10-16 14:30:25 -03:00
a4a9a17c1a Switch _.assign usage to native versions
Change-type: patch
2023-10-16 14:30:25 -03:00
d0cb54537f Switch _.isNaN usage to native versions
Change-type: patch
2023-10-16 14:30:25 -03:00
c9f032e13a Switch _.isFunction usage to native versions
Change-type: patch
2023-10-16 14:30:25 -03:00
3bfdc4454e Switch _.isUndefined usage to native versions
Change-type: patch
2023-10-16 14:30:25 -03:00
8e23091aa9 Switch _.isNull usage to native versions
Change-type: patch
2023-10-16 14:30:25 -03:00
ca3faebfc9 Switch _.isNumber usage to native versions
Change-type: patch
2023-10-16 14:30:25 -03:00
20df54668c Switch _.isArray usage to native versions
Change-type: patch
2023-10-16 14:30:25 -03:00
3fe8a22fb0 Switch _.isString usage to native versions
Change-type: patch
2023-10-16 14:30:25 -03:00
a3d70e3240 v14.13.12 v14.13.12 2023-10-16 16:59:18 +00:00
8981ee58cf Merge pull request #2215 from balena-os/fix-service-network
Revert "Do not expose ports from image if service network mode"
2023-10-16 16:58:27 +00:00
3e828dcc52 Revert "Do not expose ports from image if service network mode"
This reverts commit 0c7bad7792, as that
change causes a service restart loop. The supervisor cannot distinguish
between ports exposed via the `EXPOSE` directive and the docker-compose
`expose` property. Because of this, in the case of `network-mode:
service:<...>` the current state and target state never match, leading
to a service restart loop.

Change-type: patch
2023-10-16 13:06:50 -03:00
39d912d3e6 v14.13.11 v14.13.11 2023-10-16 15:43:29 +00:00
ab5aa54448 Merge pull request #2214 from balena-os/fix-husky
Fix husky config for automatic linting on commit
2023-10-16 16:42:31 +01:00
23d5311a51 Fix husky config for automatic linting on commit
Change-type: patch
2023-10-16 16:20:02 +01:00
47ebe39bed v14.13.10 v14.13.10 2023-10-16 13:50:24 +00:00
3c84c1e3aa Merge pull request #2210 from balena-os/native-promises
Convert multiple bluebird uses to native promises
2023-10-16 13:49:11 +00:00
766cce89c7 Convert multiple bluebird uses to native promises
Change-type: patch
2023-10-16 11:40:45 +01:00