Set opp eit proxy-miljø på ei Puppet exec-nedlasting
Set miljøverdiar på exec-ressursen som køyrer Wget, med ein vakt for den ferdige fila for nedlastinga.
exec-ressursen til Puppet har eit environment-attributt. Set proxyverdiane på ressursen som kallar nedlastaren:
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'],
}
Dømet føreset at Wget og mv ligg på desse stigane. Ei mislukka overføring lèt att det mellombelse stignamnet; det endelege stignamnet vert først installert etter at Wget har lukkast. Deretter hoppar creates-vakta over seinare køyringar så lenge den ferdige versjonerte fila finst.
Miljømatrisa leverer verdiar når Puppet køyrer denne kommandoen. Ei HTTP-oppføring frå HTTP-proxylista kan levera proxy-URL-en for ei tillaten nedlasting av eit offentleg artefakt når Wget ikkje har konfigurerte eller lagra proxy-legitimasjonar. Ein eksport utført av ein annan exec-ressurs gjeld berre i den andre prosessen og etterkomarane hans. Å ordna to ressursar gjer ikkje skallmiljøet til den første varig i den andre.
Hald miljøet til denne ressursen saman med ressursen. Andre Puppet-operasjonar kan bruka sine eigne konfigurerte ruter utan å endra Wgets oppstartsfil for heile maskina.