Puppet Bolt este un instrument de orchestrare open-source, fără agent, care automatizează sarcini ad-hoc, scripturi și fluxuri multi-nod prin SSH sau WinRM standard.
Instalare
# 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
Crearea unui Modul de Sarcini
Sarcinile pot fi scrise în orice limbaj suportat pe gazdele țintă (Bash, Python, PowerShell, Ruby):
# Creează directorul tasks în modul
mkdir -p ~/.puppetlabs/bolt/modules/mymodule/tasks
# Plasează scriptul în folderul sarcinilor
cp myscript.sh ~/.puppetlabs/bolt/modules/mymodule/tasks/
chmod +x ~/.puppetlabs/bolt/modules/mymodule/tasks/myscript.sh
Executarea Sarcinilor
Rulează sarcini pe mai multe noduri la distanță folosind autentificarea cu cheie privată SSH:
bolt task run mymodule::myscript \
--targets node1.example.com,node2.example.com \
--user root \
--private-key ~/.ssh/id_rsa
Rularea Comenzilor Ad-Hoc și a Scripturilor
# Rulează o comandă pe o linie pe toate țintele din inventar
bolt command run 'uptime' --targets all
# Rulează de la distanță un script local
bolt script run ./deploy.sh --targets webservers