Vendosja e një mjedisi proxy në një shkarkim exec të Puppet
Vendosni vlerat e mjedisit te burimi exec që ekzekuton Wget, me një mbrojtës të skedarit të përfunduar për shkarkimin.
Burimi exec i Puppet ka një atribut environment. Vendosni vlerat e proxy-t te burimi që thërret shkarkuesin:
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'],
}
Shembulli supozon se Wget dhe mv janë në ato shtigje. Një transferim i dështuar lë emrin e shtegut të përkohshëm; emri përfundimtar instalohet vetëm pasi Wget të ketë sukses. Më pas mbrojtësi creates anashkalon ekzekutimet e mëvonshme për sa kohë ekziston skedari i versionuar i përfunduar.
Vargu i mjedisit siguron vlera kur Puppet ekzekuton këtë komandë. Një zë HTTP nga lista e proxy-ve HTTP mund të sigurojë URL-në e proxy-t për një shkarkim të lejuar të një artefakti publik kur Wget nuk ka kredenciale proxy të konfiguruara ose të ruajtura. Një eksport i kryer nga një burim tjetër exec vlen vetëm në atë proces tjetër dhe pasardhësit e tij. Renditja e dy burimeve nuk e bën mjedisin e shell-it të të parit të vazhdueshëm në të dytin.
Mbajeni mjedisin e këtij burimi bashkë me burimin. Operacione të tjera të Puppet mund të përdorin rrugët e tyre të konfiguruara pa ndryshuar skedarin e nisjes së Wget për të gjithë makinën.