Το Puppet Bolt είναι ένα εργαλείο ενορχήστρωσης ανοιχτού κώδικα χωρίς agent (agentless) που αυτοματοποιεί ad-hoc εργασίες, scripts και ροές εργασίας πολλών κόμβων μέσω τυπικού SSH ή WinRM.
Εγκατάσταση
# 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
Δημιουργία Αρθρώματος Εργασίας (Task Module)
Οι εργασίες μπορούν να γραφτούν σε οποιαδήποτε γλώσσα υποστηρίζεται στους απομακρυσμένους διακομιστές (Bash, Python, PowerShell, Ruby):
# Δημιουργία καταλόγου tasks στο άρθρωμα
mkdir -p ~/.puppetlabs/bolt/modules/mymodule/tasks
# Τοποθέτηση του script στον φάκελο tasks
cp myscript.sh ~/.puppetlabs/bolt/modules/mymodule/tasks/
chmod +x ~/.puppetlabs/bolt/modules/mymodule/tasks/myscript.sh
Εκτέλεση Εργασιών
Εκτελέστε εργασίες σε πολλαπλούς απομακρυσμένους κόμβους με έλεγχο ταυτότητας ιδιωτικού κλειδιού SSH:
bolt task run mymodule::myscript \
--targets node1.example.com,node2.example.com \
--user root \
--private-key ~/.ssh/id_rsa
Εκτέλεση Ad-Hoc Εντολών & Scripts
# Εκτέλεση εντολής μίας γραμμής σε όλους τους στόχους του inventory
bolt command run 'uptime' --targets all
# Απομακρυσμένη εκτέλεση τοπικού script
bolt script run ./deploy.sh --targets webservers