Compare commits

..

171 Commits

Author SHA1 Message Date
a23f11f345 v4.1.1 2024-06-24 20:56:54 +00:00
0ba199be9d Merge pull request #256 from balena-io/renovate/pin-dependencies
Pin unfor19/install-aws-cli-action action to e8b481e
2024-06-24 20:56:13 +00:00
fe3bc20a30 Pin unfor19/install-aws-cli-action action to e8b481e
Update unfor19/install-aws-cli-action

Change-type: patch
2024-06-24 20:52:44 +00:00
e58bf5a4c0 v4.1.0 2024-06-24 20:01:46 +00:00
437c26fe47 Merge pull request #231 from balena-io/ab77/test-matrix
test compose workflow
2024-06-24 13:01:00 -07:00
9a172b03f7 test compose workflow
* docker-compose test workflow to broadly approximate the getting started guide,
since testing on balenaCloud/balenaOS alone doesn't give us a high level of
confidence the project boots/works on compose

change-type: minor
2024-06-24 09:29:18 -07:00
96868c1787 v4.0.57 2024-06-24 15:01:28 +00:00
0f86f5638a Merge pull request #255 from balena-io/renovate/balena-open-balena-api-25.1.x
Update balena/open-balena-api Docker tag to v25.1.7
2024-06-24 15:00:40 +00:00
173a99d363 Update balena/open-balena-api Docker tag to v25.1.7
Update balena/open-balena-api from 25.1.6 to 25.1.7

Change-type: patch
2024-06-24 14:56:58 +00:00
9c013c9b44 v4.0.56 2024-06-24 14:01:45 +00:00
049cbcaf9b Merge pull request #254 from balena-io/renovate/balena-open-balena-api-25.1.x
Update balena/open-balena-api Docker tag to v25.1.6
2024-06-24 14:01:00 +00:00
aefe256e81 Update balena/open-balena-api Docker tag to v25.1.6
Update balena/open-balena-api from 25.1.5 to 25.1.6

Change-type: patch
2024-06-24 13:56:36 +00:00
6cf045aea9 v4.0.55 2024-06-24 05:59:18 +00:00
0848e06003 Merge pull request #253 from balena-io/renovate/balena-open-balena-api-25.1.x
Update balena/open-balena-api Docker tag to v25.1.5
2024-06-24 05:58:32 +00:00
c4d94801f6 Update balena/open-balena-api Docker tag to v25.1.5
Update balena/open-balena-api from 25.1.3 to 25.1.5

Change-type: patch
2024-06-24 05:54:01 +00:00
33eb988eef v4.0.54 2024-06-21 21:04:51 +00:00
91ea4936bf Merge pull request #252 from balena-io/renovate/balena-io-balena-cli-18.2.x
Update dependency balena-io/balena-cli to v18.2.10
2024-06-21 21:04:04 +00:00
0e28278a37 Update dependency balena-io/balena-cli to v18.2.10
Update balena-io/balena-cli from 18.2.9 to 18.2.10

Change-type: patch
2024-06-21 20:54:48 +00:00
f3091b5b2e v4.0.53 2024-06-21 20:02:15 +00:00
ee4bf0218c Merge pull request #251 from balena-io/renovate/balena-io-balena-cli-18.2.x
Update dependency balena-io/balena-cli to v18.2.9
2024-06-21 20:01:23 +00:00
be879e9fd9 Update dependency balena-io/balena-cli to v18.2.9
Update balena-io/balena-cli from 18.2.8 to 18.2.9

Change-type: patch
2024-06-21 19:56:32 +00:00
1aa73874a2 v4.0.52 2024-06-21 19:00:15 +00:00
afb9865b52 Merge pull request #250 from balena-io/renovate/balena-io-balena-cli-18.2.x
Update dependency balena-io/balena-cli to v18.2.8
2024-06-21 18:59:35 +00:00
a49e96d84f Update dependency balena-io/balena-cli to v18.2.8
Update balena-io/balena-cli from 18.2.7 to 18.2.8

Change-type: patch
2024-06-21 18:54:50 +00:00
dce88ff01b v4.0.51 2024-06-21 18:02:30 +00:00
cde52c24da Merge pull request #249 from balena-io/renovate/balena-io-balena-cli-18.2.x
Update dependency balena-io/balena-cli to v18.2.7
2024-06-21 18:01:48 +00:00
cd4c361b8c Update dependency balena-io/balena-cli to v18.2.7
Update balena-io/balena-cli from 18.2.6 to 18.2.7

Change-type: patch
2024-06-21 17:57:23 +00:00
78da3c5a1a v4.0.50 2024-06-21 15:59:13 +00:00
41d6129911 Merge pull request #248 from balena-io/renovate/balena-io-balena-cli-18.2.x
Update dependency balena-io/balena-cli to v18.2.6
2024-06-21 15:58:15 +00:00
da4647515e Update dependency balena-io/balena-cli to v18.2.6
Update balena-io/balena-cli from 18.2.5 to 18.2.6

Change-type: patch
2024-06-21 15:53:50 +00:00
e67e435971 v4.0.49 2024-06-21 13:04:40 +00:00
ced0fe4b17 Merge pull request #247 from balena-io/renovate/balena-io-balena-cli-18.2.x
Update dependency balena-io/balena-cli to v18.2.5
2024-06-21 13:03:53 +00:00
6c8786f4f9 Update dependency balena-io/balena-cli to v18.2.5
Update balena-io/balena-cli from 18.2.2 to 18.2.5

Change-type: patch
2024-06-21 12:59:07 +00:00
1a9d7fa230 v4.0.48 2024-06-19 17:57:51 +00:00
f69dba08f7 Merge pull request #246 from balena-io/renovate/balena-open-balena-api-25.1.x
Update balena/open-balena-api Docker tag to v25.1.3
2024-06-19 17:57:02 +00:00
e742df4e89 Update balena/open-balena-api Docker tag to v25.1.3
Update balena/open-balena-api from 25.1.2 to 25.1.3

Change-type: patch
2024-06-19 17:52:47 +00:00
742d19dd6c v4.0.47 2024-06-19 13:57:49 +00:00
4bcf8c5ace Merge pull request #245 from balena-io/renovate/balena-open-balena-api-25.1.x
Update balena/open-balena-api Docker tag to v25.1.2
2024-06-19 13:57:00 +00:00
252398e130 Update balena/open-balena-api Docker tag to v25.1.2
Update balena/open-balena-api from 25.1.1 to 25.1.2

Change-type: patch
2024-06-19 13:52:51 +00:00
008a06fb96 v4.0.46 2024-06-18 08:58:35 +00:00
3a42e20809 Merge pull request #244 from balena-io/renovate/balena-open-balena-api-25.1.x
Update balena/open-balena-api Docker tag to v25.1.1
2024-06-18 08:57:53 +00:00
25e2346f2d Update balena/open-balena-api Docker tag to v25.1.1
Update balena/open-balena-api from 25.1.0 to 25.1.1

Change-type: patch
2024-06-18 08:53:37 +00:00
aad05c96de v4.0.45 2024-06-18 03:56:40 +00:00
2510c1644f Merge pull request #243 from balena-io/renovate/aws-actions-configure-aws-credentials-digest
Update aws-actions/configure-aws-credentials digest to 61a1105
2024-06-18 03:55:57 +00:00
6dd753b744 Update aws-actions/configure-aws-credentials digest to 61a1105
Update aws-actions/configure-aws-credentials

Change-type: patch
2024-06-18 03:52:12 +00:00
bd504f6019 v4.0.44 2024-06-17 17:01:20 +00:00
9955e7e4fc Merge pull request #242 from balena-io/renovate/balena-open-balena-api-25.x
Update balena/open-balena-api Docker tag to v25.1.0
2024-06-17 17:00:30 +00:00
b87f2662f9 Update balena/open-balena-api Docker tag to v25.1.0
Update balena/open-balena-api from 25.0.2 to 25.1.0

Change-type: patch
2024-06-17 16:56:22 +00:00
ca72e711d3 v4.0.43 2024-06-17 16:26:22 +00:00
4e2ecb653f Merge pull request #238 from balena-io/renovate/balena-open-balena-api-25.x
Update balena/open-balena-api Docker tag to v25
2024-06-17 09:25:39 -07:00
15e93fecc7 Update balena/open-balena-api Docker tag to v25
Update balena/open-balena-api from 24.3.1 to 25.0.2

Change-type: patch
2024-06-15 14:52:14 +00:00
47ed0ce133 v4.0.42 2024-06-13 22:57:15 +00:00
bb9ed97688 Merge pull request #240 from balena-io/renovate/qemux-qemu-docker-5.x
Update qemux/qemu-docker Docker tag to v5.16
2024-06-13 22:56:34 +00:00
217473e54a Update qemux/qemu-docker Docker tag to v5.16
Update qemux/qemu-docker from 5.15 to 5.16

Change-type: patch
2024-06-13 22:52:54 +00:00
6e7dae2cc9 v4.0.41 2024-06-12 20:57:42 +00:00
f4f12d2d1a Merge pull request #237 from balena-io/renovate/qemux-qemu-docker-5.x
Update qemux/qemu-docker Docker tag to v5.15
2024-06-12 20:56:42 +00:00
ca910f88d1 Update qemux/qemu-docker Docker tag to v5.15
Update qemux/qemu-docker from 5.14 to 5.15

Change-type: patch
2024-06-12 20:53:07 +00:00
9ffdce4e9b v4.0.40 2024-06-12 18:58:46 +00:00
4038e45a3d Merge pull request #236 from balena-io/renovate/actions-checkout-digest
Update actions/checkout digest to 692973e
2024-06-12 18:58:00 +00:00
6474a7a8b5 Update actions/checkout digest to 692973e
Update actions/checkout

Change-type: patch
2024-06-12 18:54:42 +00:00
f095a2c596 v4.0.39 2024-06-12 17:59:52 +00:00
459cca7449 Merge pull request #235 from balena-io/renovate/actions-checkout-digest
Update actions/checkout digest to 6ccd57f
2024-06-12 17:58:54 +00:00
8090670ae6 Update actions/checkout digest to 6ccd57f
Update actions/checkout

Change-type: patch
2024-06-12 17:55:07 +00:00
a88a0cb89d v4.0.38 2024-06-12 16:04:57 +00:00
4ee327b84a Merge pull request #234 from balena-io/renovate/actions-checkout-digest
Update actions/checkout digest to b17fe1e
2024-06-12 16:04:02 +00:00
12d9370d6f Update actions/checkout digest to b17fe1e
Update actions/checkout

Change-type: patch
2024-06-12 15:56:14 +00:00
f201cce2a6 v4.0.37 2024-06-12 03:00:54 +00:00
1fbf042d0a Merge pull request #233 from balena-io/renovate/qemux-qemu-docker-5.x
Update qemux/qemu-docker Docker tag to v5.14
2024-06-12 03:00:01 +00:00
9345f75b3b Update qemux/qemu-docker Docker tag to v5.14
Update qemux/qemu-docker from 5.13 to 5.14

Change-type: patch
2024-06-12 02:55:47 +00:00
506e046140 v4.0.36 2024-06-12 00:01:25 +00:00
9b19d1e3fb Merge pull request #232 from balena-io/renovate/balena-open-balena-s3-2.28.x
Update balena/open-balena-s3 Docker tag to v2.28.45
2024-06-12 00:00:30 +00:00
1d34d468b4 Update balena/open-balena-s3 Docker tag to v2.28.45
Update balena/open-balena-s3 from 2.28.44 to 2.28.45

Change-type: patch
2024-06-11 23:54:54 +00:00
a939d907d5 v4.0.35 2024-06-11 23:07:12 +00:00
2fbf7895ef Merge pull request #229 from balena-io/renovate/balena-open-balena-api-24.3.x
Update balena/open-balena-api Docker tag to v24.3.1
2024-06-11 23:06:29 +00:00
c448be555b Update balena/open-balena-api Docker tag to v24.3.1
Update balena/open-balena-api from 24.3.0 to 24.3.1

Change-type: patch
2024-06-11 22:55:46 +00:00
03f3f9134b v4.0.34 2024-06-11 22:03:46 +00:00
3db1233154 Merge pull request #230 from balena-io/renovate/balena-open-balena-registry-2.39.x
Update balena/open-balena-registry Docker tag to v2.39.58
2024-06-11 22:02:32 +00:00
f6bdc3ea65 Update balena/open-balena-registry Docker tag to v2.39.58
Update balena/open-balena-registry from 2.39.57 to 2.39.58

Change-type: patch
2024-06-11 21:53:09 +00:00
73be11fd0f v4.0.33 2024-06-11 15:56:31 +00:00
6162e15f91 Merge pull request #228 from balena-io/renovate/balena-open-balena-api-24.x
Update balena/open-balena-api Docker tag to v24.3.0
2024-06-11 15:55:50 +00:00
6c49a9ef98 Update balena/open-balena-api Docker tag to v24.3.0
Update balena/open-balena-api from 24.2.2 to 24.3.0

Change-type: patch
2024-06-11 15:52:04 +00:00
7ab210b2f9 v4.0.32 2024-06-11 13:57:45 +00:00
f97b471d97 Merge pull request #227 from balena-io/renovate/balena-open-balena-api-24.2.x
Update balena/open-balena-api Docker tag to v24.2.2
2024-06-11 13:56:54 +00:00
16d1bbc25b Update balena/open-balena-api Docker tag to v24.2.2
Update balena/open-balena-api from 24.2.1 to 24.2.2

