Compare commits

...

113 Commits

Author SHA1 Message Date
169e3d091c patch: use a local version of ssh-uuid.sh 2025-06-23 16:42:08 +02:00
390aa128d0 patch: remove action source from user controllable file 2025-06-23 16:33:50 +02:00
c3523ba9e1 v4.1.450 2025-06-20 17:05:10 +00:00
e3c9096057 Merge pull request #737 from balena-io/renovate/balena-io-balena-cli-22.1.x
Update dependency balena-io/balena-cli to v22.1.1
2025-06-20 17:04:17 +00:00
2fde02ac36 Update dependency balena-io/balena-cli to v22.1.1
Update balena-io/balena-cli from 22.1.0 to 22.1.1

Change-type: patch
2025-06-20 16:01:16 +00:00
6259d38955 v4.1.449 2025-06-20 15:47:12 +00:00
8a6ce027d1 Merge pull request #739 from balena-io/renovate/balena-open-balena-api-37.3.x
Update balena/open-balena-api Docker tag to v37.3.2
2025-06-20 15:46:29 +00:00
864cf98b11 Update balena/open-balena-api Docker tag to v37.3.2
Update balena/open-balena-api from 37.3.0 to 37.3.2

Change-type: patch
2025-06-20 15:06:34 +00:00
7a4677a6ee v4.1.448 2025-06-20 01:17:33 +00:00
35d22cdcf9 Merge pull request #738 from balena-io/renovate/balena-io-examples-setup-balena-action-0.0.x
Update balena-io-examples/setup-balena-action action to v0.0.20
2025-06-20 01:16:51 +00:00
decf3c1c67 Update balena-io-examples/setup-balena-action action to v0.0.20
Update balena-io-examples/setup-balena-action from 0.0.19 to 0.0.20

Change-type: patch
2025-06-19 11:05:14 +00:00
0655025613 v4.1.447 2025-06-19 08:48:30 +00:00
52c4a12057 Merge pull request #734 from balena-io/renovate/balena-open-balena-api-37.x
Update balena/open-balena-api Docker tag to v37.3.0
2025-06-19 08:47:34 +00:00
1d627f8ebb Update balena/open-balena-api Docker tag to v37.3.0
Update balena/open-balena-api from 37.2.1 to 37.3.0

Change-type: patch
2025-06-19 08:25:36 +00:00
2941178fbc v4.1.446 2025-06-17 22:12:06 +00:00
12e97e5788 Merge pull request #732 from balena-io/renovate/aws-actions-configure-aws-credentials-digest
Update aws-actions/configure-aws-credentials digest to 3bb878b
2025-06-17 22:11:22 +00:00
067e000795 Update aws-actions/configure-aws-credentials digest to 3bb878b
Update aws-actions/configure-aws-credentials

Change-type: patch
2025-06-17 04:08:21 +00:00
6f9061d09d v4.1.445 2025-06-13 12:18:47 +00:00
80c44a7794 Merge pull request #731 from balena-io/renovate/balena-open-balena-api-37.2.x
Update balena/open-balena-api Docker tag to v37.2.1
2025-06-13 12:18:08 +00:00
59f69aa61b Update balena/open-balena-api Docker tag to v37.2.1
Update balena/open-balena-api from 37.2.0 to 37.2.1

Change-type: patch
2025-06-13 11:57:17 +00:00
cc13fe8c27 v4.1.444 2025-06-13 00:17:11 +00:00
2d65eb873a Merge pull request #730 from balena-io/renovate/balena-open-balena-api-37.x
Update balena/open-balena-api Docker tag to v37.2.0
2025-06-13 00:16:33 +00:00
212bc9d03c Update balena/open-balena-api Docker tag to v37.2.0
Update balena/open-balena-api from 37.1.10 to 37.2.0

Change-type: patch
2025-06-12 23:07:50 +00:00
e35ba98156 v4.1.443 2025-06-12 22:48:10 +00:00
6867d3a2db Merge pull request #729 from balena-io/renovate/balena-open-balena-s3-2.28.x
Update balena/open-balena-s3 Docker tag to v2.28.75
2025-06-12 22:47:24 +00:00
88bb5b1b16 Update balena/open-balena-s3 Docker tag to v2.28.75
Update balena/open-balena-s3 from 2.28.74 to 2.28.75

Change-type: patch
2025-06-12 17:04:36 +00:00
93abd99fd0 v4.1.442 2025-06-12 16:07:07 +00:00
05145f0a87 Merge pull request #728 from balena-io/renovate/balena-open-balena-api-37.1.x
Update balena/open-balena-api Docker tag to v37.1.10
2025-06-12 16:06:26 +00:00
3a7229acde Update balena/open-balena-api Docker tag to v37.1.10
Update balena/open-balena-api from 37.1.8 to 37.1.10

Change-type: patch
2025-06-11 20:58:54 +00:00
6330265e9a v4.1.441 2025-06-10 16:34:10 +00:00
6178a6fb30 Merge pull request #727 from balena-io/renovate/balena-open-balena-api-37.1.x
Update balena/open-balena-api Docker tag to v37.1.8
2025-06-10 16:33:22 +00:00
6e144793a7 Update balena/open-balena-api Docker tag to v37.1.8
Update balena/open-balena-api from 37.1.7 to 37.1.8

Change-type: patch
2025-06-10 16:12:22 +00:00
fdc5bff39c v4.1.440 2025-06-10 16:02:25 +00:00
0a04276056 Merge pull request #726 from balena-io/renovate/balena-open-balena-api-37.1.x
Update balena/open-balena-api Docker tag to v37.1.7
2025-06-10 16:01:41 +00:00
1ec66310d6 Update balena/open-balena-api Docker tag to v37.1.7
Update balena/open-balena-api from 37.1.6 to 37.1.7

Change-type: patch
2025-06-10 15:38:27 +00:00
3435e02191 v4.1.439 2025-06-10 13:43:35 +00:00
8efeef2e22 Merge pull request #721 from balena-io/renovate/actions-checkout-digest
Update actions/checkout digest to 09d2aca
2025-06-10 13:42:51 +00:00
a147789188 Update actions/checkout digest to 09d2aca
Update actions/checkout

Change-type: patch
2025-06-10 13:23:12 +00:00
9f4f8875b0 v4.1.438 2025-06-10 11:57:02 +00:00
54357bfd92 Merge pull request #725 from balena-io/renovate/ami-1.0.x
Update dependency ami to ami-020cba7c55df1f615
2025-06-10 11:56:16 +00:00
8a3c07dea6 Update dependency ami to ami-020cba7c55df1f615
Update ami from ami-0731becbf832f281e to ami-020cba7c55df1f615

Change-type: patch
2025-06-10 11:36:16 +00:00
797a809d08 v4.1.437 2025-06-10 04:41:54 +00:00
188ba26a1a Merge pull request #724 from balena-io/renovate/aws-actions-configure-aws-credentials-digest
Update aws-actions/configure-aws-credentials digest to a95656f
2025-06-10 04:41:11 +00:00
7f574ad09b Update aws-actions/configure-aws-credentials digest to a95656f
Update aws-actions/configure-aws-credentials

