1
0
mirror of https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud.git synced 2025-12-16 03:42:44 +03:00

decompress user-data

* replace unset CLOUD_USERDATA
* quote match_header comparison, in case dd fails
* add set -x for debugging

nocloud
* add set -x for debugging
This commit is contained in:
Jake Buchholz Göktürk 2022-07-17 10:27:45 -07:00
parent cc52c9f0d0
commit a3e85c2e45
2 changed files with 11 additions and 6 deletions

View File

@ -3,16 +3,18 @@
source /lib/tiny-cloud/init-common source /lib/tiny-cloud/init-common
# DEBUG
set -x
match_header() { match_header() {
local bytes=$(echo -en "$1") local bytes=$(echo -en "$1")
[ "$bytes" = $(dd bs=1 count=${#bytes} if="$2" 2>/dev/null) ] [ "$bytes" = "$(dd bs=1 count=${#bytes} if="$2" 2>/dev/null)" ]
} }
save_userdata() { save_userdata() {
skip_action save_userdata && return skip_action save_userdata && return
local userdata="$TINY_CLOUD_VAR/$CLOUD_USERDATA" local userdata="$TINY_CLOUD_VAR/user-data"
local tmpfile=$(mktemp "$userdata.XXXXXX") local tmpfile=$(mktemp "$userdata.XXXXXX")
local cmd local cmd
@ -40,15 +42,15 @@ save_userdata() {
} }
is_userdata_script() { is_userdata_script() {
head -n1 "$TINY_CLOUD_VAR/$CLOUD_USERDATA" | grep -q "#!/" head -n1 "$TINY_CLOUD_VAR/user-data" | grep -q "#!/"
} }
run_userdata() { run_userdata() {
skip_action run_userdata && return skip_action run_userdata && return
local log="$TINY_CLOUD_LOGS/$CLOUD_USERDATA.log" local log="$TINY_CLOUD_LOGS/user-data.log"
local exit="$TINY_CLOUD_LOGS/$CLOUD_USERDATA.exit" local exit="$TINY_CLOUD_LOGS/user-data.exit"
local userdata="$TINY_CLOUD_VAR/$CLOUD_USERDATA" local userdata="$TINY_CLOUD_VAR/user-data"
chmod +x "$userdata" chmod +x "$userdata"
{ "$userdata" 2>& 1; echo $? > "$exit"; } | tee "$log" { "$userdata" 2>& 1; echo $? > "$exit"; } | tee "$log"

View File

@ -1,6 +1,9 @@
# NoCloud Instance Metadata # NoCloud Instance Metadata
# vim: ts=4 et ft=sh: # vim: ts=4 et ft=sh:
# DEBUG
set -x
NOCLOUD_FILES="meta-data user-data vendor-data network-config" NOCLOUD_FILES="meta-data user-data vendor-data network-config"
is_nocloud_loaded() { [ -f "$TINY_CLOUD_VAR/.nocloud_loaded" ]; } is_nocloud_loaded() { [ -f "$TINY_CLOUD_VAR/.nocloud_loaded" ]; }