62 lines
1.8 KiB
Bash
Executable File
62 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
# Script compatible multi_install + huawei_ir + triggers
|
|
|
|
provision_server() {
|
|
local NAME=$1
|
|
local REGION=${2:-eu-west-0}
|
|
local FLAVOR=${3:-s6.medium.2}
|
|
|
|
echo "🚀 Provisioning: $NAME ($REGION, $FLAVOR)"
|
|
|
|
# Appeler huawei_ir.php qui gère tout (IR Framework + VMTAs)
|
|
RESULT=$(curl -s -X POST "http://localhost:5821/api/huawei_ir.php?action=provision" \
|
|
-H "Content-Type: application/json" \
|
|
-d "{\"count\":1,\"region\":\"$REGION\",\"flavor\":\"$FLAVOR\",\"prefix\":\"$NAME\"}")
|
|
|
|
echo "$RESULT" | python3 -m json.tool 2>/dev/null || echo "$RESULT"
|
|
|
|
# Extraire server_id
|
|
SERVER_ID=$(echo "$RESULT" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d['results'][0]['db_id'] if d.get('results') else 0)" 2>/dev/null)
|
|
|
|
if [ "$SERVER_ID" -gt 0 ]; then
|
|
echo "✅ Serveur créé: ID=$SERVER_ID"
|
|
|
|
# Vérifier VMTAs
|
|
VMTA_COUNT=$(sudo -u postgres psql -d adx_system -t -c "SELECT COUNT(*) FROM admin.vmtas WHERE server_id=$SERVER_ID;")
|
|
echo "✅ VMTAs créés: $VMTA_COUNT"
|
|
|
|
return 0
|
|
else
|
|
echo "❌ Erreur création serveur"
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
delete_server() {
|
|
local SERVER_ID=$1
|
|
|
|
echo "🗑️ Suppression serveur: $SERVER_ID"
|
|
|
|
RESULT=$(curl -s -X POST "http://localhost:5821/api/huawei_ir.php?action=delete" \
|
|
-H "Content-Type: application/json" \
|
|
-d "{\"server_id\":$SERVER_ID}")
|
|
|
|
echo "$RESULT" | python3 -m json.tool 2>/dev/null || echo "$RESULT"
|
|
}
|
|
|
|
# CLI
|
|
case "$1" in
|
|
create)
|
|
provision_server "$2" "$3" "$4"
|
|
;;
|
|
delete)
|
|
delete_server "$2"
|
|
;;
|
|
*)
|
|
echo "Usage: $0 {create|delete} [args]"
|
|
echo ""
|
|
echo " create <name> [region] [flavor]"
|
|
echo " delete <server_id>"
|
|
;;
|
|
esac
|