Puppet exec ડાઉનલોડ પર પ્રોક્સી પર્યાવરણ સેટ કરો
Wget ચલાવતા exec સંસાધન પર પર્યાવરણ મૂલ્યો સેટ કરો, ડાઉનલોડ માટે પૂર્ણ-ફાઇલ ગાર્ડ સાથે.
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 સ્ટાર્ટઅપ ફાઇલ બદલ્યા વિના પોતાના રૂપરેખાંકિત માર્ગો વાપરી શકે છે.