Puppet Bolt أداة تنسيق مفتوحة المصدر بدون وكيل (agentless) لأتمتة المهام المخصصة والسكربتات وسير العمل متعدد العقد عبر 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):
# إنشاء مجلد المهام داخل الوحدة
mkdir -p ~/.puppetlabs/bolt/modules/mymodule/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
تشغيل الأوامر الفورية والسكربتات
# تشغيل أمر من سطر واحد على جميع أهداف المخزون
bolt command run 'uptime' --targets all
# تنفيذ سكربت محلي عن بُعد
bolt script run ./deploy.sh --targets webservers