project/11-Ansible/Old/install_fullserver_web.sh

25 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
# Demande à l'utilisateur l'adresse IP, le hostname et le mot de passe pour l'utilisateur "smauro"
read -p "Entrez l'adresse IP de la machine cible : " target_ip
read -p "Entrez le nouveau hostname : " ansible_hostname
read -p "Entrez le mot de passe pour l'utilisateur smauro : " smauro_password
# Vérification que l'IP, le hostname et le mot de passe ne sont pas vides
if [[ -z "$target_ip" || -z "$ansible_hostname" || -z "$smauro_password" ]]; then
echo "Erreur : L'adresse IP, le hostname et le mot de passe ne peuvent pas être vides."
exit 1
fi
# Créer un fichier d'inventaire dynamique
inventory_file="dynamic_inventory.ini"
echo "[server_web]" > $inventory_file
echo "$target_ip ansible_user=root ansible_ssh_pass=testtest" >> $inventory_file
# Exécution du playbook avec les variables dynamiques
ansible-playbook -i "$inventory_file" -u root --ask-become-pass playbooks/debian_fullserver_web.yml -e "ansible_hostname=\"$ansible_hostname\" user_password=\"$smauro_password\""
# Supprimer le fichier d'inventaire dynamique après utilisation
rm -f $inventory_file