Change-type: patch
2024-06-11 13:52:23 +00:00
36c6055b63 v4.0.31 2024-06-11 04:58:26 +00:00
9d138c22e8 Merge pull request #226 from balena-io/renovate/aws-actions-configure-aws-credentials-digest
Update aws-actions/configure-aws-credentials digest to c7680c3
2024-06-11 04:57:42 +00:00
e89f6c069b Update aws-actions/configure-aws-credentials digest to c7680c3
Update aws-actions/configure-aws-credentials

Change-type: patch
2024-06-11 04:54:11 +00:00
bf5e5d9caf v4.0.30 2024-06-11 03:57:13 +00:00
1382e77e07 Merge pull request #225 from balena-io/renovate/aws-actions-configure-aws-credentials-digest
Update aws-actions/configure-aws-credentials digest to cf3f053
2024-06-11 03:56:33 +00:00
3f69ce0ca0 Update aws-actions/configure-aws-credentials digest to cf3f053
Update aws-actions/configure-aws-credentials

Change-type: patch
2024-06-11 03:53:28 +00:00
6ef5c59820 v4.0.29 2024-06-11 00:03:28 +00:00
0159b929a6 Merge pull request #224 from balena-io/renovate/qemux-qemu-docker-5.x
Update qemux/qemu-docker Docker tag to v5.13
2024-06-11 00:02:29 +00:00
c7b07b9f02 Update qemux/qemu-docker Docker tag to v5.13
Update qemux/qemu-docker from 5.12 to 5.13

Change-type: patch
2024-06-10 23:52:14 +00:00
bd7eb1889c v4.0.28 2024-06-10 22:57:43 +00:00
2cc0eb72c1 Merge pull request #223 from balena-io/renovate/balena-open-balena-api-24.2.x
Update balena/open-balena-api Docker tag to v24.2.1
2024-06-10 22:57:04 +00:00
7f71b83f62 Update balena/open-balena-api Docker tag to v24.2.1
Update balena/open-balena-api from 24.2.0 to 24.2.1

Change-type: patch
2024-06-10 22:52:38 +00:00
f91bb909ef v4.0.27 2024-06-10 15:28:44 +00:00
19f2691112 Merge pull request #222 from balena-io/ab77/patch
ignore .env if it doesn't exist
2024-06-10 15:25:03 +00:00
fb3b2211c1 ignore .env if it doesn't exist
change-type: patch
2024-06-10 07:54:52 -07:00
c2369950b0 v4.0.26 2024-06-10 13:58:44 +00:00
6ec137bf17 Merge pull request #221 from balena-io/renovate/balena-open-balena-api-24.x
Update balena/open-balena-api Docker tag to v24.2.0
2024-06-10 13:57:50 +00:00
b37c476f58 Update balena/open-balena-api Docker tag to v24.2.0
Update balena/open-balena-api from 24.1.3 to 24.2.0

Change-type: patch
2024-06-10 13:53:45 +00:00
39c3fed5df v4.0.25 2024-06-10 02:20:19 +00:00
32d123b3f9 Merge pull request #220 from balena-io/renovate/balena-open-balena-api-24.1.x
Update balena/open-balena-api Docker tag to v24.1.3
2024-06-10 02:19:37 +00:00
cf5e4d226b Update balena/open-balena-api Docker tag to v24.1.3
Update balena/open-balena-api from 24.1.2 to 24.1.3

Change-type: patch
2024-06-10 02:15:31 +00:00
80b6bb67d6 v4.0.24 2024-06-09 22:12:18 +00:00
a420a3edef Merge pull request #216 from balena-io/ab77/patch
backoff retry device registrations and tagging
2024-06-09 22:11:34 +00:00
4e1e10501d backoff retry device registrations and tagging
change-type: patch
2024-06-09 15:06:41 -07:00
57a8d218c4 v4.0.23 2024-06-09 15:57:32 +00:00
67fb253ff5 Merge pull request #218 from balena-io/renovate/qemux-qemu-docker-5.x
Update qemux/qemu-docker Docker tag to v5.12
2024-06-09 15:56:42 +00:00
7625d40d80 Update qemux/qemu-docker Docker tag to v5.12
Update qemux/qemu-docker from 5.11 to 5.12

Change-type: patch
2024-06-09 15:52:13 +00:00
c97b87918b v4.0.22 2024-06-07 11:08:21 +00:00
76cae37cdb Merge pull request #217 from balena-io/renovate/balena-open-balena-api-24.1.x
Update balena/open-balena-api Docker tag to v24.1.2
2024-06-07 11:07:26 +00:00
e741155b4b Update balena/open-balena-api Docker tag to v24.1.2
Update balena/open-balena-api from 24.1.1 to 24.1.2

Change-type: patch
2024-06-07 10:54:43 +00:00
6cf973527a v4.0.21 2024-06-06 19:33:20 +00:00
560557b095 Merge pull request #215 from balena-io/renovate/balena-open-balena-api-24.x
Update balena/open-balena-api Docker tag to v24
2024-06-06 12:32:15 -07:00
d205982207 Update balena/open-balena-api Docker tag to v24
Update balena/open-balena-api from 23.3.0 to 24.1.1

Change-type: patch
2024-06-06 17:51:41 +00:00
bf0b843624 v4.0.20 2024-06-06 09:58:30 +00:00
6d92d50c1c Merge pull request #214 from balena-io/renovate/balena-open-balena-api-23.x
Update balena/open-balena-api Docker tag to v23.3.0
2024-06-06 09:57:43 +00:00
8af31148c1 Update balena/open-balena-api Docker tag to v23.3.0
Update balena/open-balena-api from 23.2.0 to 23.3.0

Change-type: patch
2024-06-06 09:53:25 +00:00
6e69b42963 v4.0.19 2024-06-05 16:00:26 +00:00
e6764e2919 Merge pull request #213 from balena-io/renovate/balena-open-balena-api-23.x
Update balena/open-balena-api Docker tag to v23.2.0
2024-06-05 15:59:36 +00:00
54d3cd3c1c Update balena/open-balena-api Docker tag to v23.2.0
Update balena/open-balena-api from 23.1.0 to 23.2.0

Change-type: patch
2024-06-05 15:55:26 +00:00
4a2b04b18f v4.0.18 2024-06-05 10:57:42 +00:00
14b7daea72 Merge pull request #212 from balena-io/renovate/qemux-qemu-docker-5.x
Update qemux/qemu-docker Docker tag to v5.11
2024-06-05 10:56:43 +00:00
4f8413e564 Update qemux/qemu-docker Docker tag to v5.11
Update qemux/qemu-docker from 5.10 to 5.11

Change-type: patch
2024-06-05 10:51:53 +00:00
fdbe6df36a v4.0.17 2024-06-04 21:00:54 +00:00
ceb81db652 Merge pull request #211 from balena-io/renovate/balena-open-balena-api-23.x
Update balena/open-balena-api Docker tag to v23.1.0
2024-06-04 21:00:08 +00:00
76cb7ef4ea Update balena/open-balena-api Docker tag to v23.1.0
Update balena/open-balena-api from 23.0.2 to 23.1.0

Change-type: patch
2024-06-04 20:56:25 +00:00
d9b8b8f2b4 v4.0.16 2024-06-04 15:03:56 +00:00
72088ac8eb Merge pull request #210 from balena-io/renovate/balena-open-balena-api-23.0.x
Update balena/open-balena-api Docker tag to v23.0.2
2024-06-04 15:03:02 +00:00
b4af363152 Update balena/open-balena-api Docker tag to v23.0.2
Update balena/open-balena-api from 23.0.1 to 23.0.2

Change-type: patch
2024-06-04 14:55:32 +00:00
dc83f0b095 v4.0.15 2024-06-04 04:00:05 +00:00
6f7c7a54f4 Merge pull request #209 from balena-io/renovate/aws-actions-configure-aws-credentials-digest
Update aws-actions/configure-aws-credentials digest to bd07581
2024-06-04 03:59:13 +00:00
07e01297aa Update aws-actions/configure-aws-credentials digest to bd07581
Update aws-actions/configure-aws-credentials

Change-type: patch
2024-06-04 03:55:11 +00:00
7a36fe1f76 v4.0.14 2024-06-02 19:57:17 +00:00
7a63a52dea Merge pull request #208 from balena-io/renovate/qemux-qemu-docker-5.x
Update qemux/qemu-docker Docker tag to v5.10
2024-06-02 19:56:35 +00:00
af2ce80fd9 Update qemux/qemu-docker Docker tag to v5.10
Update qemux/qemu-docker from 5.09 to 5.10

Change-type: patch
2024-06-02 19:52:46 +00:00
3cdeed6b3f v4.0.13 2024-05-30 23:58:24 +00:00
06c6c0b93f Merge pull request #202 from balena-io/renovate/ubuntu-24.x
Update ubuntu Docker tag to v24
2024-05-30 16:57:37 -07:00
496a1d75ec Update ubuntu Docker tag to v24
Update ubuntu from 22.04 to noble

Change-type: patch
2024-05-30 22:51:57 +00:00
ea7f30ed94 v4.0.12 2024-05-30 21:56:54 +00:00
dce23ab8b2 Merge pull request #201 from balena-io/renovate/qemux-qemu-docker-5.x
Update qemux/qemu-docker Docker tag to v5
2024-05-30 14:56:08 -07:00
5b835f3a8e Update qemux/qemu-docker Docker tag to v5
Update qemux/qemu-docker from 4.28 to 5.09

Change-type: patch
2024-05-30 20:52:17 +00:00
af3e7612b3 v4.0.11 2024-05-30 18:00:57 +00:00
d170f74eea Merge pull request #205 from balena-io/renovate/balena-open-balena-registry-2.39.x
Update balena/open-balena-registry Docker tag to v2.39.57
2024-05-30 18:00:06 +00:00
dfe88d90d5 Update balena/open-balena-registry Docker tag to v2.39.57
Update balena/open-balena-registry from 2.39.56 to 2.39.57

Change-type: patch
2024-05-30 17:54:21 +00:00
231d6f0000 v4.0.10 2024-05-30 16:59:46 +00:00
538ed220e5 Merge pull request #206 from balena-io/renovate/balena-open-balena-s3-2.28.x
Update balena/open-balena-s3 Docker tag to v2.28.44
2024-05-30 16:59:04 +00:00
661ff99321 Update balena/open-balena-s3 Docker tag to v2.28.44
Update balena/open-balena-s3 from 2.28.43 to 2.28.44

Change-type: patch
2024-05-30 16:52:25 +00:00
d348c4870b v4.0.9 2024-05-30 16:43:34 +00:00
e6103a3c1c Merge pull request #200 from balena-io/renovate/balena-open-balena-api-23.x
Update balena/open-balena-api Docker tag to v23
2024-05-30 09:42:42 -07:00
79f0609b6b Update balena/open-balena-api Docker tag to v23
Update balena/open-balena-api from 22.2.3 to 23.0.1

Change-type: patch
2024-05-30 15:55:24 +00:00
db0e6315ea v4.0.8 2024-05-29 05:57:16 +00:00
dea3d8a244 Merge pull request #198 from balena-io/renovate/balena-open-balena-vpn-11.30.x
Update balena/open-balena-vpn Docker tag to v11.30.22
2024-05-29 05:56:33 +00:00
1ea77d38ca Update balena/open-balena-vpn Docker tag to v11.30.22
Update balena/open-balena-vpn from 11.30.9 to 11.30.22

Change-type: patch
2024-05-29 05:53:17 +00:00
992dc8fea6 v4.0.7 2024-05-29 04:57:27 +00:00
da5f3a4a2d Merge pull request #199 from balena-io/renovate/qemux-qemu-docker-4.x
Update qemux/qemu-docker Docker tag to v4.28
2024-05-29 04:56:42 +00:00
1c3b8dd38f Update qemux/qemu-docker Docker tag to v4.28
Update qemux/qemu-docker from 4.24 to 4.28

Change-type: patch
2024-05-29 04:52:57 +00:00
76adeff491 v4.0.6 2024-05-29 03:57:56 +00:00
a8d8a9f12f Merge pull request #197 from balena-io/renovate/balena-open-balena-s3-2.28.x
Update balena/open-balena-s3 Docker tag to v2.28.43
2024-05-29 03:57:06 +00:00
9d3b6ccc3f Update balena/open-balena-s3 Docker tag to v2.28.43
Update balena/open-balena-s3 from 2.28.42 to 2.28.43

Change-type: patch
2024-05-29 03:53:50 +00:00
4b13d5d97d v4.0.5 2024-05-29 03:00:21 +00:00
9404a61e54 Merge pull request #195 from balena-io/renovate/balena-open-balena-haproxy-4.3.x
Update balena/open-balena-haproxy Docker tag to v4.3.2
2024-05-29 02:59:36 +00:00
fbd49bb409 Update balena/open-balena-haproxy Docker tag to v4.3.2
Update balena/open-balena-haproxy from 4.3.1 to 4.3.2

