Commit Graph

3887 Commits

Author SHA1 Message Date
Balena CI
4f980e0056 v12.11.21 2021-12-18 17:54:33 +02:00
bulldozer-balena[bot]
922129b954
Merge pull request #1852 from balena-os/local-lookup-fix
Fix .local dns resolution when returning multiple addresses
2021-12-18 15:52:10 +00:00
Felipe Lalanne
08147e6a86 Ensure happy-eyeballs uses supervisor dns lookup
Happy-eyeballs performs [dns lookups](https://github.com/balena-io-modules/happy-eyeballs/blob/master/src/happy-eyeballs.ts#L23)
for the requested addresses, however, because of the order of imports it
was not using the supervisor custom `dns.lookup` that handles `.local`
name resolution, making address resolution fail in those cases.

Moving the import after the `dns.lookup` patch fixes the problem.
2021-12-16 11:59:59 -03:00
Felipe Lalanne
39c667803d Fix .local dns resolution when returning multiple addresses
The supervisor performs its own local resolution for `.local`
addresses due to a limitation in [musl](https://wiki.musl-libc.org/future-ideas.html).
The resolution function was not following exactly the nodejs [dns.lookup
specification](https://nodejs.org/api/dns.html#dnslookuphostname-options-callback)
which could cause certain clients to fail (in this case happy-eyeballs). This
updates the function to follow the specification.

Change-type: patch
2021-12-16 11:59:54 -03:00
Felipe Lalanne
9c6e5ee11f Remove apps.json after initial preload
This avoids the supervisor trying to get back to the preloaded target
state if the database is deleted by any reason. It does this by moving the
used apps.json to a backup location.

Change-type: patch
Depends-on: #1841
2021-12-13 20:11:42 +00:00
Balena CI
52b47b91f0 v12.11.20 2021-12-13 18:53:39 +02:00
bulldozer-balena[bot]
f2164e98c8
Merge pull request #1841 from balena-os/initial-target
Skip initial apply until a target has been set
2021-12-13 16:51:09 +00:00
Felipe Lalanne
9015b0e22f Skip initial apply until a target has been set
The supervisor always applies target state on start to ensure that the
device is at the correct in case of a crash or another reason. This had
the side effect that if the database is deleted, the supervisor would
apply target state (which is empty), stopping services and possibly
causing volume data loss.

This prevents that behavior and ensures that the supervisor only
applies target state if a target has been set either by the cloud, preload or local
mode.

Change-type: patch
2021-12-13 09:31:00 -03:00
Balena CI
5de6e1125b v12.11.19 2021-12-11 00:32:29 +02:00
bulldozer-balena[bot]
59852a272e
Merge pull request #1821 from balena-os/fix-poll-interval
Fix poll interval
2021-12-10 22:31:04 +00:00
Balena CI
b31552b3f3 v12.11.18 2021-12-10 18:37:48 +02:00
bulldozer-balena[bot]
ab59a18534
Merge pull request #1846 from balena-os/fix-already-delayed-by
Fix the "already delayed by" calculation
2021-12-10 16:35:37 +00:00
Pagan Gazzard
32e3399f7c Fix the "already delayed by" calculation
Change-type: patch
2021-12-10 15:54:30 +00:00
Balena CI
14f8bb7b3b v12.11.17 2021-12-10 17:20:23 +02:00
bulldozer-balena[bot]
1a2797fda8
Merge pull request #1845 from balena-os/logs-backoff
Add exponential backoff on errors for logs reporting
2021-12-10 15:18:10 +00:00
Pagan Gazzard
6554ff5a64 Add exponential backoff on errors for logs reporting
Change-type: patch
2021-12-09 18:30:04 +00:00
Balena CI
ade787bab8 v12.11.16 2021-12-02 22:52:51 +02:00
bulldozer-balena[bot]
1a5aa49044
Merge pull request #1840 from balena-os/validation-message
Improve validation messages for env vars and labels
2021-12-02 20:50:54 +00:00
Felipe Lalanne
f6b2ec9677 Improve validation messages for env vars and labels
Change-type: patch
2021-12-02 17:19:50 -03:00
Balena CI
f00610660f v12.11.15 2021-12-02 22:16:08 +02:00
bulldozer-balena[bot]
5a0b1e9479
Merge pull request #1839 from balena-os/target-state-validation
Improve target state validation
2021-12-02 20:13:57 +00:00
Felipe Lalanne
445aefaa29 Ensure target state errors are sent to the log backend
Closes: #1838
2021-12-02 15:29:37 -03:00
Felipe Lalanne
f6692ab918 Convert target state types to io-ts for better validation
This simplifies target state validation and improves validation
messages.

Change-type: patch
2021-12-02 15:29:37 -03:00
Felipe Lalanne
ca7c22d854 Move lib/types.ts to src/types/basic.ts 2021-12-02 15:29:37 -03:00
Balena CI
a7db9b8c37 v12.11.14 2021-11-30 20:07:17 +02:00
bulldozer-balena[bot]
89e5c40a53
Merge pull request #1805 from balena-os/happy-eyeballs
add happy eyeballs
2021-11-30 18:04:55 +00:00
Zane Hitchcox
9ed2685f63 Add happy eyeballs
Change-type: patch
2021-11-30 12:43:18 -05:00
Balena CI
1ece9f8bb0 v12.11.13 2021-11-29 19:29:30 +02:00
bulldozer-balena[bot]
cc02bbf6df
Merge pull request #1836 from balena-os/59s-timeout
Increase request timeout to 59s to better align with our backends
2021-11-29 17:26:51 +00:00
Pagan Gazzard
2eb00fa0da Increase request timeout to 59s to better align with our backends
Change-type: patch
2021-11-29 17:14:51 +00:00
Balena CI
f81ab2fc06 v12.11.12 2021-11-17 23:26:09 +02:00
bulldozer-balena[bot]
e61a5a26b4
Merge pull request #1830 from balena-os/local-mode-fix
Fix broken local mode after PR #1824
2021-11-17 21:23:37 +00:00
Felipe Lalanne
6fd516a930 Fix broken local mode after PR #1824
PR #1824 changed app update behavior to test that all images are there
before moving between releases. This check always fails in local mode
since local mode images are handled differently.

This PR fixes local mode again by skipping the check when `localMode` is
set.

Change-type: patch
2021-11-17 17:54:25 -03:00
Balena CI
f9b2872648 v12.11.11 2021-11-17 19:05:58 +02:00
bulldozer-balena[bot]
d0fccd1bb5
Merge pull request #1822 from balena-os/acostach/add_more_nano_fd_capable_devices
Add more Jetson Nano FDT capable devices
2021-11-17 17:03:46 +00:00
Alexandru Costache
1d1b1aa1bf test: Update extra_uEnv test slugs list
Do so to include the Nano 2GB Devkit device

Signed-off-by: Alexandru Costache <alexandru@balena.io>
2021-11-17 13:48:19 +01:00
Alexandru Costache
3b9c68246e backends/extra-uEnv: Extend custom DTB support for Nano 2GB Devkit
Change-type: patch
Signed-off-by: Alexandru Costache <alexandru@balena.io>
2021-11-17 13:48:19 +01:00
Balena CI
283495cfcd v12.11.10 2021-11-16 22:05:55 +02:00
bulldozer-balena[bot]
811b679073
Merge pull request #1826 from balena-os/delete-then-download
Fix `delete-then-download` strategy
2021-11-16 20:04:13 +00:00
Felipe Lalanne
394377e0a1 Fix delete-then-download strategy
The strategy has been broken for a while but it was not clear how to
fix it before the changes to image management. This PR fixes application
manager to remove images before downloading the new image. This will
only have an effect on changing images.

Closes: #1233
Change-type: patch
2021-11-16 16:40:15 -03:00
Felipe Lalanne
9846fa64c7 Update tsconfig.json to use es2019 2021-11-16 16:40:15 -03:00
Balena CI
9a820770e8 v12.11.9 2021-11-15 20:13:52 +02:00
bulldozer-balena[bot]
a3b4dc98ac
Merge pull request #1828 from balena-os/repo-type
Go back to `docker` repo type to fix versioning
2021-11-15 18:11:48 +00:00
Felipe Lalanne
47eae7200e Go back to docker repo type to fix versioning
Previous commit now changed ChangeLog format and skipped update of
VERSION file.

This reverts config back to `docker` and fixes changelog

Change-type: patch
2021-11-15 11:56:29 -03:00
Balena CI
32c2c36035 v12.11.8 2021-11-15 16:12:10 +02:00
bulldozer-balena[bot]
2940ab6e1a
Merge pull request #1827 from balena-os/versioning-fix
Re-add .resinci.yml to control node checks
2021-11-15 14:10:09 +00:00
Felipe Lalanne
eb09ecd365 Re-add resinci config to control node checks
Change-type: patch
2021-11-12 10:56:29 -03:00
Balena CI
143000795c v12.11.7 2021-11-11 20:03:22 +02:00
bulldozer-balena[bot]
426f23786e
Merge pull request #1824 from balena-os/synchronize-kill
Wait for images to be ready before moving between releases
2021-11-11 18:01:03 +00:00
Felipe Lalanne
7aedc97ee1 Wait for images to be ready before moving between releases
For download-then-kill strategy, this waits for all changing images on the target
release to be available on device before killing the old services. This
will prevent that multicontainer applications get to a state where some
services of the new release start runnning much before others have been
downloaded.

When adding new services to a multicontainer app, the supervisor will
now wait for other changing services to be downloaded before starting
the new service.

Closes: #1812
Change-type: patch
2021-11-11 14:08:36 -03:00