Change-type: patch
2025-06-10 04:14:06 +00:00
754420a765 v4.1.436 2025-06-09 23:04:05 +00:00
e306b7ce78 Merge pull request #723 from balena-io/renovate/balena-io-examples-setup-balena-action-0.0.x
Update balena-io-examples/setup-balena-action action to v0.0.19
2025-06-09 23:03:22 +00:00
68e14fa86a Update balena-io-examples/setup-balena-action action to v0.0.19
Update balena-io-examples/setup-balena-action from 0.0.18 to 0.0.19

Change-type: patch
2025-06-09 22:02:58 +00:00
da5bbee605 v4.1.435 2025-06-09 21:51:54 +00:00
df59f8cdc4 Merge pull request #722 from balena-io/renovate/balena-io-balena-cli-22.x
Update dependency balena-io/balena-cli to v22.1.0
2025-06-09 21:51:17 +00:00
652fde04f8 Update dependency balena-io/balena-cli to v22.1.0
Update balena-io/balena-cli from 22.0.6 to 22.1.0

Change-type: patch
2025-06-09 20:34:54 +00:00
8942c7b409 v4.1.434 2025-06-05 23:07:06 +00:00
198ffe726f Merge pull request #720 from balena-io/renovate/aws-actions-configure-aws-credentials-digest
Update aws-actions/configure-aws-credentials digest to ab0ba40
2025-06-05 23:06:16 +00:00
4245f746fb Update aws-actions/configure-aws-credentials digest to ab0ba40
Update aws-actions/configure-aws-credentials

Change-type: patch
2025-06-05 22:29:28 +00:00
c35f63b00b v4.1.433 2025-06-03 04:23:19 +00:00
f6b70c0b67 Merge pull request #719 from balena-io/renovate/aws-actions-configure-aws-credentials-digest
Update aws-actions/configure-aws-credentials digest to 151e7fe
2025-06-03 04:22:32 +00:00
be8ebc87af Update aws-actions/configure-aws-credentials digest to 151e7fe
Update aws-actions/configure-aws-credentials

Change-type: patch
2025-06-03 04:03:50 +00:00
b4dd9ac66a v4.1.432 2025-06-02 20:23:14 +00:00
7c473a7267 Merge pull request #718 from balena-io/renovate/balena-io-balena-cli-22.0.x
Update dependency balena-io/balena-cli to v22.0.6
2025-06-02 20:21:54 +00:00
18a7e6afa7 Update dependency balena-io/balena-cli to v22.0.6
Update balena-io/balena-cli from 22.0.5 to 22.0.6

Change-type: patch
2025-06-02 19:59:40 +00:00
0e44323b90 v4.1.431 2025-06-02 19:57:49 +00:00
a3f6ce5d48 Merge pull request #715 from balena-io/renovate/ami-1.0.x
Update dependency ami to ami-0731becbf832f281e
2025-06-02 19:57:05 +00:00
b363655b03 Update dependency ami to ami-0731becbf832f281e
Update ami from ami-0a7620d611d3ceae4 to ami-0731becbf832f281e

Change-type: patch
2025-06-02 19:12:42 +00:00
b57af97741 v4.1.430 2025-06-02 18:02:04 +00:00
7acb4359c7 Merge pull request #717 from balena-io/renovate/balena-io-examples-setup-balena-action-0.0.x
Update balena-io-examples/setup-balena-action action to v0.0.18
2025-06-02 18:01:24 +00:00
074caf4a38 Update balena-io-examples/setup-balena-action action to v0.0.18
Update balena-io-examples/setup-balena-action from 0.0.17 to 0.0.18

Change-type: patch
2025-06-02 16:04:34 +00:00
dd9c508731 v4.1.429 2025-06-02 15:47:01 +00:00
2cf818d391 Merge pull request #716 from balena-io/renovate/balena-open-balena-vpn-11.32.x
Update balena/open-balena-vpn Docker tag to v11.32.28
2025-06-02 15:46:15 +00:00
061f22e1d9 Update balena/open-balena-vpn Docker tag to v11.32.28
Update balena/open-balena-vpn from 11.32.27 to 11.32.28

Change-type: patch
2025-06-02 02:36:54 +00:00
826249f49e v4.1.428 2025-05-30 03:29:20 +00:00
c8cd44b8bf Merge pull request #714 from balena-io/renovate/balena-io-balena-cli-22.0.x
Update dependency balena-io/balena-cli to v22.0.5
2025-05-30 03:28:38 +00:00
67f8a8477d Update dependency balena-io/balena-cli to v22.0.5
Update balena-io/balena-cli from 22.0.0 to 22.0.5

Change-type: patch
2025-05-30 01:18:22 +00:00
1f9b3f5898 v4.1.427 2025-05-30 00:36:49 +00:00
2a7b68aa84 Merge pull request #709 from balena-io/renovate/balena-io-balena-cli-22.x
Update dependency balena-io/balena-cli to v22
2025-05-29 17:36:03 -07:00
bc58a3fe97 update balena-cli path 2025-05-29 17:10:15 -07:00
2de86506fa match new balena-cli compression format 2025-05-29 17:10:15 -07:00
031996f486 Update dependency balena-io/balena-cli to v22
Update balena-io/balena-cli from 21.1.14 to 22.0.0

Change-type: patch
2025-05-29 17:10:15 -07:00
e12a8951c7 v4.1.426 2025-05-29 20:44:58 +00:00
e6b86b7cd8 Merge pull request #713 from balena-io/renovate/balena-io-examples-setup-balena-action-0.0.x
Update balena-io-examples/setup-balena-action action to v0.0.17
2025-05-29 20:44:10 +00:00
6dcf7ec086 Update balena-io-examples/setup-balena-action action to v0.0.17
Update balena-io-examples/setup-balena-action from 0.0.12 to 0.0.17

Change-type: patch
2025-05-29 18:00:50 +00:00
09bfaa5153 v4.1.425 2025-05-29 14:47:40 +00:00
ea1fa2d793 Merge pull request #711 from balena-io/renovate/balena-open-balena-api-37.1.x
Update balena/open-balena-api Docker tag to v37.1.6
2025-05-29 14:46:48 +00:00
1b89f027a8 Update balena/open-balena-api Docker tag to v37.1.6
Update balena/open-balena-api from 37.1.5 to 37.1.6

Change-type: patch
2025-05-28 11:58:38 +00:00
91e4fb359f v4.1.424 2025-05-28 11:23:38 +00:00
eed545d126 Merge pull request #710 from balena-io/renovate/balena-open-balena-vpn-11.32.x
Update balena/open-balena-vpn Docker tag to v11.32.27
2025-05-28 11:22:53 +00:00
cb822e6e90 Update balena/open-balena-vpn Docker tag to v11.32.27
Update balena/open-balena-vpn from 11.32.25 to 11.32.27

Change-type: patch
2025-05-28 11:01:06 +00:00
d8965fbfd3 v4.1.423 2025-05-27 18:17:12 +00:00
78aef641c1 Merge pull request #708 from balena-io/renovate/balena-open-balena-api-37.1.x
Update balena/open-balena-api Docker tag to v37.1.5
2025-05-27 18:16:30 +00:00
8c5522b0bf Update balena/open-balena-api Docker tag to v37.1.5
Update balena/open-balena-api from 37.1.4 to 37.1.5

