Skip to content

Commit

Permalink
Merge pull request #28 from balena-os/ab77/patch
Browse files Browse the repository at this point in the history
adds support for Azure VMs
  • Loading branch information
ab77 committed Mar 26, 2024
2 parents afe5464 + fc697af commit fab72bd
Showing 1 changed file with 14 additions and 4 deletions.
18 changes: 14 additions & 4 deletions balena.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,14 @@ for device in $devices; do
fi
done

# 1. AWS
# 2. DigitalOcean
# 3. Azure
# 4. Equinix
metadata_urls=(
'http://169.254.169.254/latest/user-data'
'http://169.254.169.254/metadata/v1/user-data'
'http://169.254.169.254/metadata/instance/compute/userData?api-version=2023-07-01&format=text;-H Metadata:true'
'https://metadata.platformequinix.com/userdata'
)

Expand All @@ -36,10 +41,15 @@ function curl_with_opts() {

function config_from_metadata() {
#shellcheck disable=SC2034,SC2039 # /bin/sh is a symbolic link to bash on balenaOS
for url in "${metadata_urls[@]}"; do
user_data="$(curl_with_opts "${url}")"

if [ -n "${user_data}" ]; then
for metadata_url in "${metadata_urls[@]}"; do
url="$(echo "${metadata_url}" | awk -F';' '{print $1}')"
headers="$(echo "${metadata_url}" | awk -F';' '{print $2}')"
response="$(curl_with_opts ${headers} "${url}")"
user_data="$(echo "${response}" | base64 -d)"
if [ -z "${user_data}" ]; then
user_data="${response}"
fi
if [ -n "${user_data}" ] && echo "${user_data}" | jq -e . > /dev/null; then
echo "${user_data}" | jq -r '.cloudConfig="done"'
break
fi
Expand Down

0 comments on commit fab72bd

Please sign in to comment.