Fix : agent install script fail
This commit is contained in:
@@ -91,15 +91,23 @@ Info "Téléchargement depuis $url"
|
|||||||
$headers = @{}
|
$headers = @{}
|
||||||
if ($PackageToken) { $headers['Authorization'] = "token $PackageToken" }
|
if ($PackageToken) { $headers['Authorization'] = "token $PackageToken" }
|
||||||
|
|
||||||
$tmp = Join-Path $InstallDir 'agent.cjs.tmp'
|
# Le fichier temporaire doit garder l'extension .cjs : `node --check` déduit le
|
||||||
|
# format du module de l'extension et rejette tout ce qu'il ne reconnaît pas
|
||||||
|
# (« Unknown file extension .tmp »), quel que soit le contenu.
|
||||||
|
$tmp = Join-Path $InstallDir 'agent-new.cjs'
|
||||||
try {
|
try {
|
||||||
Invoke-WebRequest -Uri $url -Headers $headers -OutFile $tmp -UseBasicParsing
|
Invoke-WebRequest -Uri $url -Headers $headers -OutFile $tmp -UseBasicParsing
|
||||||
} catch {
|
} catch {
|
||||||
Die "Téléchargement impossible ($($_.Exception.Message)). Vérifie -Registry, -Version, et -PackageToken si le paquet est privé."
|
Die "Téléchargement impossible ($($_.Exception.Message)). Vérifie -Registry, -Version, et -PackageToken si le paquet est privé."
|
||||||
}
|
}
|
||||||
|
|
||||||
& node --check $tmp 2>$null
|
$checkErr = (& node --check $tmp 2>&1 | Out-String)
|
||||||
if ($LASTEXITCODE -ne 0) { Die 'Le fichier téléchargé n''est pas un script Node valide.' }
|
if ($LASTEXITCODE -ne 0) {
|
||||||
|
Write-Host $checkErr
|
||||||
|
Write-Host " (fichier conservé pour inspection : $tmp)"
|
||||||
|
Die 'Le fichier téléchargé n''est pas un script Node valide — voir l''erreur ci-dessus.'
|
||||||
|
}
|
||||||
|
|
||||||
Move-Item -Force $tmp (Join-Path $InstallDir 'agent.cjs')
|
Move-Item -Force $tmp (Join-Path $InstallDir 'agent.cjs')
|
||||||
|
|
||||||
# --- Configuration ----------------------------------------------------------
|
# --- Configuration ----------------------------------------------------------
|
||||||
|
|||||||
@@ -142,12 +142,21 @@ mkdir -p "$INSTALL_DIR"
|
|||||||
CURL_AUTH=()
|
CURL_AUTH=()
|
||||||
[ -n "$PACKAGE_TOKEN" ] && CURL_AUTH=(--header "Authorization: token $PACKAGE_TOKEN")
|
[ -n "$PACKAGE_TOKEN" ] && CURL_AUTH=(--header "Authorization: token $PACKAGE_TOKEN")
|
||||||
|
|
||||||
curl -fsSL "${CURL_AUTH[@]}" -o "$INSTALL_DIR/agent.cjs.tmp" "$URL" \
|
# Le fichier temporaire doit garder l'extension .cjs : `node --check` déduit le
|
||||||
|
# format du module de l'extension et rejette tout ce qu'il ne reconnaît pas
|
||||||
|
# (« Unknown file extension .tmp »), quel que soit le contenu.
|
||||||
|
TMP_FILE="$INSTALL_DIR/agent-new.cjs"
|
||||||
|
|
||||||
|
curl -fsSL "${CURL_AUTH[@]}" -o "$TMP_FILE" "$URL" \
|
||||||
|| die "Téléchargement impossible. Vérifie --registry, --version, et --package-token si le paquet est privé."
|
|| die "Téléchargement impossible. Vérifie --registry, --version, et --package-token si le paquet est privé."
|
||||||
|
|
||||||
node --check "$INSTALL_DIR/agent.cjs.tmp" 2>/dev/null \
|
if ! CHECK_ERR="$(node --check "$TMP_FILE" 2>&1)"; then
|
||||||
|| die "Le fichier téléchargé n'est pas un script Node valide."
|
echo "$CHECK_ERR" >&2
|
||||||
mv "$INSTALL_DIR/agent.cjs.tmp" "$INSTALL_DIR/agent.cjs"
|
echo " (fichier conservé pour inspection : $TMP_FILE)" >&2
|
||||||
|
die "Le fichier téléchargé n'est pas un script Node valide — voir l'erreur ci-dessus."
|
||||||
|
fi
|
||||||
|
|
||||||
|
mv "$TMP_FILE" "$INSTALL_DIR/agent.cjs"
|
||||||
|
|
||||||
# --- Configuration ----------------------------------------------------------
|
# --- Configuration ----------------------------------------------------------
|
||||||
if [ "$IS_UPGRADE" = true ]; then
|
if [ "$IS_UPGRADE" = true ]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user