Change-type: patch
2025-05-27 17:55:50 +00:00
d9e6be8083 v4.1.422 2025-05-27 17:22:14 +00:00
539972f4b8 Merge pull request #706 from balena-io/renovate/balena-io-balena-cli-21.x
Update dependency balena-io/balena-cli to v21
2025-05-27 10:21:28 -07:00
f3d087f2b7 v4.1.421 2025-05-27 15:27:13 +00:00
61b034e3fc Merge pull request #707 from balena-io/renovate/balena-open-balena-api-37.1.x
Update balena/open-balena-api Docker tag to v37.1.4
2025-05-27 15:26:24 +00:00
a55a88d2f0 Update dependency balena-io/balena-cli to v21
Update balena-io/balena-cli from 20.2.10 to 21.1.14

Change-type: patch
2025-05-27 15:06:07 +00:00
bfd399193f Update balena/open-balena-api Docker tag to v37.1.4
Update balena/open-balena-api from 37.1.3 to 37.1.4

Change-type: patch
2025-05-27 15:05:30 +00:00
6d75e7d974 v4.1.420 2025-05-27 15:01:56 +00:00
eac1823fdf Merge pull request #705 from balena-io/renovate/balena-open-balena-api-37.1.x
Update balena/open-balena-api Docker tag to v37.1.3
2025-05-27 15:01:11 +00:00
87a94d8c6d Update balena/open-balena-api Docker tag to v37.1.3
Update balena/open-balena-api from 37.1.0 to 37.1.3

Change-type: patch
2025-05-27 14:22:58 +00:00
2d7e04489f v4.1.419 2025-05-27 13:06:06 +00:00
943b33b42e Merge pull request #704 from balena-io/renovate/balena-io-balena-cli-20.x 2025-05-27 06:05:23 -07:00
e67bde8b0f Update dependency balena-io/balena-cli to v20
Update balena-io/balena-cli from 18.2.34 to 20.2.10

Change-type: patch
2025-05-27 08:59:43 +00:00
2554b3a9bb v4.1.418 2025-05-27 08:17:47 +00:00
e9bad87611 Merge pull request #703 from balena-io/renovate/aws-actions-configure-aws-credentials-digest
Update aws-actions/configure-aws-credentials digest to b92d0d9
2025-05-27 08:16:55 +00:00
a0a518da79 Update aws-actions/configure-aws-credentials digest to b92d0d9
Update aws-actions/configure-aws-credentials

Change-type: patch
2025-05-27 07:56:36 +00:00
240b2d656a v4.1.417 2025-05-27 07:52:12 +00:00
5b26ba4ac4 Merge pull request #697 from balena-io/ab77patch
patch: Only match balenaOS (non secure-boot) images
2025-05-27 07:51:28 +00:00
f84d16e3d0 update string match (glob) pattern to exclude SB
https://docs.renovatebot.com/string-pattern-matching/
2025-05-26 15:47:22 -07:00
d4c0144829 patch: Only match balenaOS (non secure-boot) images 2025-05-26 15:47:22 -07:00
c62381c57a v4.1.416 2025-05-26 22:16:48 +00:00
26c52aa31a Merge pull request #701 from balena-io/renovate/balena-io-examples-setup-balena-action-0.0.x
Update balena-io-examples/setup-balena-action action to v0.0.12
2025-05-26 22:16:03 +00:00
10f109d299 Update balena-io-examples/setup-balena-action action to v0.0.12
Update balena-io-examples/setup-balena-action from 0.0.11 to 0.0.12

Change-type: patch
2025-05-26 21:54:57 +00:00
5720b59006 v4.1.415 2025-05-26 21:08:34 +00:00
d50739a5f5 Merge pull request #700 from balena-io/renovate/balena-io-balena-cli-18.2.x
Update dependency balena-io/balena-cli to v18.2.34
2025-05-26 14:07:42 -07:00
040f705138 Update dependency balena-io/balena-cli to v18.2.34
Update balena-io/balena-cli from 18.2.17 to 18.2.34

Change-type: patch
2025-05-26 19:54:49 +00:00
8 changed files with 1118 additions and 51 deletions

419
.github/workflows/ssh-uuid.sh vendored Normal file
View File

