Magtakda ng proxy environment sa isang Puppet exec download
Itakda ang mga halaga ng environment sa exec resource na nagpapatakbo ng Wget, may guard sa natapos na file para sa download.
Ang exec resource ng Puppet ay may environment attribute. Ilagay ang mga halaga ng proxy sa resource na tumatawag sa downloader:
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'],
}
Ipinapalagay ng halimbawa na ang Wget at mv ay nasa mga landas na iyon. Ang nabigong paglilipat ay nag-iiwan ng pansamantalang pangalan ng landas; ang huling pangalan ng landas ay ikinakabit lamang matapos magtagumpay ang Wget. Pagkatapos ay nilalaktawan ng creates guard ang mga susunod na pagpapatupad habang umiiral ang natapos na beryson na file.
Nagbibigay ng mga halaga ang environment array kapag pinapatakbo ng Puppet ang command na ito. Ang isang HTTP entry mula sa listahan ng HTTP proxy ay makapagbibigay ng proxy URL para sa pinahihintulutang download ng pampublikong artefact kapag walang naka-configure o nakatagong proxy credential ang Wget. Ang export na ginagawa ng ibang exec resource ay may bisa lamang sa ibang prosesong iyon at sa mga inapo nito. Ang pag-order ng dalawang resource ay hindi nagpapapanatili ng shell environment ng una sa pangalawa.
Panatilihin ang environment ng resource na ito kasama ng resource. Ang ibang operasyon ng Puppet ay makakagamit ng sarili nilang naka-configure na ruta nang hindi binabago ang startup file ng Wget sa buong makina.