Puppet کے exec وسیلے میں environment خصوصیت ہے۔ پراکسی قدریں ڈاؤن لوڈر کو طلب کرنے والے وسیلے پر رکھیں:

file { '/var/cache/myapp':
  ensure => directory,
}

exec { 'fetch-artifact':
  provider    => shell,
  command     => '/usr/bin/wget --tries=1 --timeout=20 -O /var/cache/myapp/artifact.part https://downloads.example.net/artifact-v1.bin && /usr/bin/mv /var/cache/myapp/artifact.part /var/cache/myapp/artifact-v1.bin',
  environment => [
    'http_proxy=http://proxy.example.net:8080',
    'https_proxy=http://proxy.example.net:8080',
  ],
  creates     => '/var/cache/myapp/artifact-v1.bin',
  require     => File['/var/cache/myapp'],
}

مثال فرض کرتی ہے کہ Wget اور mv ان راستوں پر ہیں۔ ناکام منتقلی عارضی راستے کا نام چھوڑ دیتی ہے؛ حتمی راستے کا نام صرف Wget کے کامیاب ہونے کے بعد نصب ہوتا ہے۔ پھر creates گارڈ بعد کی کارروائیاں چھوڑ دیتا ہے جب تک مکمل نسخہ والی فائل موجود ہو۔

جب Puppet یہ کمانڈ چلاتا ہے تو ماحول کی صف قدریں فراہم کرتی ہے۔ HTTP پراکسی فہرست سے HTTP اندراج مجاز عوامی آرٹیفیکٹ ڈاؤن لوڈ کے لیے پراکسی URL فراہم کر سکتا ہے جب Wget کے پاس کوئی ترتیب شدہ یا محفوظ پراکسی اسناد نہ ہوں۔ کسی دوسرے exec وسیلے کی برآمد صرف اسی دوسرے عمل اور اس کی اولاد میں معتبر ہے۔ دو وسائل کو ترتیب دینے سے پہلے کا shell ماحول دوسرے میں برقرار نہیں رہتا۔

اس وسیلے کا ماحول وسیلے کے ساتھ رکھیں۔ دیگر Puppet کارروائیاں مشین بھر کی Wget اسٹارٹ اپ فائل بدلے بغیر اپنے ترتیب شدہ راستے استعمال کر سکتی ہیں۔

متعلقہ مضامین