Nastavitev proxy okolja pri prenosu Puppet exec
Nastavite vrednosti okolja na viru exec, ki izvaja Wget, z varovalom dokončane datoteke za prenos.
Vir exec v Puppetu ima atribut environment. Vrednosti proxy vstavite v vir, ki prikliče prenašalnik:
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'],
}
Primer predpostavlja, da sta Wget in mv na teh poteh. Neuspešen prenos pusti začasno ime poti; končno ime se namesti šele po uspehu Wget. Nato varovalo creates preskoči poznejša izvajanja, dokler obstaja dokončana različicirana datoteka.
Matrika okolja zagotavlja vrednosti, ko Puppet izvaja ta ukaz. Vnos HTTP s seznama proxyjev HTTP lahko zagotovi URL proxyja za dovoljen prenos javnega artefakta, ko Wget nima nastavljenih ali shranjenih proxy podatkov za prijavo. Izvoz, ki ga izvede drug vir exec, velja le v tistem drugem procesu in njegovih potomcih. Razvrščanje dveh virov ne naredi okolja lupine prvega trajnega v drugem.
Okolje tega vira ohranite pri viru. Druge operacije Puppeta lahko uporabljajo svoje nastavljene poti, ne da bi spremenile datoteko za zagon Wget na ravni stroja.