Change-type: patch
2024-05-29 02:55:37 +00:00
c1c8667da4 v4.0.4 2024-05-29 02:17:27 +00:00
888865caf5 Merge pull request #196 from balena-io/renovate/balena-open-balena-registry-2.39.x
Update balena/open-balena-registry Docker tag to v2.39.56
2024-05-29 02:16:43 +00:00
40bf98a26c Update balena/open-balena-registry Docker tag to v2.39.56
Update balena/open-balena-registry from 2.39.55 to 2.39.56

Change-type: patch
2024-05-29 02:13:20 +00:00
eb8e9075b1 v4.0.3 2024-05-29 01:18:12 +00:00
f53f142df4 Merge pull request #193 from balena-io/renovate/aws-actions-configure-aws-credentials-digest
Update aws-actions/configure-aws-credentials digest to 43c8912
2024-05-29 01:17:30 +00:00
8e7be03371 Update aws-actions/configure-aws-credentials digest to 43c8912
Update aws-actions/configure-aws-credentials

Change-type: patch
2024-05-29 01:13:22 +00:00
13 changed files with 1616 additions and 193 deletions

View File

@ -50,8 +50,3 @@ jobs:
github.event_name == 'pull_request_target'
)) && github.event.action != 'closed'
secrets: inherit
with:
environment: balena-cloud.com
fleet: balena/open-balena
# https://dash.cloudflare.com/001b3ed2352612aaa068aca1b0022736/balena-devices.com/dns
dns_tld: balena-devices.com

View File

