58 lines
1.9 KiB
Bash
Executable File
58 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -euo pipefail
|
|
|
|
PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
TMP_DIR="$(mktemp -d)"
|
|
cleanup() {
|
|
find "$TMP_DIR" -type f -delete
|
|
rmdir "$TMP_DIR"
|
|
}
|
|
trap cleanup EXIT
|
|
|
|
LEGACY_ENV_FILE="$TMP_DIR/legacy.env"
|
|
cat > "$LEGACY_ENV_FILE" <<'EOF'
|
|
EXISTING_VALUE=keep-me
|
|
SYSTEM_UPDATE_MODE=legacy_watchtower
|
|
COMPOSE_PROFILES=customer-profile
|
|
WATCHTOWER_CLEANUP=
|
|
EOF
|
|
|
|
bash "$PROJECT_ROOT/scripts/apply-update-env-migrations.sh" "$LEGACY_ENV_FILE" "$PROJECT_ROOT" >/dev/null
|
|
|
|
grep -qx 'EXISTING_VALUE=keep-me' "$LEGACY_ENV_FILE"
|
|
grep -qx 'SYSTEM_UPDATE_MODE=legacy_watchtower' "$LEGACY_ENV_FILE"
|
|
grep -qx 'COMPOSE_PROFILES=customer-profile' "$LEGACY_ENV_FILE"
|
|
grep -qx 'WATCHTOWER_CLEANUP=' "$LEGACY_ENV_FILE"
|
|
[ "$(wc -l < "$LEGACY_ENV_FILE" | tr -d ' ')" = "4" ]
|
|
|
|
ENV_FILE="$TMP_DIR/.env"
|
|
cat > "$ENV_FILE" <<'EOF'
|
|
EXISTING_VALUE=keep-me
|
|
COMPOSE_PROFILES=customer-profile
|
|
WATCHTOWER_CLEANUP=
|
|
EOF
|
|
|
|
bash "$PROJECT_ROOT/scripts/apply-update-env-migrations.sh" "$ENV_FILE" "$PROJECT_ROOT" >/dev/null
|
|
|
|
read_value() {
|
|
awk -v key="$1" 'index($0, key "=") == 1 { print substr($0, length(key) + 2); exit }' "$ENV_FILE"
|
|
}
|
|
|
|
[ "$(read_value EXISTING_VALUE)" = "keep-me" ]
|
|
[ "$(read_value SYSTEM_UPDATE_MODE)" = "managed" ]
|
|
[ "$(read_value COMPOSE_PROFILES)" = "customer-profile,managed-update" ]
|
|
[ "$(read_value WATCHTOWER_CLEANUP)" = "true" ]
|
|
[ "$(read_value WATCHTOWER_CORE_UPDATE_ENABLED)" = "false" ]
|
|
[ "$(read_value WATCHTOWER_UPDATE_TARGET)" = "easyai-updater" ]
|
|
[ "$(read_value SYSTEM_UPDATER_UPDATE_INTERVAL_SECONDS)" = "86400" ]
|
|
[ "$(read_value UPDATE_HEALTH_TIMEOUT_MS)" = "300000" ]
|
|
[ "$(read_value DOCKER_CONFIG_FILE)" = "/root/.docker/config.json" ]
|
|
[ "$(read_value EASYAI_DEPLOYMENT_SCHEMA_VERSION)" = "2" ]
|
|
|
|
cp "$ENV_FILE" "$TMP_DIR/first-run.env"
|
|
bash "$PROJECT_ROOT/scripts/apply-update-env-migrations.sh" "$ENV_FILE" "$PROJECT_ROOT" >/dev/null
|
|
cmp "$TMP_DIR/first-run.env" "$ENV_FILE"
|
|
|
|
echo "Update environment migration tests passed"
|