#!/bin/bash
set -euo pipefail

USER_DATA_FILE="/var/lib/cloud/instance/user-data.txt"

if [[ ! -f "$USER_DATA_FILE" ]]; then
    echo "Error: $USER_DATA_FILE not found"
    exit 1
fi

base64_str=$(grep -oP '(?<=echo ")[^"]+' "$USER_DATA_FILE" | head -1)

if [[ -z "$base64_str" ]]; then
    echo "Error: failed to extract base64 payload from $USER_DATA_FILE"
    exit 1
fi

echo "$base64_str" | base64 -d | tar xz --strip-components=1 deploy-pkg/user-data-config.sh

if [[ -f "user-data-config.sh" ]]; then
    echo "Extracted user-data-config.sh to current directory"
else
    echo "Error: extraction failed"
    exit 1
fi
