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 ഈ കമാൻഡ് പ്രവർത്തിപ്പിക്കുമ്പോൾ എൻവയോൺമെന്റ് അറേ മൂല്യങ്ങൾ നൽകുന്നു. Wget-ന് കോൺഫിഗർ ചെയ്തതോ സൂക്ഷിച്ചതോ ആയ പ്രോക്സി ക്രെഡൻഷ്യലുകൾ ഇല്ലാത്തപ്പോൾ അനുവദനീയമായ പൊതു ആർട്ടിഫാക്ട് ഡൗൺലോഡിനായി HTTP പ്രോക്സി പട്ടികയിലെ HTTP എൻട്രിക്ക് പ്രോക്സി URL നൽകാം. മറ്റൊരു exec റിസോഴ്സ് നടത്തുന്ന എക്സ്പോർട്ട് ആ മറ്റ് പ്രക്രിയിലും അതിന്റെ പിൻഗാമികളിലും മാത്രം സാധുവാണ്. രണ്ട് റിസോഴ്സുകൾ ക്രമീകരിച്ചാലും ആദ്യത്തെ shell എൻവയോൺമെന്റ് രണ്ടാമത്തേതിൽ നിലനിൽക്കില്ല.

ഈ റിസോഴ്സിന്റെ എൻവയോൺമെന്റ് റിസോഴ്സിനൊപ്പം സൂക്ഷിക്കുക. മറ്റ് Puppet പ്രവർത്തനങ്ങൾ മെഷീൻ വ്യാപകമായ Wget സ്റ്റാർട്ടപ്പ് ഫയൽ മാറ്റാതെ സ്വന്തം കോൺഫിഗർ ചെയ്ത പാതകൾ ഉപയോഗിക്കാം.

അനുബന്ധ ലേഖനങ്ങൾ