@ -0,0 +1,419 @@
#!/usr/bin/env bash
# Copyright 2022 Balena Ltd.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
set -e # Exit immediately on unhandled errors
BALENARC_DATA_DIRECTORY="${BALENARC_DATA_DIRECTORY:-"${HOME}/.balena"}"
function quit {
echo "ERROR: $1" >/dev/stderr
exit 1
}
# Check that the version of bash meets the requirements.
# The 'declare -pf' and 'readarray -t' features require bash v4.4 or later.
function check_bash_version {
local major="${BASH_VERSINFO[0]:-0}"
local minor="${BASH_VERSINFO[1]:-0}"
if (( "${major}" < 4 || ("${major}" == 4 && "${minor}" < 4) )); then
quit "\
bash v${major}.${minor} detected, but this script requires bash v4.4 or later.
On macOS, it can be updated with 'brew install bash' ( https://brew.sh/ )
Sorry for the inconvenience!
"
fi
}
check_bash_version
# Escape the arguments in a way compatible with the POSIX 'sh'. Alternative to
# bash's printf '%q' (because bash's printf '%q' may produce bash-specific
# escaping, for example using the $'a\nb' syntax that interprets ASCII control
# characters, which is not supported by POSIX 'sh'). Useful with the '--service'
# flag as we do not assume that balenaOS application containers will have 'bash'
# installed. Based on: https://stackoverflow.com/a/29824428
function escape_sh {
case $# in 0) return 0; esac
while :
do
printf "'"
printf %s "$1" | sed "s/'/'\\\\''/g"
shift
case $# in 0) break; esac
printf "' "
done
printf "'\n"
}
function print_help_and_quit {
echo "For ssh or scp options, check the manual pages: 'man ssh' or 'man scp'.
For ssh-uuid or scp-uuid usage, see README at:
https://github.com/pdcastro/ssh-uuid/blob/master/README.md
" >/dev/stderr
exit
}
# Check whether the BALENA_USERNAME and BALENA_TOKEN environment variables are set, for
# the purpose of balenaCloud proxy authentication, and as the username to use for ssh
# public key authentication. If either variable is not set, attempt to obtain the missing
# value from the balena CLI's ~/.balena/cachedUsername JSON file. That file is created
# by running the `balena login` command followed by the `balena whoami` command. If you
# would rather not depend on the balena CLI, set the environment variables manually with
# the values found in the balenaCloud web dashboard, Preferences page, Account Details and
# Access Tokens tabs.
function get_user_and_token {
if [[ -n "${BALENA_USERNAME}" && -n "${BALENA_TOKEN}" ]]; then
return
fi
local cached_usr_file="${BALENARC_DATA_DIRECTORY}/cachedUsername"
if [[ ! -r "${cached_usr_file}" ]]; then
quit "\
'BALENA_USERNAME' or 'BALENA_TOKEN' env vars not defined, and file
'${cached_usr_file}' not found or not readable.
Set the env vars as per README, or use the balena CLI 'login' and 'whoami'
commands to ensure that file is created.
"
fi
check_tool jq
local cached_username
local cached_token
cached_username="$(jq -r .username "${cached_usr_file}")"
cached_token="$(jq -r .token "${cached_usr_file}")"
BALENA_USERNAME="${BALENA_USERNAME:-"${cached_username}"}"
BALENA_TOKEN="${BALENA_TOKEN:-"${cached_token}"}"
}
# This function will execute on the balenaOS host OS
function remote__get_container_name {
local service="$1"
local len="${#service}"
local -a names
readarray -t names <<< "$(balena-engine ps --format '{{.Names}}')"
local result=''
local name
for name in "${names[@]}"; do
if [ "${name:0:len+1}" = "${service}_" ]; then
result="${name}"
break
fi
done
echo "${result}"
}
# This function will execute on the balenaOS host OS with bash v5
function remote__main {
local service="$1"
shift
local container_name
container_name="$(remote__get_container_name "${service}")"
if [ -z "${container_name}" ]; then
echo "ERROR: Cannot find a running container for service '${service}'" >/dev/stderr
exit 1
fi
local -a args
if [ "$#" = 0 ]; then
args=('sh')
else
IFS=' ' args=('sh' '-c' "$*")
fi
local tty_flags='-i' # without '-i', STDIN is closed
[[ "$#" = 0 || -t 0 ]] && tty_flags='-it'
[ -n "${SSUU_DEBUG}" ] && set -x
balena-engine exec ${tty_flags} "${container_name}" "${args[@]}"
{ local status="$?"; [ -n "${SSUU_DEBUG}" ] && set +x; } 2>/dev/null
return "${status}"
}
# Parse a short flag specification like '-N' or '-CNL', the latter being the
# abbreviated form for '-C' '-N' '-L'. For each short flag, set a global
# variable in the format "SSUU_FLAG_${flag}". Examples:
# parse_short_flag '-N'
# -> SSUU_FLAG_N='-N'
#
# parse_short_flag '-CNL'
# -> SSUU_FLAG_C='-CNL'
# SSUU_FLAG_N='-CNL'
# SSUU_FLAG_L='-CNL'
function parse_short_flag {
local spec="$1" # flag spec like '-N' or '-CNL'
local i
for (( i=1; i<${#spec}; i++ )); do
local flag="${spec:i:1}"
if [[ "${flag}" =~ [a-zA-Z] ]]; then
declare -g SSUU_FLAG_"${flag}"="${spec}"
else
break
fi
done
}
# Parse the arguments and split them between option arguments and positional
# arguments.
# Note: the split happens at the first UUID.balena occurrence which is always
# correct for `ssh`, but not always correct for `scp`. For the purposes of
# `scp-uuid` however, this potential incorrectness is not important.
function parse_args {
local args=("$@")
local nargs=${#args[@]}
local i
SSUU_USER=''
SSUU_OPT_ARGS=()
SSUU_POS_ARGS=()
for (( i=0; i<nargs; i++ )); do
local arg="${args[i]}"
if [ "${arg}" = '--help' ]; then
print_help_and_quit
fi
if [ "${arg}" = '--service' ]; then
SSUU_SERVICE="${args[++i]}"
continue
fi
# Is arg a UUID.balena hostname specification?
# For ssh:
# '[user@]UUID.balena'
# 'ssh://[user@]UUID.balena[:port]'
# For scp:
# '[user@]UUID.balena:'
# 'scp://[user@]UUID.balena[:port][/path]'
# where UUID is a hexadecimal number with exactly 32 or 62 characters,
# where 62 is not typo meant to read 64, it really is 62.
if [[ "${SSUU_SCP}" = 0 &&
"${arg}" =~ ^(ssh://)?((.+)@)?([[:xdigit:]]{32}|[[:xdigit:]]{62})\.balena(:[0-9]+)?$
]]; then
SSUU_USER="${BASH_REMATCH[3]}"
SSUU_POS_ARGS=("${args[@]:i}")
break
elif [[ "${SSUU_SCP}" = 1 &&
"${arg}" =~ ^scp://((.+)@)?([[:xdigit:]]{32}|[[:xdigit:]]{62})\.balena(:[0-9]+)?(/.*)?$
]]; then
SSUU_USER="${BASH_REMATCH[2]}"
if [ -z "${SSUU_USER}" ] && [ -n "${BALENA_USERNAME}" ]; then
SSUU_USER="${BALENA_USERNAME}"
arg="scp://${BALENA_USERNAME}@${arg#scp://}"
args[i]="${arg}"
fi
SSUU_POS_ARGS=("${args[@]:i}")
break
elif [[ "${SSUU_SCP}" = 1 &&
"${arg}" =~ ^((.+)@)?([[:xdigit:]]{32}|[[:xdigit:]]{62})\.balena:.*$
]]; then
SSUU_USER="${BASH_REMATCH[2]}"
if [ -z "${SSUU_USER}" ] && [ -n "${BALENA_USERNAME}" ]; then
SSUU_USER="${BALENA_USERNAME}"
arg="${BALENA_USERNAME}@${arg}"
args[i]="${arg}"
fi
SSUU_POS_ARGS=("${args[@]:i}")
break
fi
if [ "${arg:0:1}" = '-' ] && [ "${arg:1:1}" != '-' ]; then
parse_short_flag "${arg}"
fi
SSUU_OPT_ARGS+=("${arg}")
done
if [ "${#SSUU_POS_ARGS[@]}" = 0 ]; then
if [ "${SSUU_SCP}" = '1' ]; then
quit "Invalid command line (missing 'UUID.balena:' remote host, including ':' character)"
else
quit "Invalid command line (missing 'UUID.balena' hostname)"
fi
fi
}
function run_ssh {
local opt_args=("${SSUU_OPT_ARGS[@]}") # optional arguments
local pos_args=("${SSUU_POS_ARGS[@]}") # positional arguments
local l_arg=()
local t_arg=()
if [ -n "${SSUU_SERVICE}" ]; then
local host="${pos_args[0]}"
local remote_cmd=("${pos_args[@]:1}")
if [ "${#remote_cmd[@]}" = 0 ]; then
# interactive shell, allocate a tty
if [ -z "${SSUU_FLAG_N}" ] && [ -z "${SSUU_FLAG_t}" ]; then
t_arg=('-t')
fi
else
remote_cmd=( "$(escape_sh "${remote_cmd[@]}")" ) # single element array
fi
pos_args=(
"${host}"
# export some functions for remote execution
"$(declare -pf remote__get_container_name);"
"$(declare -pf remote__main);"
"SSUU_DEBUG=${DEBUG}"
remote__main
"${SSUU_SERVICE}"
"${remote_cmd[@]}"
)
fi
if [ -z "${SSUU_USER}" ] && [ -z "${SSUU_FLAG_l}" ] ; then
l_arg=('-l' "${BALENA_USERNAME}")
fi
opt_args=(
-o "ProxyCommand='$0' do_proxy %h %p"
-p 22222
"${l_arg[@]}"
"${t_arg[@]}"
"${opt_args[@]}"
)
set +e
[ -n "${DEBUG}" ] && set -x
# shellcheck disable=SC2029
ssh "${opt_args[@]}" "${pos_args[@]}"
{ local status="$?"; [ -n "${DEBUG}" ] && set +x; } 2>/dev/null
set -e
return "${status}"
}
function print_scp_service_msg {
local service="$1"
local uuid="$2"
echo "\
scp-uuid does not support the '--service' flag. However, files and folders
can be copied to a service container with 'ssh-uuid', for example:
# local -> remote
$ cat local.txt | ssh-uuid --service ${service} ${uuid}.balena cat \\> /data/remote.txt
# remote -> local
$ ssh-uuid --service ${service} ${uuid}.balena cat /data/remote.txt > local.txt
Or multiple files and folders with 'tar' on the fly:
# local -> remote
$ tar cz local-folder | ssh-uuid --service ${service} ${uuid}.balena tar xzvC /data/
# remote -> local
$ ssh-uuid --service ${service} ${uuid}.balena tar czC /data remote-folder | tar xvz
Or multiple files and folders with the powerful 'rsync' tool:
# local -> remote
$ rsync -av -e 'ssh-uuid --service ${service}' local-folder ${uuid}.balena:/data/
# remote -> local
$ rsync -av -e 'ssh-uuid --service ${service}' ${uuid}.balena:/data/remote-folder .
In these examples respectively, 'cat' or 'tar' or 'rsync' must be installed both
on the local workstation and on the remote service container:
$ apt-get install -y rsync tar # Debian, Ubuntu, etc
$ apk add rsync tar # Alpine
Finally, if you are transferring files to/from a service's named volume (often
named 'data'), note that named volumes are also exposed on the host OS under
folder: '/mnt/data/docker/volumes/<fleet-id>_data/_data/'
As such, it is also possible to scp to/from named volumes without '--service':
# local -> remote
$ scp-uuid -r local-folder ${uuid}.balena:/mnt/data/docker/volumes/<fleet-id>_data/_data/
# remote -> local
$ scp-uuid -r ${uuid}.balena:/mnt/data/docker/volumes/<fleet-id>_data/_data/remote-folder .
" >/dev/stderr
}
function run_scp {
if [ -n "${SSUU_SERVICE}" ]; then
if [ -n "${SSUU_FLAG_S}" ]; then
quit "The '-S' and '--service' options cannot be used together"
fi
export SSUU_SERVICE
set +e
[ -n "${DEBUG}" ] && set -x
scp -S ssh-uuid "${SSUU_OPT_ARGS[@]}" "${SSUU_POS_ARGS[@]}"
{ local status="$?"; [ -n "${DEBUG}" ] && set +x; } 2>/dev/null
set -e
return "${status}"
fi
args=(
-P 22222
-o "ProxyCommand='$0' do_proxy %h %p"
"${SSUU_OPT_ARGS[@]}"
"${SSUU_POS_ARGS[@]}"
)
set +e
[ -n "${DEBUG}" ] && set -x
scp "${args[@]}"
{ local status="$?"; [ -n "${DEBUG}" ] && set +x; } 2>/dev/null
set -e
return "${status}"
}
# Run socat
function do_proxy {
local TARGET_HOST="$1"
local TARGET_PORT="$2"
local PROXY_AUTH_FILE="${BALENARC_DATA_DIRECTORY}/proxy-auth"
local SOCAT_PORT
SOCAT_PORT="$(get_rand_port_num)"
mkdir -p "${BALENARC_DATA_DIRECTORY}" || quit "Cannot write to '${BALENARC_DATA_DIRECTORY}'"
echo -n "${BALENA_USERNAME}:${BALENA_TOKEN}" > "${PROXY_AUTH_FILE}" || quit "Cannot write to '${PROXY_AUTH_FILE}'"
[ -n "${DEBUG}" ] && set -x
socat "TCP-LISTEN:${SOCAT_PORT},bind=127.0.0.1" "OPENSSL:tunnel.balena-cloud.com:443,snihost=tunnel.balena-cloud.com" &
{ set +x; } 2>/dev/null
sleep 1 # poor man's wait for the background socat process to be ready
set +e
[ -n "${DEBUG}" ] && set -x
socat - "PROXY:127.0.0.1:${TARGET_HOST}:${TARGET_PORT},proxyport=${SOCAT_PORT},proxy-authorization-file=${PROXY_AUTH_FILE}"
{ local status="$?"; [ -n "${DEBUG}" ] && set +x; } 2>/dev/null
set -e
local pid
pid="$(jobs -p)"
[ -n "${pid}" ] && kill "${pid}" && wait # shutdown background tunnel
return "${status}"
}
# Generate a random, possibly unavailable, TCP port number between
# 10,000 and 65,535 using a shady, questionable algorithm that assumes,
# based on annecodtal evidencce, that port numbers lower than 10,000
# are less likely to be available.
# If the port number is already in use, socat will produce an error.
function get_rand_port_num {
# In bash, "$RANDOM" produces a random integer between 0 and 32767.
# RANDOM * 2 produces an even number reasonably evenly distributed
# over the range from 0 to 65534, and then RANDOM % 2 adds 0 or 1.
# '% 55536 + 10000' then coerces the range into 10,000 to 65,535.
# (This spoils the even distribution, yes, but the real problem is
# ensuring that the port number is not in use. It does not need
# to be random, it needs to be available.)
echo $(( (RANDOM * 2 + RANDOM % 2) % 55536 + 10000 ))
}
function check_tool {
which "$1" &>/dev/null || quit "'$1' not found in PATH. Is it installed?"
}
function main {
get_user_and_token
if [ "$1" = 'do_proxy' ]; then
shift
do_proxy "$@"
else
SSUU_SCP='0'
if [ "$(basename "$0")" = 'scp-uuid' ]; then
SSUU_SCP='1'
fi
parse_args "$@"
if [ "${SSUU_SCP}" = '1' ]; then
run_scp "$@"
else
run_ssh "$@"
fi
fi
}
main "$@"

View File

@ -51,8 +51,8 @@ jobs:
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=ubuntu/images/hvm-ssd-gp3/ubuntu-noble-24.04-amd64-server-20250516
ami: ami-0a7620d611d3ceae4
# currentImageName=ubuntu/images/hvm-ssd-gp3/ubuntu-noble-24.04-amd64-server-20250610
ami: ami-020cba7c55df1f615
subdomain: ${{ vars.DNS_SUBDOMAIN || 'auto' }}
dns_tld: ${{ vars.DNS_TLD || 'balena-devices.com' }}
@ -60,7 +60,7 @@ jobs:
- 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-*-generic-amd64"]},{"region":"us-east-1"}]
# amiFilter=[{"Name":"owner-id","Values":["491725000532"]},{"Name":"name","Values":["balenaOS!(-secureboot)-*.*.*-generic-amd64"]},{"region":"us-east-1"}]
# currentImageName=balenaOS-6.5.29-generic-amd64
ami: ami-0ffdbd60c5229c1e2
# https://dash.cloudflare.com/001b3ed2352612aaa068aca1b0022736/balena-devices.com/dns
@ -73,16 +73,55 @@ jobs:
name: ${{ matrix.target }}
steps:
- uses: actions/checkout@85e6279cec87321a52edac9c87bce653a07cf6c2
- uses: actions/checkout@09d2acae674a48949e3602304ab46fd20ae0c42f
with:
persist-credentials: false
ref: ${{ github.event.pull_request.head.sha }}
- name: Setup with_backoff utility function
run: |
set -ue
# This used to come from src/balena-tests/functions, but that path is user-writable which had injection risks
# 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
}
echo "BASH_FUNC_with_backoff()=$(declare -f with_backoff)" >> $GITHUB_ENV
# 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@439a5297371c30b005c40e485f1de279f86df81e
- uses: aws-actions/configure-aws-credentials@3bb878b6ab43ba8717918141cd07a0ea68cfe7ea
with:
aws-region: ${{ vars.AWS_REGION || 'us-east-1' }}
role-session-name: github-${{ github.job }}-${{ github.run_id }}-${{ github.run_attempt }}
@ -102,10 +141,10 @@ jobs:
# https://github.com/balena-io-examples/setup-balena-action
- name: Setup balena CLI
uses: balena-io-examples/setup-balena-action@01210a3d91d9efe9e27d5b76c595805c11825a63 # v0.0.11
uses: balena-io-examples/setup-balena-action@a3dc55eb5a1efe3368778f19b9b8a2ac41ddf44c # v0.0.20
env:
# renovate: datasource=github-releases depName=balena-io/balena-cli
BALENA_CLI_VERSION: v18.2.17
BALENA_CLI_VERSION: v22.1.1
with:
cli-version: ${{ env.BALENA_CLI_VERSION }}
@ -119,8 +158,6 @@ jobs:
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
mkdir -p "${RUNNER_TEMP}/ssh-uuid"
wget -q -O "${RUNNER_TEMP}/ssh-uuid/ssh-uuid" https://raw.githubusercontent.com/pdcastro/ssh-uuid/master/ssh-uuid.sh \
@ -195,8 +232,6 @@ jobs:
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
with_backoff balena login --token '${{ secrets.BALENA_API_KEY }}'
balena_device_uuid="$(openssl rand -hex 16)"
@ -240,8 +275,6 @@ jobs:
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
with_backoff balena login --token '${{ secrets.BALENA_API_KEY }}'
pr_id='${{ github.event.pull_request.id }}'
@ -268,8 +301,6 @@ jobs:
[[ '${{ 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 env add VERBOSE "${{ vars.VERBOSE || 'false' }}" \
@ -369,8 +400,6 @@ jobs:
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
with_backoff balena login --token '${{ secrets.BALENA_API_KEY }}'
# cert-manager requires it to get whoami information for the user
@ -404,8 +433,6 @@ jobs:
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
# shellcheck disable=SC2046,SC2043
for subnet_id in ${{ env.AWS_VPC_SUBNET_IDS }}; do
# spot, on-demand
@ -453,8 +480,6 @@ jobs:
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
function cleanup() {
aws ec2 describe-instances --instance-ids ${{ steps.balena-sut.outputs.instance_id }} \
| jq -r .Reservations[].Instances[].StateReason
@ -506,8 +531,6 @@ jobs:
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
function cleanup() {
aws ec2 describe-instances --instance-ids ${{ steps.balena-sut.outputs.instance_id }} \
| jq -r .Reservations[].Instances[].StateReason
@ -570,8 +593,6 @@ jobs:
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
function cleanup() {
aws ec2 describe-instances --instance-ids ${{ steps.balena-sut.outputs.instance_id }} \
| jq -r .Reservations[].Instances[].StateReason
@ -615,8 +636,6 @@ jobs:
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
function cleanup() {
aws ec2 describe-instances --instance-ids ${{ steps.balena-sut.outputs.instance_id }} \
| jq -r .Reservations[].Instances[].StateReason
@ -688,8 +707,6 @@ jobs:
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
function cleanup() {
rm -f user-data.yml
}
@ -874,8 +891,6 @@ jobs:
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
function log_output() {
rm -f "{HOME}/.ssh/config"
@ -1023,8 +1038,6 @@ jobs:
[[ '${{ 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 }} \
@ -1048,8 +1061,6 @@ jobs:
[[ '${{ 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 device rm ${{ steps.register-test-device.outputs.balena_device_uuid }} --yes
@ -1065,8 +1076,6 @@ jobs:
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
if [[ -n '${{ steps.balena-sut.outputs.instance_id }}' ]]; then
with_backoff aws ec2 terminate-instances \
--instance-ids ${{ steps.balena-sut.outputs.instance_id }}
@ -1083,8 +1092,6 @@ jobs:
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
if [[ -n '${{ steps.ubuntu-sut.outputs.instance_id }}' ]]; then
with_backoff aws ec2 terminate-instances \
--instance-ids ${{ steps.ubuntu-sut.outputs.instance_id }}
@ -1101,8 +1108,6 @@ jobs:
[[ '${{ vars.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
source src/balena-tests/functions
stale_instances=$(mktemp)
aws ec2 describe-instances --filters \
Name=tag:Name,Values=open-balena-tests \

View File

@ -1,3 +1,468 @@
- commits:
- subject: Update dependency balena-io/balena-cli to v22.1.1
hash: 2fde02ac366d03e64fb4052b71f4a0c379e4f721
body: |
Update balena-io/balena-cli from 22.1.0 to 22.1.1
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.450
title: ""
date: 2025-06-20T17:05:07.633Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v37.3.2
hash: 864cf98b1149383e5a80db9825a969953e5a72bc
body: |
Update balena/open-balena-api from 37.3.0 to 37.3.2
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.449
title: ""
date: 2025-06-20T15:47:09.727Z
- commits:
- subject: Update balena-io-examples/setup-balena-action action to v0.0.20
hash: decf3c1c6724270266a9b6e81deffdb26ad46e61
body: |
Update balena-io-examples/setup-balena-action from 0.0.19 to 0.0.20
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.448
title: ""
date: 2025-06-20T01:17:30.792Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v37.3.0
hash: 1d627f8ebba0ef9138b2132eb78eca46a7532098
body: |
Update balena/open-balena-api from 37.2.1 to 37.3.0
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.447
title: ""
date: 2025-06-19T08:48:27.688Z
- commits:
- subject: Update aws-actions/configure-aws-credentials digest to 3bb878b
hash: 067e000795a435ef1704da47d98ee958a868c56c
body: |
Update aws-actions/configure-aws-credentials
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.446
title: ""
date: 2025-06-17T22:12:03.860Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v37.2.1
hash: 59f69aa61b1a115ca0505f78a28f8b574c21f1f5
body: |
Update balena/open-balena-api from 37.2.0 to 37.2.1
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.445
title: ""
date: 2025-06-13T12:18:45.318Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v37.2.0
hash: 212bc9d03c87674441fd6bde14d29b56eef4ccb9
body: |
Update balena/open-balena-api from 37.1.10 to 37.2.0
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.444
title: ""
date: 2025-06-13T00:17:09.114Z
- commits:
- subject: Update balena/open-balena-s3 Docker tag to v2.28.75
hash: 88bb5b1b165cbc8677dac78e0c097f03ad5a5316
body: |
Update balena/open-balena-s3 from 2.28.74 to 2.28.75
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.443
title: ""
date: 2025-06-12T22:48:07.330Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v37.1.10
hash: 3a7229acde81d145c742bddaa17b5acee1085a9d
body: |
Update balena/open-balena-api from 37.1.8 to 37.1.10
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.442
title: ""
date: 2025-06-12T16:07:05.240Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v37.1.8
hash: 6e144793a7374b67b596aa7fe7b04ca5c7afe808
body: |
Update balena/open-balena-api from 37.1.7 to 37.1.8
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.441
title: ""
date: 2025-06-10T16:34:07.948Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v37.1.7
hash: 1ec66310d662b7ea40ce56c5086aa4098bcbe14d
body: |
Update balena/open-balena-api from 37.1.6 to 37.1.7
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.440
title: ""
date: 2025-06-10T16:02:22.597Z
- commits:
- subject: Update actions/checkout digest to 09d2aca
hash: a14778918863c639e5edb24a0b4189ff55101c25
body: |
Update actions/checkout
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.439
title: ""
date: 2025-06-10T13:43:33.254Z
- commits:
- subject: Update dependency ami to ami-020cba7c55df1f615
hash: 8a3c07dea6da25de1aaaa661aef9bb6dd9f660be
body: |
Update ami from ami-0731becbf832f281e to ami-020cba7c55df1f615
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.438
title: ""
date: 2025-06-10T11:56:59.195Z
- commits:
- subject: Update aws-actions/configure-aws-credentials digest to a95656f
hash: 7f574ad09b57f57f7c60e22a49a520d655fbeb48
body: |
Update aws-actions/configure-aws-credentials
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.437
title: ""
date: 2025-06-10T04:41:52.409Z
- commits:
- subject: Update balena-io-examples/setup-balena-action action to v0.0.19
hash: 68e14fa86a11ca15b7180146bf07da47444baac2
body: |
Update balena-io-examples/setup-balena-action from 0.0.18 to 0.0.19
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.436
title: ""
date: 2025-06-09T23:04:03.070Z
- commits:
- subject: Update dependency balena-io/balena-cli to v22.1.0
hash: 652fde04f85e2219e98c63a3826aec4093b1d7ef
body: |
Update balena-io/balena-cli from 22.0.6 to 22.1.0
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.435
title: ""
date: 2025-06-09T21:51:52.276Z
- commits:
- subject: Update aws-actions/configure-aws-credentials digest to ab0ba40
hash: 4245f746fb7e236f836d05220ae948cece12cada
body: |
Update aws-actions/configure-aws-credentials
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.434
title: ""
date: 2025-06-05T23:07:04.438Z
- commits:
- subject: Update aws-actions/configure-aws-credentials digest to 151e7fe
hash: be8ebc87afe773ada463e3f6918eda544c462666
body: |
Update aws-actions/configure-aws-credentials
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.433
title: ""
date: 2025-06-03T04:23:17.206Z
- commits:
- subject: Update dependency balena-io/balena-cli to v22.0.6
hash: 18a7e6afa7e824482a29072bc9c2a4ce49cc587c
body: |
Update balena-io/balena-cli from 22.0.5 to 22.0.6
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.432
title: ""
date: 2025-06-02T20:23:12.070Z
- commits:
- subject: Update dependency ami to ami-0731becbf832f281e
hash: b363655b035b7ec81b722856168a41a132a4fa0b
body: |
Update ami from ami-0a7620d611d3ceae4 to ami-0731becbf832f281e
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.431
title: ""
date: 2025-06-02T19:57:46.770Z
- commits:
- subject: Update balena-io-examples/setup-balena-action action to v0.0.18
hash: 074caf4a382a54816de3eccd1f9d3a51a1784bb7
body: |
Update balena-io-examples/setup-balena-action from 0.0.17 to 0.0.18
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.430
title: ""
date: 2025-06-02T18:02:02.266Z
- commits:
- subject: Update balena/open-balena-vpn Docker tag to v11.32.28
hash: 061f22e1d961639d50a637dcdf6272275f5f9305
body: |
Update balena/open-balena-vpn from 11.32.27 to 11.32.28
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.429
title: ""
date: 2025-06-02T15:46:59.607Z
- commits:
- subject: Update dependency balena-io/balena-cli to v22.0.5
hash: 67f8a8477d8db52ef4d0e54641b2e700b093820d
body: |
Update balena-io/balena-cli from 22.0.0 to 22.0.5
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.428
title: ""
date: 2025-05-30T03:29:17.816Z
- commits:
- subject: Update dependency balena-io/balena-cli to v22
hash: 031996f4868c989879437aee92842d6d2a6c88a0
body: |
Update balena-io/balena-cli from 21.1.14 to 22.0.0
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.427
title: ""
date: 2025-05-30T00:36:47.597Z
- commits:
- subject: Update balena-io-examples/setup-balena-action action to v0.0.17
hash: 6dcf7ec086a7ebb77c0f74ad393012dc4fd9fa39
body: |
Update balena-io-examples/setup-balena-action from 0.0.12 to 0.0.17
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.426
title: ""
date: 2025-05-29T20:44:56.223Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v37.1.6
hash: 1b89f027a8bd11e5a66b50784cbed25bce793425
body: |
Update balena/open-balena-api from 37.1.5 to 37.1.6
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.425
title: ""
date: 2025-05-29T14:47:37.805Z
- commits:
- subject: Update balena/open-balena-vpn Docker tag to v11.32.27
hash: cb822e6e90a6067136cbaa95e5dc3a5e868c89b8
body: |
Update balena/open-balena-vpn from 11.32.25 to 11.32.27
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.424
title: ""
date: 2025-05-28T11:23:35.447Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v37.1.5
hash: 8c5522b0bf85b55b215c16e5cfdea793b06ed864
body: |
Update balena/open-balena-api from 37.1.4 to 37.1.5
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.423
title: ""
date: 2025-05-27T18:17:10.871Z
- commits:
- subject: Update dependency balena-io/balena-cli to v21
hash: a55a88d2f0a6288e9acafef47bb3e574274686f0
body: |
Update balena-io/balena-cli from 20.2.10 to 21.1.14
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.422
title: ""
date: 2025-05-27T17:22:11.958Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v37.1.4
hash: bfd399193f47792bf16b0423bd769926fd928da4
body: |
Update balena/open-balena-api from 37.1.3 to 37.1.4
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.421
title: ""
date: 2025-05-27T15:27:10.473Z
- commits:
- subject: Update balena/open-balena-api Docker tag to v37.1.3
hash: 87a94d8c6d223a330e6a105584e5c6ba4c7d884d
body: |
Update balena/open-balena-api from 37.1.0 to 37.1.3
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.420
title: ""
date: 2025-05-27T15:01:53.690Z
- commits:
- subject: Update dependency balena-io/balena-cli to v20
hash: e67bde8b0f66be17722937b2ba9b793666c220ed
body: |
Update balena-io/balena-cli from 18.2.34 to 20.2.10
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.419
title: ""
date: 2025-05-27T13:06:03.888Z
- commits:
- subject: Update aws-actions/configure-aws-credentials digest to b92d0d9
hash: a0a518da7964dd881ad7709a33558de5ee73b62f
body: |
Update aws-actions/configure-aws-credentials
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.418
title: ""
date: 2025-05-27T08:17:45.708Z
- commits:
- subject: "patch: Only match balenaOS (non secure-boot) images"
hash: d4c0144829e002833985f3eeac96065e192cc1d0
body: ""
footer: {}
author: Anton Belodedenko
nested: []
version: 4.1.417
title: ""
date: 2025-05-27T07:52:09.722Z
- commits:
- subject: Update balena-io-examples/setup-balena-action action to v0.0.12
hash: 10f109d299f684a64cf571a90486f15c1adee4e2
body: |
Update balena-io-examples/setup-balena-action from 0.0.11 to 0.0.12
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.416
title: ""
date: 2025-05-26T22:16:45.716Z
- commits:
- subject: Update dependency balena-io/balena-cli to v18.2.34
hash: 040f7051382d6c7205ec1f944379a49706d5f6aa
body: |
Update balena-io/balena-cli from 18.2.17 to 18.2.34
footer:
Change-type: patch
change-type: patch
author: balena-renovate[bot]
nested: []
version: 4.1.415
title: ""
date: 2025-05-26T21:08:32.204Z
- commits:
- subject: Update balena-io-examples/setup-balena-action action to v0.0.11
hash: e150dee790290bc3f163e7efaf90a0c71429f0c0

View File

@ -4,6 +4,186 @@ 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.450
## (2025-06-20)
* Update dependency balena-io/balena-cli to v22.1.1 [balena-renovate[bot]]
# v4.1.449
## (2025-06-20)
* Update balena/open-balena-api Docker tag to v37.3.2 [balena-renovate[bot]]
# v4.1.448
## (2025-06-20)
* Update balena-io-examples/setup-balena-action action to v0.0.20 [balena-renovate[bot]]
# v4.1.447
## (2025-06-19)
* Update balena/open-balena-api Docker tag to v37.3.0 [balena-renovate[bot]]
# v4.1.446
## (2025-06-17)
* Update aws-actions/configure-aws-credentials digest to 3bb878b [balena-renovate[bot]]
# v4.1.445
## (2025-06-13)
* Update balena/open-balena-api Docker tag to v37.2.1 [balena-renovate[bot]]
# v4.1.444
## (2025-06-13)
* Update balena/open-balena-api Docker tag to v37.2.0 [balena-renovate[bot]]
# v4.1.443
## (2025-06-12)
* Update balena/open-balena-s3 Docker tag to v2.28.75 [balena-renovate[bot]]
# v4.1.442
## (2025-06-12)
* Update balena/open-balena-api Docker tag to v37.1.10 [balena-renovate[bot]]
# v4.1.441
## (2025-06-10)
* Update balena/open-balena-api Docker tag to v37.1.8 [balena-renovate[bot]]
# v4.1.440
## (2025-06-10)
* Update balena/open-balena-api Docker tag to v37.1.7 [balena-renovate[bot]]
# v4.1.439
## (2025-06-10)
* Update actions/checkout digest to 09d2aca [balena-renovate[bot]]
# v4.1.438
## (2025-06-10)
* Update dependency ami to ami-020cba7c55df1f615 [balena-renovate[bot]]
# v4.1.437
## (2025-06-10)
* Update aws-actions/configure-aws-credentials digest to a95656f [balena-renovate[bot]]
# v4.1.436
## (2025-06-09)
* Update balena-io-examples/setup-balena-action action to v0.0.19 [balena-renovate[bot]]
# v4.1.435
## (2025-06-09)
* Update dependency balena-io/balena-cli to v22.1.0 [balena-renovate[bot]]
# v4.1.434
## (2025-06-05)
* Update aws-actions/configure-aws-credentials digest to ab0ba40 [balena-renovate[bot]]
# v4.1.433
## (2025-06-03)
* Update aws-actions/configure-aws-credentials digest to 151e7fe [balena-renovate[bot]]
# v4.1.432
## (2025-06-02)
* Update dependency balena-io/balena-cli to v22.0.6 [balena-renovate[bot]]
# v4.1.431
## (2025-06-02)
* Update dependency ami to ami-0731becbf832f281e [balena-renovate[bot]]
# v4.1.430
## (2025-06-02)
* Update balena-io-examples/setup-balena-action action to v0.0.18 [balena-renovate[bot]]
# v4.1.429
## (2025-06-02)
* Update balena/open-balena-vpn Docker tag to v11.32.28 [balena-renovate[bot]]
# v4.1.428
## (2025-05-30)
* Update dependency balena-io/balena-cli to v22.0.5 [balena-renovate[bot]]
# v4.1.427
## (2025-05-30)
* Update dependency balena-io/balena-cli to v22 [balena-renovate[bot]]
# v4.1.426
## (2025-05-29)
* Update balena-io-examples/setup-balena-action action to v0.0.17 [balena-renovate[bot]]
# v4.1.425
## (2025-05-29)
* Update balena/open-balena-api Docker tag to v37.1.6 [balena-renovate[bot]]
# v4.1.424
## (2025-05-28)
* Update balena/open-balena-vpn Docker tag to v11.32.27 [balena-renovate[bot]]
# v4.1.423
## (2025-05-27)
* Update balena/open-balena-api Docker tag to v37.1.5 [balena-renovate[bot]]
# v4.1.422
## (2025-05-27)
* Update dependency balena-io/balena-cli to v21 [balena-renovate[bot]]
# v4.1.421
## (2025-05-27)
* Update balena/open-balena-api Docker tag to v37.1.4 [balena-renovate[bot]]
# v4.1.420
## (2025-05-27)
* Update balena/open-balena-api Docker tag to v37.1.3 [balena-renovate[bot]]
# v4.1.419
## (2025-05-27)
* Update dependency balena-io/balena-cli to v20 [balena-renovate[bot]]
# v4.1.418
## (2025-05-27)
* Update aws-actions/configure-aws-credentials digest to b92d0d9 [balena-renovate[bot]]
# v4.1.417
## (2025-05-27)
* patch: Only match balenaOS (non secure-boot) images [Anton Belodedenko]
# v4.1.416
## (2025-05-26)
* Update balena-io-examples/setup-balena-action action to v0.0.12 [balena-renovate[bot]]
# v4.1.415
## (2025-05-26)
* Update dependency balena-io/balena-cli to v18.2.34 [balena-renovate[bot]]
# v4.1.414
## (2025-05-26)

View File

@ -1 +1 @@
4.1.414
4.1.450

View File

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

View File

@ -79,7 +79,7 @@ services:
*with-default-privileges,
*with-default-volumes,
]
image: balena/open-balena-api:37.1.0
image: balena/open-balena-api:37.3.2
depends_on:
- db
- redis
@ -146,7 +146,7 @@ services:
*with-network-privileges,
*with-default-privileges,
]
image: balena/open-balena-vpn:11.32.25
image: balena/open-balena-vpn:11.32.28
depends_on:
- api
environment:
@ -177,7 +177,7 @@ services:
*with-default-healthcheck,
*with-default-privileges,
]
image: balena/open-balena-s3:2.28.74
image: balena/open-balena-s3:2.28.75
volumes:
- s3-data:/export
- certs-data:/certs

View File

@ -1,7 +1,7 @@
FROM ubuntu:24.04
# renovate: datasource=github-releases depName=balena-io/balena-cli
ARG BALENA_CLI_VERSION=v21.1.14
ARG BALENA_CLI_VERSION=v22.1.1
RUN apt-get update && apt-get install -y --no-install-recommends \
bash \
@ -21,11 +21,9 @@ RUN curl -fsSL https://get.docker.com | sh
WORKDIR /opt
RUN set -x; arch=$(uname -m | sed 's/86_64/64/g') \
&& wget -q "https://github.com/balena-io/balena-cli/releases/download/${BALENA_CLI_VERSION}/balena-cli-${BALENA_CLI_VERSION}-linux-${arch}-standalone.zip" \
&& unzip -q "balena-cli-${BALENA_CLI_VERSION}-linux-${arch}-standalone.zip" \
&& rm -rf "balena-cli-${BALENA_CLI_VERSION}-linux-${arch}-standalone.zip"
&& wget -qO- "https://github.com/balena-io/balena-cli/releases/download/${BALENA_CLI_VERSION}/balena-cli-${BALENA_CLI_VERSION}-linux-${arch}-standalone.tar.gz" | tar -xzf -
ENV PATH=/opt/balena-cli:${PATH}
ENV PATH=/opt/balena/bin:${PATH}
COPY functions balena.sh /usr/sbin/