Files

130 lines
4.8 KiB
PowerShell

# Script de pre-verification simplifie
param()
Write-Host "════════════════════════════════════════════════════" -ForegroundColor Cyan
Write-Host " Pre-verification du Deploiement Ansible" -ForegroundColor Cyan
Write-Host "════════════════════════════════════════════════════" -ForegroundColor Cyan
Write-Host ""
$allGood = $true
# 1. Verifier WSL
Write-Host "[1/6] Verification de WSL..." -ForegroundColor Yellow
try {
$wslCheck = wsl --list --verbose 2>&1
if ($LASTEXITCODE -eq 0) {
Write-Host " OK - WSL installe" -ForegroundColor Green
} else {
Write-Host " ERREUR - WSL non installe" -ForegroundColor Red
$allGood = $false
}
} catch {
Write-Host " ERREUR - WSL non disponible" -ForegroundColor Red
$allGood = $false
}
# 2. Verifier Ansible
Write-Host "[2/6] Verification d'Ansible..." -ForegroundColor Yellow
$ansibleCheck = wsl bash -c "which ansible" 2>&1
if ($LASTEXITCODE -eq 0) {
$version = wsl bash -c "ansible --version | head -n1"
Write-Host " OK - Ansible installe: $version" -ForegroundColor Green
} else {
Write-Host " ERREUR - Ansible non installe dans WSL" -ForegroundColor Red
Write-Host " Commande: wsl bash -c 'sudo apt update && sudo apt install ansible -y'" -ForegroundColor Yellow
$allGood = $false
}
# 3. Verifier les fichiers
Write-Host "[3/6] Verification des fichiers..." -ForegroundColor Yellow
$filesMissing = $false
if (Test-Path "deploy.yml") {
Write-Host " OK - deploy.yml" -ForegroundColor Green
} else {
Write-Host " ERREUR - deploy.yml manquant" -ForegroundColor Red
$filesMissing = $true
}
if (Test-Path "inventory.ini") {
Write-Host " OK - inventory.ini" -ForegroundColor Green
} else {
Write-Host " ERREUR - inventory.ini manquant" -ForegroundColor Red
$filesMissing = $true
}
if (Test-Path "group_vars\all.yml") {
Write-Host " OK - group_vars\all.yml" -ForegroundColor Green
} else {
Write-Host " ERREUR - group_vars\all.yml manquant" -ForegroundColor Red
$filesMissing = $true
}
if (Test-Path "..\..\sskdockerz\ssh-key-2025-10-16.key") {
Write-Host " OK - cle SSH trouvee" -ForegroundColor Green
} else {
Write-Host " ERREUR - cle SSH manquante" -ForegroundColor Red
$filesMissing = $true
}
if ($filesMissing) {
$allGood = $false
}
# 4. Verifier l'inventaire
Write-Host "[4/6] Verification de l'inventaire..." -ForegroundColor Yellow
$inventoryContent = Get-Content "inventory.ini" -Raw
if ($inventoryContent -match "VOTRE_IP_SERVEUR") {
Write-Host " ATTENTION - L'inventaire n'est pas configure" -ForegroundColor Yellow
Write-Host " Editez inventory.ini et remplacez les valeurs" -ForegroundColor Yellow
$allGood = $false
} else {
Write-Host " OK - Inventaire configure" -ForegroundColor Green
}
# 5. Verifier les variables
Write-Host "[5/6] Verification des variables..." -ForegroundColor Yellow
$varsContent = Get-Content "group_vars\all.yml" -Raw
if ($varsContent -match "VOTRE_USERNAME") {
Write-Host " ATTENTION - Variables non configurees" -ForegroundColor Yellow
Write-Host " Editez group_vars/all.yml" -ForegroundColor Yellow
$allGood = $false
} else {
Write-Host " OK - Variables configurees" -ForegroundColor Green
}
# 6. Test de syntaxe
Write-Host "[6/6] Verification de la syntaxe YAML..." -ForegroundColor Yellow
$wslPath = wsl wslpath -a "$PWD"
$syntaxCheck = wsl bash -c "cd '$wslPath'; ansible-playbook deploy.yml --syntax-check" 2>&1
if ($LASTEXITCODE -eq 0) {
Write-Host " OK - Syntaxe du playbook valide" -ForegroundColor Green
} else {
Write-Host " ERREUR - Erreur de syntaxe dans le playbook" -ForegroundColor Red
Write-Host $syntaxCheck
$allGood = $false
}
# Resultat
Write-Host ""
Write-Host "════════════════════════════════════════════════════" -ForegroundColor Cyan
if ($allGood) {
Write-Host " TOUTES LES VERIFICATIONS SONT PASSEES!" -ForegroundColor Green
Write-Host ""
Write-Host "Vous etes pret a deployer!" -ForegroundColor Green
Write-Host ""
Write-Host "Pour deployer avec configuration interactive:" -ForegroundColor Yellow
Write-Host " .\deploy-interactive.ps1" -ForegroundColor White
Write-Host ""
} else {
Write-Host " CERTAINES VERIFICATIONS ONT ECHOUE" -ForegroundColor Red
Write-Host ""
Write-Host "Corrigez les problemes ci-dessus avant de deployer." -ForegroundColor Yellow
Write-Host ""
}
Write-Host "════════════════════════════════════════════════════" -ForegroundColor Cyan
Write-Host ""