Puppet Bolt est un outil d’orchestration open source sans agent permettant d’automatiser des tâches ponctuelles, des scripts et des flux multi-nœuds via SSH ou WinRM standard.
Installation
# macOS (Homebrew)
brew install puppetlabs/puppet/puppet-bolt
# Windows (Chocolatey)
choco install puppet-bolt
# Linux (Debian / Ubuntu)
wget https://apt.puppet.com/puppet-tools-release-$(lsb_release -cs).deb
sudo dpkg -i puppet-tools-release-*.deb
sudo apt-get update && sudo apt-get install puppet-bolt
Créer un module de tâche
Les tâches peuvent être écrites dans n’importe quel langage pris en charge sur les hôtes cibles (Bash, Python, PowerShell, Ruby) :
# Créer le répertoire tasks dans le module
mkdir -p ~/.puppetlabs/bolt/modules/mymodule/tasks
# Placer le script dans le dossier des tâches
cp myscript.sh ~/.puppetlabs/bolt/modules/mymodule/tasks/
chmod +x ~/.puppetlabs/bolt/modules/mymodule/tasks/myscript.sh
Exécuter des tâches
Exécutez des tâches sur plusieurs nœuds distants grâce à l’authentification par clé privée SSH :
bolt task run mymodule::myscript \
--targets node1.example.com,node2.example.com \
--user root \
--private-key ~/.ssh/id_rsa
Exécuter des commandes ponctuelles et des scripts
# Exécuter une commande en une ligne sur tout l’inventaire
bolt command run 'uptime' --targets all
# Exécuter un script local à distance
bolt script run ./deploy.sh --targets webservers