@ -3,85 +3,112 @@ name: openBalena tests
on:
workflow_call:
inputs:
environment:
description: "balenaCloud environment"
required: true
type: string
fleet:
description: "balenaCloud fleet"
required: true
type: string
dns_tld:
description: "domain name to use for issuing SSL certificates"
required: true
type: string
# https://docs.github.com/en/actions/security-guides/automatic-token-authentication
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions
permissions:
actions: read
checks: read
contents: read
deployments: read
id-token: write # AWS GitHub OIDC required: write
issues: read
discussions: read
id-token: "write" # AWS GitHub OIDC required: write
packages: read
pages: read
pull-requests: read
repository-projects: read
security-events: read
statuses: read
# https://docs.github.com/en/actions/using-jobs/using-concurrency
concurrency:
group: ${{ github.workflow }}-${{ github.event.number || github.ref }}
# cancel jobs in progress for updated PRs, but not merge or tag events
cancel-in-progress: ${{ github.event.action == 'synchronize' }}
env:
# Stack ID
# arn:aws:cloudformation:us-east-1:491725000532:stack/balena-tests-s3-certs/814dea60-404d-11ed-b06f-0a7d458f8ba5
AWS_S3_CERTS_BUCKET: balena-tests-certs
# (kvm) nested virtualisation not supported on AWS/EC2 instance types|classes other than X.metal
AWS_EC2_INSTANCE_TYPE: c6a.2xlarge
AWS_EC2_INSTANCE_TYPES: "r6i.2xlarge r6a.2xlarge r5.2xlarge r5n.2xlarge r5b.2xlarge r5a.2xlarge m5.2xlarge m5n.2xlarge m5a.2xlarge m6i.2xlarge c6a.2xlarge c6i.2xlarge c5n.2xlarge c5.2xlarge c5a.2xlarge"
AWS_EC2_LAUNCH_TEMPLATE: lt-02e10a4f66261319d
AWS_EC2_LT_VERSION: 2
AWS_IAM_USERNAME: balena-tests-iam-User-1GXO3XP12N6LL
AWS_LOGS_RETENTION: "30"
AWS_VPC_SECURITY_GROUP_IDS: sg-057937f4d89d9d51c
AWS_VPC_SUBNET_IDS: 'subnet-02d18a08ea4058574 subnet-0a026eae1df907a09'
AWS_VPC_SUBNET_IDS: "subnet-02d18a08ea4058574 subnet-0a026eae1df907a09"
# otherwise it tries to send data to an endpoint provided by a private project
# https://github.com/balena-io/analytics-backend
# .. which is not part of openBalena
BALENARC_NO_ANALYTICS: '1' # https://github.com/balena-io/balena-cli/blob/master/lib/events.ts#L62-L70
DEBUG: '0' # https://github.com/balena-io/balena-cli/issues/2447
RETRY: 3
SUBDOMAIN: auto
BALENARC_NO_ANALYTICS: "1" # https://github.com/balena-io/balena-cli/blob/master/lib/events.ts#L62-L70
DEBUG: "0" # https://github.com/balena-io/balena-cli/issues/2447
RETRY: "3"
jobs:
test:
runs-on: ["self-hosted", "X64", "distro:jammy"] # tests require socat v1.7.4
runs-on: ["self-hosted", "X64", "distro:jammy"] # balenaOS (balena-public-pki) tests require socat v1.7.4
timeout-minutes: 60
strategy:
fail-fast: true
fail-fast: false
matrix:
target:
- compose-private-pki
- balena-public-pki
include:
# tests Docker (compose) flow using self-signed PKI
- target: compose-private-pki
launch_template_version: ${{ vars.AWS_EC2_LT_VERSION || '6' }}
# https://docs.renovatebot.com/modules/datasource/aws-machine-image/
# amiFilter=[{"Name":"owner-id","Values":["099720109477"]},{"Name":"name","Values":["ubuntu/images/hvm-ssd-gp3/ubuntu-noble-24.04-amd64-server-*"]},{"region":"us-east-1"}]
# currentImageName=unknown
ami: ami-04b70fa74e45c3917
subdomain: ${{ vars.DNS_SUBDOMAIN || 'auto' }}
dns_tld: ${{ vars.DNS_TLD || 'balena-devices.com' }}
# .. balenaCloud flow with Let's Encrypt (ACME) PKI
- target: balena-public-pki
launch_template_version: ${{ vars.AWS_EC2_LT_VERSION || '6' }}
# https://docs.renovatebot.com/modules/datasource/aws-machine-image/
# amiFilter=[{"Name":"owner-id","Values":["491725000532"]},{"Name":"name","Values":["balenaOS-installer-secureboot-*-generic-amd64"]},{"region":"us-east-1"}]
# currentImageName=unknown
ami: ami-03a3995797dee84fa
# https://dash.cloudflare.com/001b3ed2352612aaa068aca1b0022736/balena-devices.com/dns
subdomain: ${{ vars.DNS_SUBDOMAIN || 'auto' }}
dns_tld: ${{ vars.DNS_TLD || 'balena-devices.com' }}
environment: ${{ vars.BALENARC_BALENA_URL || 'balena-cloud.com' }}
fleet: ${{ vars.BALENA_FLEET || 'balena/open-balena' }}
environment:
name: ${{ matrix.target }}
steps:
- uses: actions/checkout@b80ff79f1755d06ba70441c368a6fe801f5f3a62
with:
# FIXME: remove once balenaBlocks/balenaVirt is a thing
submodules: true
- uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502
# https://github.com/unfor19/install-aws-cli-action
- name: Setup awscli
uses: unfor19/install-aws-cli-action@e8b481e524a99f37fbd39fdc1dcb3341ab091367 # v1
- uses: aws-actions/configure-aws-credentials@61a110527dcc9ccef6c109117050c80a00bec898
with:
aws-region: ${{ vars.AWS_REGION || 'us-east-1' }}
role-session-name: github-${{ github.job }}-${{ github.run_id }}-${{ github.run_attempt }}
# balena-io/environments-bases: aws/balenacloud/ephemeral-tests/balena-tests-iam.yml
role-to-assume: ${{ vars.AWS_IAM_ROLE }}
# https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html#install-plugin-debian
- name: install session-manager-plugin
if: matrix.target == 'compose-private-pki'
run: |
runner_arch="$(echo "${RUNNER_ARCH}" | tr '[:upper:]' '[:lower:]' | sed 's/x64/64bit/g')"
session-manager-plugin || (curl -sSfo session-manager-plugin.deb https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_${runner_arch}/session-manager-plugin.deb \
&& sudo dpkg -i session-manager-plugin.deb \
&& rm -f session-manager-plugin.deb)
# https://github.com/balena-io-examples/setup-balena-action
- name: Setup balena CLI
uses: balena-io-examples/setup-balena-action@main
# https://github.com/pdcastro/ssh-uuid#why
# https://github.com/pdcastro/ssh-uuid#linux-debian-ubuntu-others
- name: install additional dependencies
- name: install ssh(scp)-uuid
if: matrix.target == 'balena-public-pki'
shell: bash
run: |
set -ue
echo '::notice::install additional dependencies'
[[ '${{ vars.VERBOSE || 'false' }}' =~ on|On|Yes|yes|true|True ]] && set -x
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
@ -100,13 +127,65 @@ jobs:
grep -q "${RUNNER_TEMP}/ssh-uuid" "${GITHUB_PATH}" \
|| echo "${RUNNER_TEMP}/ssh-uuid" >> "${GITHUB_PATH}"
- name: (pre)register test device
id: register-test-device
if: ${{ github.event_name == 'pull_request' && github.event.action != 'closed'}}
- name: install cloud-init
if: matrix.target == 'compose-private-pki'
shell: bash
run: sudo apt update && sudo apt install -y cloud-init
- name: generate SSH private key
id: generate-key-pair
run: |
set -ue
[[ '${{ vars.VERBOSE || 'false' }}' =~ on|On|Yes|yes|true|True ]] && set -x
verbose='+x'
if [[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]]; then
verbose='-x'
fi
set ${verbose}
key_name="${{ matrix.target }}-${GITHUB_RUN_ID}-${GITHUB_RUN_NUMBER}-${GITHUB_RUN_ATTEMPT}"
echo "key_name=${key_name}" >> $GITHUB_OUTPUT
set +x
private_key_material="$(aws ec2 create-key-pair \
--key-name "${key_name}" | jq -r .KeyMaterial)"
public_key="$(aws ec2 describe-key-pairs --include-public-key \
--key-name "${key_name}" | jq -re .KeyPairs[].PublicKey)"
# https://stackoverflow.com/a/70384422/1559300
# https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#masking-a-value-in-log
while read -r line; do
echo "::add-mask::${line}"
done <<< "${private_key_material}"
ssh_private_key="$(cat << EOF
$(echo "${private_key_material}")
EOF
)"
echo "ssh_private_key<<EOF" >> $GITHUB_OUTPUT
set ${verbose}
echo "${ssh_private_key}" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
echo "ssh_public_key=${public_key}" >> "${GITHUB_OUTPUT}"
env:
AWS_DEFAULT_REGION: ${{ vars.AWS_REGION || 'us-east-1' }}
# https://github.com/webfactory/ssh-agent
- uses: webfactory/ssh-agent@dc588b651fe13675774614f8e6a936a468676387 # v0.9.0
with:
ssh-private-key: ${{ steps.generate-key-pair.outputs.ssh_private_key }}
- name: (pre)register balenaOS test device
id: register-test-device
if: matrix.target == 'balena-public-pki'
run: |
set -ue
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
@ -115,7 +194,7 @@ jobs:
balena_device_uuid="$(openssl rand -hex 16)"
# https://www.balena.io/docs/learn/more/masterclasses/advanced-cli/#52-preregistering-a-device
balena device register '${{ inputs.fleet }}' --uuid "${balena_device_uuid}"
with_backoff balena device register '${{ matrix.fleet }}' --uuid "${balena_device_uuid}"
device_id="$(balena device "${balena_device_uuid}" | grep ^ID: | cut -c20-)"
@ -130,7 +209,7 @@ jobs:
$([[ '${{ vars.DEVELOPMENT_MODE || 'false' }}' =~ true ]] && echo '--dev') \
--output config.json
balena tag set balena ephemeral-test-device --device "${balena_device_uuid}"
with_backoff balena tag set balena ephemeral-test-device --device "${balena_device_uuid}"
github_vars=(GITHUB_ACTOR GITHUB_BASE_REF GITHUB_HEAD_REF GITHUB_JOB \
GITHUB_REF GITHUB_REF_NAME GITHUB_REF_TYPE GITHUB_REPOSITORY \
@ -144,13 +223,13 @@ jobs:
echo "balena_device_uuid=${balena_device_uuid}" >> "${GITHUB_OUTPUT}"
echo "balena_device_id=${device_id}" >> "${GITHUB_OUTPUT}"
# https://github.com/balena-io/balena-cli/issues/1543
- name: pin device to draft release
if: ${{ github.event_name == 'pull_request' && github.event.action != 'closed'}}
# https://github.com/balena-io/balena-cli/issues/1543
- name: pin balenaOS test device to draft release
if: matrix.target == 'balena-public-pki'
run: |
set -uae
[[ '${{ vars.VERBOSE || 'false' }}' =~ on|On|Yes|yes|true|True ]] && set -x
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
@ -158,7 +237,7 @@ jobs:
pr_id='${{ github.event.pull_request.id }}'
head_sha='${{ github.event.pull_request.head.sha || github.event.head_commit.id }}'
release_id="$(with_backoff balena releases '${{ inputs.fleet }}' --json \
release_id="$(with_backoff balena releases '${{ matrix.fleet }}' --json \
| jq -r --arg pr_id "${pr_id}" --arg head_sha "${head_sha}" '.[]
| select(.release_tag[].tag_key=="balena-ci-commit-sha")
| select(.release_tag[].value==$head_sha)
@ -171,12 +250,12 @@ jobs:
with_backoff balena device ${{ steps.register-test-device.outputs.balena_device_uuid }}
- name: configure test device environment
if: ${{ github.event_name == 'pull_request' && github.event.action != 'closed'}}
- name: configure balenaOS test device environment
if: matrix.target == 'balena-public-pki'
run: |
set -ue
[[ '${{ vars.VERBOSE || 'false' }}' =~ on|On|Yes|yes|true|True ]] && set -x
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
@ -188,7 +267,7 @@ jobs:
with_backoff balena env add BALENARC_NO_ANALYTICS '1' \
--device '${{ steps.register-test-device.outputs.balena_device_uuid }}'
with_backoff balena env add DNS_TLD '${{ env.SUBDOMAIN }}.${{ inputs.dns_tld }}' \
with_backoff balena env add DNS_TLD '${{ matrix.subdomain }}.${{ matrix.dns_tld }}' \
--device '${{ steps.register-test-device.outputs.balena_device_uuid }}'
with_backoff balena env add DB_HOST db \
@ -210,39 +289,39 @@ jobs:
# 10.0.2.100
#
with_backoff balena env add API_HOST 'api.${{ env.SUBDOMAIN }}.${{ inputs.dns_tld }}' \
with_backoff balena env add API_HOST 'api.${{ matrix.subdomain }}.${{ matrix.dns_tld }}' \
--device '${{ steps.register-test-device.outputs.balena_device_uuid }}'
# not used but required for config.json to be valid
with_backoff balena env add DELTA_HOST 'delta.${{ env.SUBDOMAIN }}.${{ inputs.dns_tld }}' \
with_backoff balena env add DELTA_HOST 'delta.${{ matrix.subdomain }}.${{ matrix.dns_tld }}' \
--device '${{ steps.register-test-device.outputs.balena_device_uuid }}'
with_backoff balena env add REGISTRY2_HOST 'registry2.${{ env.SUBDOMAIN }}.${{ inputs.dns_tld }}' \
with_backoff balena env add REGISTRY2_HOST 'registry2.${{ matrix.subdomain }}.${{ matrix.dns_tld }}' \
--device '${{ steps.register-test-device.outputs.balena_device_uuid }}'
with_backoff balena env add VPN_HOST 'cloudlink.${{ env.SUBDOMAIN }}.${{ inputs.dns_tld }}' \
with_backoff balena env add VPN_HOST 'cloudlink.${{ matrix.subdomain }}.${{ matrix.dns_tld }}' \
--device '${{ steps.register-test-device.outputs.balena_device_uuid }}'
with_backoff balena env add HOST 'api.${{ env.SUBDOMAIN }}.${{ inputs.dns_tld }}' \
with_backoff balena env add HOST 'api.${{ matrix.subdomain }}.${{ matrix.dns_tld }}' \
--service api \
--device '${{ steps.register-test-device.outputs.balena_device_uuid }}'
with_backoff balena env add TOKEN_AUTH_CERT_ISSUER 'api.${{ env.SUBDOMAIN }}.${{ inputs.dns_tld }}' \
with_backoff balena env add TOKEN_AUTH_CERT_ISSUER 'api.${{ matrix.subdomain }}.${{ matrix.dns_tld }}' \
--service api \
--device '${{ steps.register-test-device.outputs.balena_device_uuid }}'
with_backoff balena env add REGISTRY2_TOKEN_AUTH_ISSUER 'api.${{ env.SUBDOMAIN }}.${{ inputs.dns_tld }}' \
with_backoff balena env add REGISTRY2_TOKEN_AUTH_ISSUER 'api.${{ matrix.subdomain }}.${{ matrix.dns_tld }}' \
--service registry \
--device '${{ steps.register-test-device.outputs.balena_device_uuid }}'
with_backoff balena env add REGISTRY2_TOKEN_AUTH_REALM 'https://api.${{ env.SUBDOMAIN }}.${{ inputs.dns_tld }}/auth/v1/token' \
with_backoff balena env add REGISTRY2_TOKEN_AUTH_REALM 'https://api.${{ matrix.subdomain }}.${{ matrix.dns_tld }}/auth/v1/token' \
--service registry \
--device '${{ steps.register-test-device.outputs.balena_device_uuid }}'
with_backoff balena env add REGISTRY2_S3_REGION_ENDPOINT 's3.${{ env.SUBDOMAIN }}.${{ inputs.dns_tld }}' \
with_backoff balena env add REGISTRY2_S3_REGION_ENDPOINT 's3.${{ matrix.subdomain }}.${{ matrix.dns_tld }}' \
--device '${{ steps.register-test-device.outputs.balena_device_uuid }}'
with_backoff balena env add WEBRESOURCES_S3_HOST 's3.${{ env.SUBDOMAIN }}.${{ inputs.dns_tld }}' \
with_backoff balena env add WEBRESOURCES_S3_HOST 's3.${{ matrix.subdomain }}.${{ matrix.dns_tld }}' \
--device '${{ steps.register-test-device.outputs.balena_device_uuid }}'
# https://github.com/balena-io/cert-manager/blob/master/entry.sh#L255-L278
@ -256,7 +335,7 @@ jobs:
with_backoff balena env add COMMON_REGION '${{ env.AWS_REGION }}' \
--device '${{ steps.register-test-device.outputs.balena_device_uuid }}'
with_backoff balena env add SUPERUSER_EMAIL 'admin@${{ env.SUBDOMAIN }}.${{ inputs.dns_tld }}' \
with_backoff balena env add SUPERUSER_EMAIL 'admin@${{ matrix.subdomain }}.${{ matrix.dns_tld }}' \
--device '${{ steps.register-test-device.outputs.balena_device_uuid }}'
with_backoff balena env add ORG_UNIT openBalena \
@ -272,12 +351,12 @@ jobs:
--service sut \
--device '${{ steps.register-test-device.outputs.balena_device_uuid }}'
- name: configure test device secrets
if: ${{ github.event_name == 'pull_request' && github.event.action != 'closed'}}
- name: configure balenaOS test device secrets
if: matrix.target == 'balena-public-pki'
run: |
set -ue
[[ '${{ vars.VERBOSE || 'false' }}' =~ on|On|Yes|yes|true|True ]] && set -x
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
@ -302,28 +381,34 @@ jobs:
--service cert-manager \
--device '${{ steps.register-test-device.outputs.balena_device_uuid }}'
- name: provision ephemeral test device
id: provision-test-device
if: ${{ github.event_name == 'pull_request' && github.event.action != 'closed'}}
- name: provision balenaOS ephemeral SUT
id: balena-sut
if: matrix.target == 'balena-public-pki'
run: |
set -ue
[[ '${{ vars.VERBOSE || 'false' }}' =~ on|On|Yes|yes|true|True ]] && set -x
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
for subnet_id in ${{ env.AWS_VPC_SUBNET_IDS }}; do
# spot, on-demand
for market_type in ${{ vars.MARKET_TYPES || 'spot' }}; do
# https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html
response="$(aws ec2 run-instances \
--launch-template 'LaunchTemplateId=${{ env.AWS_EC2_LAUNCH_TEMPLATE }},Version=${{ env.AWS_EC2_LT_VERSION }}' \
--instance-type '${{ env.AWS_EC2_INSTANCE_TYPE }}' \
$([[ $market_type =~ spot ]] && echo '--instance-market-options MarketType=spot') \
--security-group-ids '${{ env.AWS_VPC_SECURITY_GROUP_IDS }}' \
--subnet-id "${subnet_id}" \
--associate-public-ip-address \
--user-data file://config.json \
--tag-specifications "ResourceType=instance,Tags=[{Key=Name,Value=balena-tests},{Key=MarketType,Value=${market_type}},{Key=Owner,Value=${{ env.AWS_IAM_USERNAME }}},{Key=GITHUB_SHA,Value=${GITHUB_SHA}-tests}]" || true)"
for instance_type in ${AWS_EC2_INSTANCE_TYPES}; do
# https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html
response="$(aws ec2 run-instances \
$([[ -n '${{ matrix.ami }}' ]] && echo '--image-id ${{ matrix.ami }}') \
--launch-template 'LaunchTemplateId=${{ env.AWS_EC2_LAUNCH_TEMPLATE }},Version=${{ matrix.launch_template_version }}' \
--instance-type "${instance_type}" \
$([[ $market_type =~ spot ]] && echo '--instance-market-options MarketType=spot') \
--security-group-ids '${{ env.AWS_VPC_SECURITY_GROUP_IDS }}' \
--subnet-id "${subnet_id}" \
--associate-public-ip-address \
--user-data file://config.json \
--tag-specifications "ResourceType=instance,Tags=[{Key=Name,Value=open-balena-tests},{Key=matrix.target,Value=${{ matrix.target }}},{Key=MarketType,Value=${market_type}},{Key=Owner,Value=${{ env.AWS_IAM_USERNAME }}},{Key=GITHUB_SHA,Value=${GITHUB_SHA}-tests},{Key=GITHUB_RUN_ID,Value=${GITHUB_RUN_ID}-tests},{Key=GITHUB_RUN_NUMBER,Value=${GITHUB_RUN_NUMBER}-tests},{Key=GITHUB_RUN_ATTEMPT,Value=${GITHUB_RUN_ATTEMPT}-tests}]" || true)"
[[ -n $response ]] && break
done
[[ -n $response ]] && break
done
[[ -n $response ]] && break
@ -334,35 +419,31 @@ jobs:
instance_id="$(echo "${response}" | jq -r '.Instances[].InstanceId')"
aws ec2 wait instance-running --instance-ids "${instance_id}"
aws ec2 wait instance-status-ok --instance-ids "${instance_id}"
with_backoff aws ec2 wait instance-status-ok --instance-ids "${instance_id}"
echo "instance_id=${instance_id}" >> "${GITHUB_OUTPUT}"
env:
AWS_ACCESS_KEY_ID: ${{ env.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ env.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: ${{ env.AWS_REGION }}
AWS_DEFAULT_REGION: ${{ vars.AWS_REGION || 'us-east-1' }}
- name: provision SSH key
- name: provision balenaCloud SSH key
id: provision-ssh-key
# wait for cloud-config
# https://github.com/balena-os/cloud-config
timeout-minutes: 5
if: ${{ github.event_name == 'pull_request' && github.event.action != 'closed'}}
if: matrix.target == 'balena-public-pki'
run: |
set -ue
[[ '${{ vars.VERBOSE || 'false' }}' =~ on|On|Yes|yes|true|True ]] && set -x
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
with_backoff balena login --token '${{ secrets.BALENA_API_KEY }}'
if ! [[ -e "${HOME}/.ssh/id_rsa" ]]; then
ssh-keygen -N '' \
-C "$(balena whoami | grep EMAIL | cut -c11-)" \
-f "${HOME}/.ssh/id_rsa"
echo '${{ steps.generate-key-pair.outputs.ssh_private_key }}' > "${HOME}/.ssh/id_rsa"
echo '${{ steps.generate-key-pair.outputs.ssh_public_key }}' > "${HOME}/.ssh/id_rsa.pub"
fi
echo "::notice::check $(balena keys | wc -l) keys"
@ -382,10 +463,6 @@ jobs:
balena keys
fi
pgrep ssh-agent || ssh-agent -a "${SSH_AUTH_SOCK}"
ssh-add "${HOME}/.ssh/id_rsa"
while ! [[ "$(ssh-uuid -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \
${{ steps.register-test-device.outputs.balena_device_uuid }}.balena \
cat /mnt/boot/config.json | jq -r .uuid)" =~ ${{ steps.register-test-device.outputs.balena_device_uuid }} ]]; do
@ -396,16 +473,13 @@ jobs:
echo "key_id=${GITHUB_SHA}" >> "${GITHUB_OUTPUT}"
env:
SSH_AUTH_SOCK: /tmp/ssh_agent.sock
- name: wait for application
- name: wait for balenaCloud application
timeout-minutes: 10
if: ${{ github.event_name == 'pull_request' && github.event.action != 'closed'}}
if: matrix.target == 'balena-public-pki'
run: |
set -ue
[[ '${{ vars.VERBOSE || 'false' }}' =~ on|On|Yes|yes|true|True ]] && set -x
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
@ -414,7 +488,7 @@ jobs:
balena whoami && ssh-add -l
while [[ "$(curl -X POST --silent --retry ${{ env.RETRY }} --fail \
'https://api.${{ inputs.environment }}/supervisor/v1/device' \
'https://api.${{ matrix.environment }}/supervisor/v1/device' \
--header 'authorization: Bearer ${{ secrets.BALENA_API_KEY }}' \
--header 'Content-Type:application/json' \
--data '{"uuid": "${{ steps.register-test-device.outputs.balena_device_uuid }}", "method": "GET"}' \
@ -444,20 +518,17 @@ jobs:
sleep "$(( (RANDOM % 30) + 30 ))s"
done
env:
SSH_AUTH_SOCK: /tmp/ssh_agent.sock
# (TBC) https://www.balena.io/docs/reference/supervisor/docker-compose/
# due to lack of long form depends_on support in compositions, restart to ensure all
# components are running with the latest configuration; preferred over restart via
# Supervisor API restart due to potential HTTP [timeouts](https://github.com/balena-os/balena-supervisor/issues/1157)
- name: restart components
- name: restart balenaEngine composition
timeout-minutes: 10
if: ${{ github.event_name == 'pull_request' && github.event.action != 'closed'}}
if: matrix.target == 'balena-public-pki'
run: |
set -ue
[[ '${{ vars.VERBOSE || 'false' }}' =~ on|On|Yes|yes|true|True ]] && set -x
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
@ -483,11 +554,8 @@ jobs:
sleep "$(( (RANDOM % 30) + 30 ))s"
done
env:
SSH_AUTH_SOCK: /tmp/ssh_agent.sock
- name: SUT&DUT
if: ${{ github.event_name == 'pull_request' && github.event.action != 'closed'}}
- name: SUT&DUT (balena)
if: matrix.target == 'balena-public-pki'
timeout-minutes: 20
# https://giters.com/gfx/example-github-actions-with-tty
# https://github.com/actions/runner/issues/241#issuecomment-924327172
@ -495,7 +563,7 @@ jobs:
run: |
set -ue
[[ '${{ vars.VERBOSE || 'false' }}' =~ on|On|Yes|yes|true|True ]] && set -x
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
@ -513,7 +581,7 @@ jobs:
status=''
while [[ "$status" =~ Running ]]; do
status="$(curl --silent --retry ${{ env.RETRY }} --fail \
'https://api.${{ inputs.environment }}/supervisor/v2/applications/state' \
'https://api.${{ matrix.environment }}/supervisor/v2/applications/state' \
--header 'authorization: Bearer ${{ secrets.BALENA_API_KEY }}' \
--header 'Content-Type:application/json' \
--data '{"uuid": "${{ steps.register-test-device.outputs.balena_device_uuid }}", "method": "GET"}' \
@ -528,7 +596,7 @@ jobs:
while ! [[ "$status" =~ exited ]]; do
echo "::warning::Still working..."
status="$(curl --silent --retry ${{ env.RETRY }} --fail \
'https://api.${{ inputs.environment }}/supervisor/v2/applications/state' \
'https://api.${{ matrix.environment }}/supervisor/v2/applications/state' \
--header 'authorization: Bearer ${{ secrets.BALENA_API_KEY }}' \
--header 'Content-Type:application/json' \
--data '{"uuid": "${{ steps.register-test-device.outputs.balena_device_uuid }}", "method": "GET"}' \
@ -547,35 +615,331 @@ jobs:
[[ $expected_exit_code -eq $actual_exit_code ]] || false
env:
SSH_AUTH_SOCK: /tmp/ssh_agent.sock
ATTEMPTS: 2
- name: remove SSH key
if: always()
- name: provision Ubuntu ephemeral SUT
id: ubuntu-sut
timeout-minutes: 20
if: matrix.target == 'compose-private-pki'
run: |
set -ue
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
function cleanup() {
rm -f user-data.yml
}
trap 'cleanup' EXIT
aws sts get-caller-identity
# https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html
# https://cloudinit.readthedocs.io/en/latest/reference/modules.html#update-etc-hosts
cat <<EOF >user-data.yml
#cloud-config
output : { all : '| tee -a /var/log/cloud-init-output.log' }
# https://cloudinit.readthedocs.io/en/latest/reference/modules.html#update-etc-hosts
manage_etc_hosts: localhost
packages:
- git
- jq
- wget
write_files:
- path: /root/.env
permissions: "0766"
content: |
DNS_TLD=${{ matrix.subdomain }}.${{ matrix.dns_tld }}
PRODUCTION_MODE=false
VERBOSE=${{ vars.VERBOSE }}
- path: /root/functions
permissions: "0777"
content: |
# https://coderwall.com/p/--eiqg/exponential-backoff-in-bash
function with_backoff() {
local max_attempts=\${ATTEMPTS-5}
local timeout=\${TIMEOUT-1}
local attempt=0
local exitCode=0
set +e
while [[ \$attempt < \$max_attempts ]]
do
"\$@"
exitCode=\$?
if [[ \$exitCode == 0 ]]
then
break
fi
echo "Failure! Retrying in \$timeout.." 1>&2
sleep "\$timeout"
attempt=\$(( attempt + 1 ))
timeout=\$(( timeout * 2 ))
done
if [[ \$exitCode != 0 ]]
then
echo "You've failed me for the last time! (\$*)" 1>&2
fi
set -e
return \$exitCode
}
# docs/getting-started.md
- path: /root/getting-started.sh
permissions: "0777"
content: |
#!/usr/bin/env bash
set -ax
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source /root/functions
apt-get update
which openssl || apt-get install -y make openssl
which git || apt-get install -y make git
which jq || apt-get install -y make jq
which make || apt-get install make
which yq || with_backoff wget -q https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/bin/yq
chmod +x /usr/bin/yq
yq --version
which docker || curl -fsSL https://get.docker.com | sh -
usermod -aG docker ubuntu
systemctl enable docker && systemctl start docker
chown ubuntu:docker /var/run/docker.sock
id -u balena || useradd -s /bin/bash -m -G docker,sudo balena
echo 'balena ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/balena
while ! docker ps; do sleep \$(((RANDOM%3)+1)); done
with_backoff docker login \
--username='${{ secrets.DOCKERHUB_USER }}' \
--password='${{ secrets.DOCKERHUB_TOKEN }}'
with_backoff docker login ghcr.io \
--username=token \
--password=${{ secrets.GITHUB_TOKEN }}
if [ ! -f /sys/fs/cgroup/cgroup.controllers ]; then
echo "cgroups v2 is disabled"
else
echo "cgroups v2 is enabled"
source /etc/default/grub
sed -i '/GRUB_CMDLINE_LINUX/d' /etc/default/grub
echo GRUB_CMDLINE_LINUX=\$(printf '\"%s systemd.unified_cgroup_hierarchy=0\"\n' "\${GRUB_CMDLINE_LINUX}") > /etc/default/grub
update-grub
reboot
fi
tmphosts="\$(mktemp)"
cat </etc/hosts | sed "s/\$(hostname)\$/\$(hostname) api.${{ matrix.subdomain }}.${{ matrix.dns_tld }}/g" >"\${tmphosts}" \
&& cat <"\${tmphosts}" >/etc/hosts \
&& rm -f "\${tmphosts}" \
&& getent hosts api.${{ matrix.subdomain }}.${{ matrix.dns_tld }} | grep 127.0.1.1
# cloud-init runs as root
# (e.g.) https://cloudinit.readthedocs.io/en/latest/reference/merging.html#example-cloud-config
runcmd:
- '/root/getting-started.sh' # FIXME: this may run before the script is written
EOF
cloud-init schema -c user-data.yml
for subnet_id in ${{ env.AWS_VPC_SUBNET_IDS }}; do
# spot, on-demand
for market_type in ${{ vars.MARKET_TYPES || 'spot' }}; do
for instance_type in ${AWS_EC2_INSTANCE_TYPES}; do
# https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html
response="$(aws ec2 run-instances \
$([[ -n '${{ matrix.ami }}' ]] && echo '--image-id ${{ matrix.ami }}') \
--launch-template 'LaunchTemplateId=${{ env.AWS_EC2_LAUNCH_TEMPLATE }},Version=${{ matrix.launch_template_version }}' \
--instance-type "${instance_type}" \
$([[ $market_type =~ spot ]] && echo '--instance-market-options MarketType=spot') \
--security-group-ids '${{ env.AWS_VPC_SECURITY_GROUP_IDS }}' \
--subnet-id "${subnet_id}" \
--key-name '${{ steps.generate-key-pair.outputs.key_name }}' \
--associate-public-ip-address \
--user-data file://user-data.yml \
--tag-specifications "ResourceType=instance,Tags=[{Key=Name,Value=open-balena-tests},{Key=matrix.target,Value=${{ matrix.target }}},{Key=MarketType,Value=${market_type}},{Key=Owner,Value=${{ env.AWS_IAM_USERNAME }}},{Key=GITHUB_SHA,Value=${GITHUB_SHA}-tests},{Key=GITHUB_RUN_ID,Value=${GITHUB_RUN_ID}-tests},{Key=GITHUB_RUN_NUMBER,Value=${GITHUB_RUN_NUMBER}-tests},{Key=GITHUB_RUN_ATTEMPT,Value=${GITHUB_RUN_ATTEMPT}-tests}]" || true)"
[[ -n $response ]] && break
done
[[ -n $response ]] && break
done
[[ -n $response ]] && break
done
[[ -z $response ]] && exit 1
instance_id="$(echo "${response}" | jq -r '.Instances[].InstanceId')"
echo "instance_id=${instance_id}" >> $GITHUB_OUTPUT
aws ec2 wait instance-running --instance-ids "${instance_id}"
with_backoff aws ec2 wait instance-status-ok --instance-ids "${instance_id}"
env:
ATTEMPTS: 2
AWS_DEFAULT_REGION: ${{ vars.AWS_REGION || 'us-east-1' }}
COMMIT: ${{ github.event.pull_request.head.sha || github.event.head_commit.id || github.event.pull_request.head.ref }}
- name: SUT&DUT (Ubuntu/compose)
if: matrix.target == 'compose-private-pki'
timeout-minutes: 30
run: |
set -ue
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
function log_output() {
rm -f "{HOME}/.ssh/config"
aws ssm list-command-invocations \
--details \
--output text \
--command-id "${cid}" || true
aws logs describe-log-streams \
--log-group-name open-balena-tests \
--log-stream-name-prefix "${cid}" || true
aws logs put-retention-policy \
--log-group-name open-balena-tests \
--retention-in-days "${{ env.AWS_LOGS_RETENTION }}" || true
}
trap 'log_output' EXIT
# https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started-enable-ssh-connections.html
cat << EOF > "${HOME}/.ssh/config"
host i-*
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"
EOF
# docs/getting-started.md
cmds="set -ax \
&& cloud-init status --wait --long && cat </var/log/cloud-init-output.log \
&& sudo -u balena git clone https://token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git /home/balena/open-balena \
&& sudo -u balena git config --global --add safe.directory /home/balena/open-balena \
&& cd /home/balena/open-balena \
&& sudo -u balena git checkout ${COMMIT} \
&& . /root/.env \
&& sudo -u balena touch .env \
&& docker compose version \
&& docker compose config --no-interpolate >${COMMIT} \
&& cat <${COMMIT} >docker-compose.yml \
&& sudo -u balena --preserve-env=DNS_TLD\,VERBOSE\,PRODUCTION_MODE make up \
&& sudo -u balena make self-signed \
&& sudo -u balena make verify \
&& sudo -u balena make restart \
&& docker compose wait dut"
# AWS-RunShellScript runs as root
result="$(aws ssm send-command \
--instance-ids ${{ steps.ubuntu-sut.outputs.instance_id }} \
--document-name AWS-RunShellScript \
--comment "open-balena-tests@${{ matrix.target }}" \
--parameters commands=["${cmds}"] \
--cloud-watch-output-config '{"CloudWatchLogGroupName":"open-balena-tests","CloudWatchOutputEnabled":true}')"
echo "${result}" | jq -re
cid="$(echo "${result}" | jq -r .Command.CommandId)"
iid="$(echo "${result}" | jq -r .Command.InstanceIds[0])"
([[ -n "$cid" ]] && [[ -n "$iid" ]]) || false
# https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#grouping-log-lines
CYAN='\033[0;36m'; NC='\033[0m'; echo -e "::group::${CYAN}open-balena-tests${NC}"
until [[ "$(aws ssm list-command-invocations --command-id "${cid}" \
| jq -re '.CommandInvocations[].Status')" =~ InProgress ]]; do
echo '::info::starting...'
sleep $(((RANDOM%5) + 5))s
done
echo '::info::command started'
while [[ $(aws logs describe-log-streams \
--log-group-name open-balena-tests \
--log-stream-name-prefix "${cid}" | jq -r '.logStreams|length') -le 0 ]]; do
echo '::info::waiting for logs...'
done
echo '::info::logs started'
until [[ "$(docker compose ls --format json | jq -re '.[] | select(.Status | startswith("running")).Name')" =~ open-balena ]]; do
echo '::info::waiting for composition...'
with_backoff docker compose ls
sleep $(((RANDOM%5) + 5))s
done
echo '::info::composition started'
touch .env
for service in sut dut; do
until [[ "$(docker compose ps --services "${service}" --status running)" =~ "${service}" ]]; do
echo "::info::waiting for ${service}..."
with_backoff docker compose ps
sleep $(((RANDOM%5) + 5))s
done
echo "::info::${service} started"
done
echo '::info::settling down...'
sleep $(((RANDOM%30) + 15))s
while [[ "$(aws ssm list-command-invocations --command-id "${cid}" \
| jq -re '.CommandInvocations[].Status')" =~ InProgress ]]; do
with_backoff docker compose ls && with_backoff docker compose ps
with_backoff docker compose logs --follow --timestamps sut
echo '::info::still running...'
sleep $(((RANDOM%1) + 1))s
done
aws ssm wait command-executed --command-id "${cid}" --instance-id "${iid}"
echo '::info::command finished'
echo "::endgroup::"
if ! [[ "$(aws ssm list-command-invocations --command-id "${cid}" \
| jq -r '.CommandInvocations[].Status')" =~ Success ]]; then
false
fi
env:
ATTEMPTS: 2
AWS_DEFAULT_REGION: ${{ vars.AWS_REGION || 'us-east-1' }}
DOCKER_HOST: ssh://ubuntu@${{ steps.ubuntu-sut.outputs.instance_id }}:22
COMMIT: ${{ github.event.pull_request.head.sha || github.event.head_commit.id || github.event.pull_request.head.ref }}
- name: remove balenaCloud SSH key
if: always() && matrix.target == 'balena-public-pki'
continue-on-error: true
run: |
set -ue
[[ '${{ vars.VERBOSE || 'false' }}' =~ on|On|Yes|yes|true|True ]] && set -x
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
with_backoff balena login --token '${{ secrets.BALENA_API_KEY }}'
with_backoff balena keys | grep ${{ steps.provision-ssh-key.outputs.key_id }} \
| awk '{print $1}' | xargs balena key rm --yes
| awk '{print $1}' | xargs --no-run-if-empty balena key rm --yes
pgrep ssh-agent && (pgrep ssh-agent | xargs kill)
rm -f /tmp/ssh_agent.sock
- name: destroy balena test device
if: always()
- name: delete balenaOS test device
if: always() && matrix.target == 'balena-public-pki'
continue-on-error: true
run: |
set -ue
[[ '${{ vars.VERBOSE || 'false' }}' =~ on|On|Yes|yes|true|True ]] && set -x
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
@ -584,32 +948,35 @@ jobs:
with_backoff balena device rm ${{ steps.register-test-device.outputs.balena_device_uuid }} --yes
env:
AWS_ACCESS_KEY_ID: ${{ env.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ env.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: ${{ env.AWS_REGION }}
AWS_DEFAULT_REGION: ${{ vars.AWS_REGION || 'us-east-1' }}
# always destroy test EC2 instances even if the workflow is cancelled
- name: destroy AWS test device
- name: destroy AWS test device(s)
if: always()
run: |
set -ue
[[ '${{ vars.VERBOSE || 'false' }}' =~ on|On|Yes|yes|true|True ]] && set -x
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
if [[ -n '${{ steps.provision-test-device.outputs.instance_id }}' ]]; then
if [[ -n '${{ steps.balena-sut.outputs.instance_id }}' ]]; then
with_backoff aws ec2 terminate-instances \
--instance-ids ${{ steps.provision-test-device.outputs.instance_id }}
--instance-ids ${{ steps.balena-sut.outputs.instance_id }}
fi
if [[ -n '${{ steps.ubuntu-sut.outputs.instance_id }}' ]]; then
with_backoff aws ec2 terminate-instances \
--instance-ids ${{ steps.ubuntu-sut.outputs.instance_id }}
fi
with_backoff aws ec2 describe-instances --filters Name=tag:GITHUB_SHA,Values=${GITHUB_SHA}-tests \
| jq -r .Reservations[].Instances[].InstanceId \
| xargs aws ec2 terminate-instances --instance-ids
| xargs --no-run-if-empty aws ec2 terminate-instances --instance-ids
stale_instances=$(mktemp)
aws ec2 describe-instances --filters \
Name=tag:Name,Values=balena-tests \
Name=tag:Name,Values=open-balena-tests \
Name=instance-state-name,Values=running \
| jq -re '.Reservations[].Instances[].InstanceId + " " + .Reservations[].Instances[].LaunchTime' > ${stale_instances} || true
@ -628,26 +995,24 @@ jobs:
fi
env:
AWS_ACCESS_KEY_ID: ${{ env.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ env.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: ${{ env.AWS_REGION }}
AWS_DEFAULT_REGION: ${{ vars.AWS_REGION || 'us-east-1' }}
# remove orphaned ACME DNS-01 validation records
# https://letsencrypt.org/docs/challenge-types/#dns-01-challenge
# FIXME: clean up older _acme-challenge.auto TXT records
- name: cleanup-dns-records
if: always()
- name: cleanup Cloudflare DNS
if: always() && matrix.target == 'balena-public-pki'
continue-on-error: true
run: |
set -ue
[[ '${{ vars.VERBOSE || 'false' }}' =~ on|On|Yes|yes|true|True ]] && set -x
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
if [[ -n '${{ steps.register-test-device.outputs.balena_device_uuid }}' ]]; then
match="${{ steps.register-test-device.outputs.balena_device_uuid }}.${{ env.SUBDOMAIN }}"
match="${{ steps.register-test-device.outputs.balena_device_uuid }}.${{ matrix.subdomain }}"
zone_id="$(curl --silent --retry ${{ env.RETRY }} \
"https://api.cloudflare.com/client/v4/zones?name=${{ inputs.dns_tld }}" \
"https://api.cloudflare.com/client/v4/zones?name=${{ matrix.dns_tld }}" \
-H 'Authorization: Bearer ${{ secrets.CLOUDFLARE_API_TOKEN }}' | jq -r '.result[].id')"
for record in "$(curl --silent --retry ${{ env.RETRY }} \
@ -673,4 +1038,4 @@ jobs:
fi
env:
DRY_RUN: true
DRY_RUN: false

View File

@ -1,3 +1,745 @@
- commits:
- subject: Pin unfor19/install-aws-cli-action action to e8b481e
hash: fe3bc20a300412d0918d985fa249844fe94953d4
body: |
Update unfor19/install-aws-cli-action
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.1.1
title: ""
date: 2024-06-24T20:56:51.820Z
- commits:
- subject: test compose workflow
hash: 9a172b03f787a5194dc6ad79eb497196e8cac8f8
body: >
* docker-compose test workflow to broadly approximate the getting
started guide,
since testing on balenaCloud/balenaOS alone doesn't give us a high level
of
confidence the project boots/works on compose
footer:
change-type: minor
author: Anton Belodedenko
nested: []
version: 4.1.0
title: ""
date: 2024-06-24T20:01:42.546Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v25.1.7
hash: 173a99d363396e25be84bbebd51fa8b3fcc01129
body: |
Update balena/open-balena-api from 25.1.6 to 25.1.7
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.57
title: ""
date: 2024-06-24T15:01:24.610Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v25.1.6
hash: aefe256e81d2e17e5515eac9163a738f2980e5b7
body: |
Update balena/open-balena-api from 25.1.5 to 25.1.6
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.56
title: ""
date: 2024-06-24T14:01:41.031Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v25.1.5
hash: c4d94801f692b33e3d688605bd4e3240ce493f07
body: |
Update balena/open-balena-api from 25.1.3 to 25.1.5
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.55
title: ""
date: 2024-06-24T05:59:14.616Z
- commits:
- subject: Update dependency balena-io/balena-cli to v18.2.10
hash: 0e28278a37b8672364befaf34d25ae92a8a891b4
body: |
Update balena-io/balena-cli from 18.2.9 to 18.2.10
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.54
title: ""
date: 2024-06-21T21:04:47.853Z
- commits:
- subject: Update dependency balena-io/balena-cli to v18.2.9
hash: be879e9fd9b12a8496999a640b39e5f618ec1834
body: |
Update balena-io/balena-cli from 18.2.8 to 18.2.9
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.53
title: ""
date: 2024-06-21T20:02:12.319Z
- commits:
- subject: Update dependency balena-io/balena-cli to v18.2.8
hash: a49e96d84f4ea8795782b5c132ee569cf6d5566e
body: |
Update balena-io/balena-cli from 18.2.7 to 18.2.8
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.52
title: ""
date: 2024-06-21T19:00:11.650Z
- commits:
- subject: Update dependency balena-io/balena-cli to v18.2.7
hash: cd4c361b8ca1e44730670c30fe0689cac805670f
body: |
Update balena-io/balena-cli from 18.2.6 to 18.2.7
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.51
title: ""
date: 2024-06-21T18:02:26.125Z
- commits:
- subject: Update dependency balena-io/balena-cli to v18.2.6
hash: da4647515e74e7d2a8073d8ed11e7398326c8fe2
body: |
Update balena-io/balena-cli from 18.2.5 to 18.2.6
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.50
title: ""
date: 2024-06-21T15:59:09.758Z
- commits:
- subject: Update dependency balena-io/balena-cli to v18.2.5
hash: 6c8786f4f9f9ae814bdc889eb571ae3465598de8
body: |
Update balena-io/balena-cli from 18.2.2 to 18.2.5
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.49
title: ""
date: 2024-06-21T13:04:36.164Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v25.1.3
hash: e742df4e896bb47d841bdb077ab1991d0aa172f7
body: |
Update balena/open-balena-api from 25.1.2 to 25.1.3
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.48
title: ""
date: 2024-06-19T17:57:48.261Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v25.1.2
hash: 252398e13003f3115aaada4526494d09be8f271d
body: |
Update balena/open-balena-api from 25.1.1 to 25.1.2
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.47
title: ""
date: 2024-06-19T13:57:45.166Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v25.1.1
hash: 25e2346f2d557d8abe313ac0a27b1893c2681a4d
body: |
Update balena/open-balena-api from 25.1.0 to 25.1.1
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.46
title: ""
date: 2024-06-18T08:58:32.128Z
- commits:
- subject: Update aws-actions/configure-aws-credentials digest to 61a1105
hash: 6dd753b744b8e4e73ce7a9bfe964aa1b017f4805
body: |
Update aws-actions/configure-aws-credentials
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.45
title: ""
date: 2024-06-18T03:56:36.468Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v25.1.0
hash: b87f2662f9339f60ef44efd1850e514cb4168e14
body: |
Update balena/open-balena-api from 25.0.2 to 25.1.0
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.44
title: ""
date: 2024-06-17T17:01:17.472Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v25
hash: 15e93fecc72c13d7749e862b3137890b0443bb52
body: |
Update balena/open-balena-api from 24.3.1 to 25.0.2
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.43
title: ""
date: 2024-06-17T16:26:19.681Z
- commits:
- subject: Update qemux/qemu-docker Docker tag to v5.16
hash: 217473e54acc86d8ea9f42b23ae91f507f340508
body: |
Update qemux/qemu-docker from 5.15 to 5.16
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.42
title: ""
date: 2024-06-13T22:57:11.136Z
- commits:
- subject: Update qemux/qemu-docker Docker tag to v5.15
hash: ca910f88d126f00cf0e4d0c5193485e27b98457d
body: |
Update qemux/qemu-docker from 5.14 to 5.15
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.41
title: ""
date: 2024-06-12T20:57:38.623Z
- commits:
- subject: Update actions/checkout digest to 692973e
hash: 6474a7a8b586d9aa354f01094d8bd01e495b7400
body: |
Update actions/checkout
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.40
title: ""
date: 2024-06-12T18:58:42.570Z
- commits:
- subject: Update actions/checkout digest to 6ccd57f
hash: 8090670ae69dcf6d394b2a83c58bc8942a5c7c4a
body: |
Update actions/checkout
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.39
title: ""
date: 2024-06-12T17:59:47.271Z
- commits:
- subject: Update actions/checkout digest to b17fe1e
hash: 12d9370d6f01fc5696aad22a8450ed5ddfe21237
body: |
Update actions/checkout
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.38
title: ""
date: 2024-06-12T16:04:51.156Z
- commits:
- subject: Update qemux/qemu-docker Docker tag to v5.14
hash: 9345f75b3b05ece962c0a4f7cdf58dfee289e1c4
body: |
Update qemux/qemu-docker from 5.13 to 5.14
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.37
title: ""
date: 2024-06-12T03:00:50.502Z
- commits:
- subject: Update balena/open-balena-s3 Docker tag to v2.28.45
hash: 1d34d468b4a367bb6ce2ba49450c30f3f6b30a65
body: |
Update balena/open-balena-s3 from 2.28.44 to 2.28.45
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.36
title: ""
date: 2024-06-12T00:01:21.103Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v24.3.1
hash: c448be555be1297559af3a140ce7e7ccb662393a
body: |
Update balena/open-balena-api from 24.3.0 to 24.3.1
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.35
title: ""
date: 2024-06-11T23:07:07.523Z
- commits:
- subject: Update balena/open-balena-registry Docker tag to v2.39.58
hash: f6bdc3ea655b2279da73bfe7a463e6054017362a
body: |
Update balena/open-balena-registry from 2.39.57 to 2.39.58
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.34
title: ""
date: 2024-06-11T22:03:39.192Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v24.3.0
hash: 6c49a9ef98cc8e4be050424954e8e5e1069601b4
body: |
Update balena/open-balena-api from 24.2.2 to 24.3.0
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.33
title: ""
date: 2024-06-11T15:56:28.106Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v24.2.2
hash: 16d1bbc25bf9068a8f9ac846c9b60cfde362589a
body: |
Update balena/open-balena-api from 24.2.1 to 24.2.2
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.32
title: ""
date: 2024-06-11T13:57:42.189Z
- commits:
- subject: Update aws-actions/configure-aws-credentials digest to c7680c3
hash: e89f6c069ba702459eaf50f767710cdad5d05df2
body: |
Update aws-actions/configure-aws-credentials
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.31
title: ""
date: 2024-06-11T04:58:23.292Z
- commits:
- subject: Update aws-actions/configure-aws-credentials digest to cf3f053
hash: 3f69ce0ca055d042ed966b048291d1241f033749
body: |
Update aws-actions/configure-aws-credentials
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.30
title: ""
date: 2024-06-11T03:57:10.363Z
- commits:
- subject: Update qemux/qemu-docker Docker tag to v5.13
hash: c7b07b9f02d6162562f144b59248334c8ed52623
body: |
Update qemux/qemu-docker from 5.12 to 5.13
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.29
title: ""
date: 2024-06-11T00:03:23.126Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v24.2.1
hash: 7f71b83f62a05edc9b00db8680ca91a76e1ef51d
body: |
Update balena/open-balena-api from 24.2.0 to 24.2.1
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.28
title: ""
date: 2024-06-10T22:57:40.430Z
- commits:
- subject: ignore .env if it doesn't exist
hash: fb3b2211c13f7586437360c7773cf8983d21f23d
body: ""
footer:
change-type: patch
author: Anton Belodedenko
nested: []
version: 4.0.27
title: ""
date: 2024-06-10T15:28:41.175Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v24.2.0
hash: b37c476f58ef07c8871fef385b9522d0e1a381b9
body: |
Update balena/open-balena-api from 24.1.3 to 24.2.0
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.26
title: ""
date: 2024-06-10T13:58:40.486Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v24.1.3
hash: cf5e4d226b2b13cf74a9b94b4c6ebd41bca8f933
body: |
Update balena/open-balena-api from 24.1.2 to 24.1.3
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.25
title: ""
date: 2024-06-10T02:20:16.146Z
- commits:
- subject: backoff retry device registrations and tagging
hash: 4e1e10501d443a5d7b014cfd948073a1efc34acf
body: ""
footer:
change-type: patch
author: Anton Belodedenko
nested: []
version: 4.0.24
title: ""
date: 2024-06-09T22:12:15.802Z
- commits:
- subject: Update qemux/qemu-docker Docker tag to v5.12
hash: 7625d40d80b593d441d9500c12630c4abeb5acf1
body: |
Update qemux/qemu-docker from 5.11 to 5.12
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.23
title: ""
date: 2024-06-09T15:57:29.274Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v24.1.2
hash: e741155b4be79d3cd18754de165f7f00f2dc6f80
body: |
Update balena/open-balena-api from 24.1.1 to 24.1.2
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.22
title: ""
date: 2024-06-07T11:08:18.462Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v24
hash: d20598220739749705d198a58c83e62ce51e34dd
body: |
Update balena/open-balena-api from 23.3.0 to 24.1.1
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.21
title: ""
date: 2024-06-06T19:33:16.038Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v23.3.0
hash: 8af31148c18212739bf3024bb7164e3b4f260308
body: |
Update balena/open-balena-api from 23.2.0 to 23.3.0
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.20
title: ""
date: 2024-06-06T09:58:27.460Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v23.2.0
hash: 54d3cd3c1ca590d4c53b54b2fbcd9b4ad959ad4c
body: |
Update balena/open-balena-api from 23.1.0 to 23.2.0
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.19
title: ""
date: 2024-06-05T16:00:22.731Z
- commits:
- subject: Update qemux/qemu-docker Docker tag to v5.11
hash: 4f8413e564cd984a7f17c9c249d7372f796bb117
body: |
Update qemux/qemu-docker from 5.10 to 5.11
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.18
title: ""
date: 2024-06-05T10:57:38.282Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v23.1.0
hash: 76cb7ef4eac98da7e94e974c4b8f96cc14524f02
body: |
Update balena/open-balena-api from 23.0.2 to 23.1.0
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.17
title: ""
date: 2024-06-04T21:00:51.177Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v23.0.2
hash: b4af363152633e55e62271d42001cc2cc02a1232
body: |
Update balena/open-balena-api from 23.0.1 to 23.0.2
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.16
title: ""
date: 2024-06-04T15:03:51.966Z
- commits:
- subject: Update aws-actions/configure-aws-credentials digest to bd07581
hash: 07e01297aae1d548ae51bfb2ae8acc0f66a1cef2
body: |
Update aws-actions/configure-aws-credentials
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.15
title: ""
date: 2024-06-04T04:00:00.889Z
- commits:
- subject: Update qemux/qemu-docker Docker tag to v5.10
hash: af2ce80fd99cefd6cec3937dfd40331396042210
body: |
Update qemux/qemu-docker from 5.09 to 5.10
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.14
title: ""
date: 2024-06-02T19:57:14.160Z
- commits:
- subject: Update ubuntu Docker tag to v24
hash: 496a1d75ec7f5a3b8f499eeb49c595f25f63ce49
body: |
Update ubuntu from 22.04 to noble
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.13
title: ""
date: 2024-05-30T23:58:20.498Z
- commits:
- subject: Update qemux/qemu-docker Docker tag to v5
hash: 5b835f3a8edbdd5575faa82c8d79d2b5d72fe27c
body: |
Update qemux/qemu-docker from 4.28 to 5.09
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.12
title: ""
date: 2024-05-30T21:56:51.082Z
- commits:
- subject: Update balena/open-balena-registry Docker tag to v2.39.57
hash: dfe88d90d5f718dc3dd20988f611de7c1dad9200
body: |
Update balena/open-balena-registry from 2.39.56 to 2.39.57
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.11
title: ""
date: 2024-05-30T18:00:52.558Z
- commits:
- subject: Update balena/open-balena-s3 Docker tag to v2.28.44
hash: 661ff99321f05f007dd5bdaa48ef60e66686925c
body: |
Update balena/open-balena-s3 from 2.28.43 to 2.28.44
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.10
title: ""
date: 2024-05-30T16:59:41.752Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v23
hash: 79f0609b6b73d8a7122ff269ce97f782c09b6c59
body: |
Update balena/open-balena-api from 22.2.3 to 23.0.1
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.9
title: ""
date: 2024-05-30T16:43:29.956Z
- commits:
- subject: Update balena/open-balena-vpn Docker tag to v11.30.22
hash: 1ea77d38cac6d4de8cee20888c68d0657dc1d9af
body: |
Update balena/open-balena-vpn from 11.30.9 to 11.30.22
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.8
title: ""
date: 2024-05-29T05:57:12.761Z
- commits:
- subject: Update qemux/qemu-docker Docker tag to v4.28
hash: 1c3b8dd38fadbf111ebe850d77bdca4f8cd0bb2d
body: |
Update qemux/qemu-docker from 4.24 to 4.28
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.7
title: ""
date: 2024-05-29T04:57:24.252Z
- commits:
- subject: Update balena/open-balena-s3 Docker tag to v2.28.43
hash: 9d3b6ccc3f8fe7adb6034dbc6d0e9aaecddb7653
body: |
Update balena/open-balena-s3 from 2.28.42 to 2.28.43
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.6
title: ""
date: 2024-05-29T03:57:53.284Z
- commits:
- subject: Update balena/open-balena-haproxy Docker tag to v4.3.2
hash: fbd49bb4092c2fe93d08eb702c81f195e47deb11
body: |
Update balena/open-balena-haproxy from 4.3.1 to 4.3.2
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.5
title: ""
date: 2024-05-29T03:00:18.310Z
- commits:
- subject: Update balena/open-balena-registry Docker tag to v2.39.56
hash: 40bf98a26c6c41e7156d413079bc9e297762b515
body: |
Update balena/open-balena-registry from 2.39.55 to 2.39.56
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.4
title: ""
date: 2024-05-29T02:17:23.351Z
- commits:
- subject: Update aws-actions/configure-aws-credentials digest to 43c8912
hash: 8e7be03371b77378fb0c06e2cf81da6d939cfb88
body: |
Update aws-actions/configure-aws-credentials
footer:
Change-type: patch
change-type: patch
author: Self-hosted Renovate Bot
nested: []
version: 4.0.3
title: ""
date: 2024-05-29T01:18:08.903Z
- commits:
- subject: Update actions/checkout digest to b80ff79
hash: b6e8eaefe9b4c995889bf91a60ef3119951c82ac

View File

@ -4,6 +4,291 @@ All notable changes to this project will be documented in this file
automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
This project adheres to [Semantic Versioning](http://semver.org/).
# v4.1.1
## (2024-06-24)
* Pin unfor19/install-aws-cli-action action to e8b481e [Self-hosted Renovate Bot]
# v4.1.0
## (2024-06-24)
* test compose workflow [Anton Belodedenko]
# v4.0.57
## (2024-06-24)
* Update balena/open-balena-api Docker tag to v25.1.7 [Self-hosted Renovate Bot]
# v4.0.56
## (2024-06-24)
* Update balena/open-balena-api Docker tag to v25.1.6 [Self-hosted Renovate Bot]
# v4.0.55
## (2024-06-24)
* Update balena/open-balena-api Docker tag to v25.1.5 [Self-hosted Renovate Bot]
# v4.0.54
## (2024-06-21)
* Update dependency balena-io/balena-cli to v18.2.10 [Self-hosted Renovate Bot]
# v4.0.53
## (2024-06-21)
* Update dependency balena-io/balena-cli to v18.2.9 [Self-hosted Renovate Bot]
# v4.0.52
## (2024-06-21)
* Update dependency balena-io/balena-cli to v18.2.8 [Self-hosted Renovate Bot]
# v4.0.51
## (2024-06-21)
* Update dependency balena-io/balena-cli to v18.2.7 [Self-hosted Renovate Bot]
# v4.0.50
## (2024-06-21)
* Update dependency balena-io/balena-cli to v18.2.6 [Self-hosted Renovate Bot]
# v4.0.49
## (2024-06-21)
* Update dependency balena-io/balena-cli to v18.2.5 [Self-hosted Renovate Bot]
# v4.0.48
## (2024-06-19)
* Update balena/open-balena-api Docker tag to v25.1.3 [Self-hosted Renovate Bot]
# v4.0.47
## (2024-06-19)
* Update balena/open-balena-api Docker tag to v25.1.2 [Self-hosted Renovate Bot]
# v4.0.46
## (2024-06-18)
* Update balena/open-balena-api Docker tag to v25.1.1 [Self-hosted Renovate Bot]
# v4.0.45
## (2024-06-18)
* Update aws-actions/configure-aws-credentials digest to 61a1105 [Self-hosted Renovate Bot]
# v4.0.44
## (2024-06-17)
* Update balena/open-balena-api Docker tag to v25.1.0 [Self-hosted Renovate Bot]
# v4.0.43
## (2024-06-17)
* Update balena/open-balena-api Docker tag to v25 [Self-hosted Renovate Bot]
# v4.0.42
## (2024-06-13)
* Update qemux/qemu-docker Docker tag to v5.16 [Self-hosted Renovate Bot]
# v4.0.41
## (2024-06-12)
* Update qemux/qemu-docker Docker tag to v5.15 [Self-hosted Renovate Bot]
# v4.0.40
## (2024-06-12)
* Update actions/checkout digest to 692973e [Self-hosted Renovate Bot]
# v4.0.39
## (2024-06-12)
* Update actions/checkout digest to 6ccd57f [Self-hosted Renovate Bot]
# v4.0.38
## (2024-06-12)
* Update actions/checkout digest to b17fe1e [Self-hosted Renovate Bot]
# v4.0.37
## (2024-06-12)
* Update qemux/qemu-docker Docker tag to v5.14 [Self-hosted Renovate Bot]
# v4.0.36
## (2024-06-12)
* Update balena/open-balena-s3 Docker tag to v2.28.45 [Self-hosted Renovate Bot]
# v4.0.35
## (2024-06-11)
* Update balena/open-balena-api Docker tag to v24.3.1 [Self-hosted Renovate Bot]
# v4.0.34
## (2024-06-11)
* Update balena/open-balena-registry Docker tag to v2.39.58 [Self-hosted Renovate Bot]
# v4.0.33
## (2024-06-11)
* Update balena/open-balena-api Docker tag to v24.3.0 [Self-hosted Renovate Bot]
# v4.0.32
## (2024-06-11)
* Update balena/open-balena-api Docker tag to v24.2.2 [Self-hosted Renovate Bot]
# v4.0.31
## (2024-06-11)
* Update aws-actions/configure-aws-credentials digest to c7680c3 [Self-hosted Renovate Bot]
# v4.0.30
## (2024-06-11)
* Update aws-actions/configure-aws-credentials digest to cf3f053 [Self-hosted Renovate Bot]
# v4.0.29
## (2024-06-11)
* Update qemux/qemu-docker Docker tag to v5.13 [Self-hosted Renovate Bot]
# v4.0.28
## (2024-06-10)
* Update balena/open-balena-api Docker tag to v24.2.1 [Self-hosted Renovate Bot]
# v4.0.27
## (2024-06-10)
* ignore .env if it doesn't exist [Anton Belodedenko]
# v4.0.26
## (2024-06-10)
* Update balena/open-balena-api Docker tag to v24.2.0 [Self-hosted Renovate Bot]
# v4.0.25
## (2024-06-10)
* Update balena/open-balena-api Docker tag to v24.1.3 [Self-hosted Renovate Bot]
# v4.0.24
## (2024-06-09)
* backoff retry device registrations and tagging [Anton Belodedenko]
# v4.0.23
## (2024-06-09)
* Update qemux/qemu-docker Docker tag to v5.12 [Self-hosted Renovate Bot]
# v4.0.22
## (2024-06-07)
* Update balena/open-balena-api Docker tag to v24.1.2 [Self-hosted Renovate Bot]
# v4.0.21
## (2024-06-06)
* Update balena/open-balena-api Docker tag to v24 [Self-hosted Renovate Bot]
# v4.0.20
## (2024-06-06)
* Update balena/open-balena-api Docker tag to v23.3.0 [Self-hosted Renovate Bot]
# v4.0.19
## (2024-06-05)
* Update balena/open-balena-api Docker tag to v23.2.0 [Self-hosted Renovate Bot]
# v4.0.18
## (2024-06-05)
* Update qemux/qemu-docker Docker tag to v5.11 [Self-hosted Renovate Bot]
# v4.0.17
## (2024-06-04)
* Update balena/open-balena-api Docker tag to v23.1.0 [Self-hosted Renovate Bot]
# v4.0.16
## (2024-06-04)
* Update balena/open-balena-api Docker tag to v23.0.2 [Self-hosted Renovate Bot]
# v4.0.15
## (2024-06-04)
* Update aws-actions/configure-aws-credentials digest to bd07581 [Self-hosted Renovate Bot]
# v4.0.14
## (2024-06-02)
* Update qemux/qemu-docker Docker tag to v5.10 [Self-hosted Renovate Bot]
# v4.0.13
## (2024-05-30)
* Update ubuntu Docker tag to v24 [Self-hosted Renovate Bot]
# v4.0.12
## (2024-05-30)
* Update qemux/qemu-docker Docker tag to v5 [Self-hosted Renovate Bot]
# v4.0.11
## (2024-05-30)
* Update balena/open-balena-registry Docker tag to v2.39.57 [Self-hosted Renovate Bot]
# v4.0.10
## (2024-05-30)
* Update balena/open-balena-s3 Docker tag to v2.28.44 [Self-hosted Renovate Bot]
# v4.0.9
## (2024-05-30)
* Update balena/open-balena-api Docker tag to v23 [Self-hosted Renovate Bot]
# v4.0.8
## (2024-05-29)
* Update balena/open-balena-vpn Docker tag to v11.30.22 [Self-hosted Renovate Bot]
# v4.0.7
## (2024-05-29)
* Update qemux/qemu-docker Docker tag to v4.28 [Self-hosted Renovate Bot]
# v4.0.6
## (2024-05-29)
* Update balena/open-balena-s3 Docker tag to v2.28.43 [Self-hosted Renovate Bot]
# v4.0.5
## (2024-05-29)
* Update balena/open-balena-haproxy Docker tag to v4.3.2 [Self-hosted Renovate Bot]
# v4.0.4
## (2024-05-29)
* Update balena/open-balena-registry Docker tag to v2.39.56 [Self-hosted Renovate Bot]
# v4.0.3
## (2024-05-29)
* Update aws-actions/configure-aws-credentials digest to 43c8912 [Self-hosted Renovate Bot]
# v4.0.2
## (2024-05-28)

View File

@ -3,15 +3,17 @@ SHELL := bash
# export all variables to child processes by default
export
# Include the .env file
include .env
# include the .env file if it exists
-include .env
BALENARC_NO_ANALYTICS ?= 1
DNS_TLD ?= $(error DNS_TLD not set)
TMPKI := $(shell mktemp)
STAGING_PKI ?= /usr/local/share/ca-certificates
PRODUCTION_MODE ?= true
ORG_UNIT ?= openBalena
PRODUCTION_MODE ?= true
STAGING_PKI ?= /usr/local/share/ca-certificates
SUPERUSER_EMAIL ?= admin@$(DNS_TLD)
TMPKI := $(shell mktemp)
VERBOSE ?= false
.NOTPARALLEL: $(DOCKERCOMPOSE)
@ -39,23 +41,45 @@ ifneq ($(GANDI_API_TOKEN),)
endif
endif
@rm -f .env
@echo "BALENARC_NO_ANALYTICS=$(BALENARC_NO_ANALYTICS)" > .env
@echo "DNS_TLD=$(DNS_TLD)" >> .env
@echo "ORG_UNIT=$(ORG_UNIT)" >> .env
@echo "SUPERUSER_EMAIL=$(SUPERUSER_EMAIL)" >> .env
@echo "PRODUCTION_MODE=$(PRODUCTION_MODE)" >> .env
@echo "GANDI_API_TOKEN=$(GANDI_API_TOKEN)" >> .env
@echo "CLOUDFLARE_API_TOKEN=$(CLOUDFLARE_API_TOKEN)" >> .env
@echo "SUPERUSER_EMAIL=$(SUPERUSER_EMAIL)" >> .env
@echo "VERBOSE=$(VERBOSE)" >> .env
ifneq ($(ACME_EMAIL),)
@echo "ACME_EMAIL=$(ACME_EMAIL)" >> .env
endif
ifneq ($(CLOUDFLARE_API_TOKEN),)
@echo "CLOUDFLARE_API_TOKEN=$(CLOUDFLARE_API_TOKEN)" >> .env
endif
ifneq ($(GANDI_API_TOKEN),)
@echo "GANDI_API_TOKEN=$(GANDI_API_TOKEN)" >> .env
endif
ifneq ($(HAPROXY_CRT),)
@echo "HAPROXY_CRT=$(HAPROXY_CRT)" >> .env
endif
ifneq ($(HAPROXY_KEY),)
@echo "HAPROXY_KEY=$(HAPROXY_KEY)" >> .env
endif
ifneq ($(ROOT_CA),)
@echo "ROOT_CA=$(ROOT_CA)" >> .env
endif
@$(MAKE) showenv
.PHONY: wait
wait: ## Wait for service
@until [[ $$(docker compose ps $(SERVICE) --format json | jq -r '.Health') =~ ^healthy$$ ]]; do printf '.'; sleep 3; done
@printf '\n'
.PHONY: waitlog
waitlog: ## Wait for log line
@until docker compose logs $(SERVICE) | grep -Eq "$(LOG_STRING)"; do printf '.'; sleep 3; done
.PHONY: up
up: config ## Start all services
@docker compose up --build -d
@until [[ $$(docker compose ps api --format json | jq -r '.Health') =~ healthy ]]; do printf '.'; sleep 3; done
@printf '\n'
@$(MAKE) wait SERVICE=api
@$(MAKE) showenv
@$(MAKE) showpass
@ -83,6 +107,7 @@ stop: down ## Alias for 'make down'
.PHONY: restart
restart: ## Restart all services
@docker compose restart
@$(MAKE) wait SERVICE=api
.PHONY: update
update: # Pull and deploy latest changes from git
@ -118,11 +143,10 @@ self-signed: ## Install self-signed CA certificates
auto-pki: config # Start all services using LetsEncrypt and ACME
@docker compose exec cert-manager rm -f /certs/export/chain.pem
@docker compose up -d
@until docker compose logs cert-manager | grep -Eq "/certs/export/chain.pem Certificate will not expire in [0-9] days"; do printf '.'; sleep 3; done
@until docker compose logs cert-manager | grep -q "subject=CN = ${DNS_TLD}"; do printf '.'; sleep 3; done
@until docker compose logs cert-manager | grep -q "issuer=C = US, O = Let's Encrypt, CN = R3"; do printf '.'; sleep 3; done
@until [[ $$(docker compose ps haproxy --format json | jq -r '.Health') =~ healthy ]]; do printf '.'; sleep 3; done
@printf '\n'
@$(MAKE) waitlog SERVICE=cert-manager LOG_STRING="/certs/export/chain.pem Certificate will not expire in [0-9] days"
@$(MAKE) waitlog SERVICE=cert-manager LOG_STRING="subject=CN = ${DNS_TLD}"
@$(MAKE) waitlog SERVICE=cert-manager LOG_STRING="issuer=C = US, O = Let's Encrypt, CN = R3"
@$(MAKE) wait SERVICE=haproxy
@$(MAKE) showenv
@$(MAKE) showpass

View File

@ -1 +1 @@
4.0.2
4.1.1

View File

@ -23,4 +23,4 @@ data:
- generic-amd64
- genericx86-64-ext
- intel-nuc
version: 4.0.2
version: 4.1.1

View File

@ -64,11 +64,11 @@ x-network-privileges-trait: &with-network-privileges
- SYS_RESOURCE
x-base-service-definition: &base-service
restart: unless-stopped
restart: 'unless-stopped'
# for docker-compose only, no effect on balenaCloud
env_file:
- .env
tty: 'true' # send syastemd logs from containers to stdout
tty: true # send syastemd logs from containers to stdout
services:
# https://github.com/balena-io/open-balena-api
@ -79,7 +79,7 @@ services:
*with-default-privileges,
*with-default-volumes,
]
image: balena/open-balena-api:v22.2.3
image: balena/open-balena-api:v25.1.7
depends_on:
- db
- redis
@ -110,7 +110,7 @@ services:
TRUST_PROXY: 172.16.0.0/12
VPN_PORT: 443
WEBRESOURCES_S3_BUCKET: web-resources
WEBRESOURCES_S3_REGION: "us-east-1" # this is required for minio
WEBRESOURCES_S3_REGION: 'us-east-1' # this is required for minio
# https://github.com/balena-io/open-balena-registry
registry:
@ -119,7 +119,7 @@ services:
*with-default-healthcheck,
*with-default-privileges,
]
image: balena/open-balena-registry:v2.39.55
image: balena/open-balena-registry:v2.39.58
volumes:
- certs-data:/certs
- resin-data:/balena
@ -146,7 +146,7 @@ services:
*with-network-privileges,
*with-default-privileges,
]
image: balena/open-balena-vpn:v11.30.9
image: balena/open-balena-vpn:v11.30.22
depends_on:
- api
environment:
@ -175,7 +175,7 @@ services:
*with-default-healthcheck,
*with-default-privileges,
]
image: balena/open-balena-s3:v2.28.42
image: balena/open-balena-s3:v2.28.45
volumes:
- s3-data:/export
- certs-data:/certs
@ -212,11 +212,11 @@ services:
test: true | openssl s_client -connect localhost:443
ports:
# haproxy/http
- "80:80/tcp"
- '80:80/tcp'
# haproxy/tcp-router
- "443:443/tcp"
- '443:443/tcp'
# haproxy/stats
- "1936:1936/tcp"
- '1936:1936/tcp'
environment:
LOGLEVEL: info
@ -281,7 +281,7 @@ services:
# only relevant when running in AWS/EC2
tag-sidecar:
build: src/tag-sidecar
restart: no
restart: 'no'
environment:
ENABLED: 'true'
labels:
@ -308,7 +308,7 @@ services:
labels:
io.balena.features.balena-api: 1
io.balena.features.supervisor-api: 1
restart: no
restart: 'no'
# virtual Device Under Test (DUT)
dut:
@ -333,7 +333,7 @@ services:
- resin-data:/balena
devices:
- /dev/net/tun
restart: no
restart: 'no'
# https://hub.docker.com/_/docker
# pseudo(builder) service for balena-tests
@ -344,11 +344,23 @@ services:
*with-network-privileges,
]
image: docker:dind
entrypoint:
- /bin/sh
- -c
command:
- |
set -x
cp /certs/root-ca.pem /certs/server-ca.pem /usr/local/share/ca-certificates/ \
&& update-ca-certificates
exec /usr/local/bin/dockerd-entrypoint.sh
volumes:
- builder-data:/var/lib/docker
- /sys:/sys
- builder-certs-ca:/docker-pki/ca
- builder-certs-client:/docker-pki/client
- /sys:/sys
- builder-data:/var/lib/docker
- certs-data:/certs
environment:
DOCKER_TLS_CERTDIR: /docker-pki
healthcheck:

View File

@ -82,7 +82,7 @@ name and configure records.
```bash
sudo useradd -s /bin/bash -m -G docker,sudo balena
echo 'balena ALL=(ALL) NOPASSWD: ALL' | tee >/etc/sudoers.d/balena
echo 'balena ALL=(ALL) NOPASSWD: ALL' | sudo tee /etc/sudoers.d/balena
```
6. Switch user:

View File

@ -1,7 +1,7 @@
FROM ubuntu:22.04
FROM ubuntu:24.04
# renovate: datasource=github-releases depName=balena-io/balena-cli
ARG BALENA_CLI_VERSION=v18.2.2
ARG BALENA_CLI_VERSION=v18.2.10
RUN apt-get update && apt-get install -y --no-install-recommends \
bash \

View File

@ -41,7 +41,7 @@ function shutdown_dut() {
if [[ -n $balena_device_uuid ]]; then
with_backoff balena device "${balena_device_uuid}"
balena device shutdown -f "${balena_device_uuid}" || true
with_backoff balena device shutdown -f "${balena_device_uuid}"
fi
}
@ -248,7 +248,7 @@ function check_running_release() {
running_release_id="$(balena device "${balena_device_uuid}" | grep -E ^COMMIT | awk '{print $2}')"
printf 'please wait, device %s should be running %s, but is still running %s...\n' \
"${balena_device_uuid}" \
"${1}" \
"${should_be_running_release}" \
"${running_release_id}"
sleep "$(( (RANDOM % 5) + 5 ))s"

View File

@ -1,4 +1,4 @@
# https://github.com/balena-io/open-balena-haproxy
FROM balena/open-balena-haproxy:v4.3.1
FROM balena/open-balena-haproxy:v4.3.2
COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg

View File

@ -1,6 +1,6 @@
# https://hub.docker.com/r/qemux/qemu-docker
# https://github.com/qemus/qemu-docker
FROM qemux/qemu-docker:4.24
FROM qemux/qemu-docker:5.16
RUN apt-get update && apt-get install -y --no-install-recommends \
minicom \