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 स्टार्टअप फाइल न बदलता त्यांचे स्वतःचे कॉन्फिगर केलेले मार्ग वापरू शकतात.

संबंधित लेख