Stel 'n proxy-omgewing op 'n Puppet exec-aflaai
Stel omgewingswaardes op die exec-hulpbron wat Wget uitvoer, met 'n wag op die voltooide lêer vir die aflaai.
Puppet se exec-hulpbron het 'n environment-kenmerk. Plaas die proxywaardes op die hulpbron wat die aflaaier aanroep:
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'],
}
Die voorbeeld aanvaar dat Wget en mv op daardie paaie is. 'n Mislukte oordrag laat die tydelike padnaam agter; die finale padnaam word eers geïnstalleer nadat Wget geslaag het. Die creates-wag slaan dan latere uitvoerings oor terwyl die voltooide weergawe-lêer bestaan.
Die omgewingsarray verskaf waardes wanneer Puppet hierdie opdrag uitvoer. 'n HTTP-inskrywing uit die HTTP-proxylys kan die proxy-URL verskaf vir 'n toegelate aflaai van 'n openbare artefak wanneer Wget geen opgestelde of behoue proxybewyse het nie. 'n Uitvoer wat deur 'n ander exec-hulpbron gedoen word, geld slegs in daardie ander proses en sy afstammelinge. Om twee hulpbronne te orden maak nie die eerste se skulpomgewing blywend in die tweede nie.
Hou hierdie hulpbron se omgewing by die hulpbron. Ander Puppet-bewerkings kan hul eie opgestelde roetes gebruik sonder om die masjienwye Wget-beginlêer te verander.