Oppsett av proxy-miljø for en Puppet exec-nedlasting
Angi miljøverdier på exec-ressursen som kjører Wget, med en vakt for den fullførte filen for nedlastingen.
Puppets exec-ressurs har attributtet environment. Plasser proxyverdiene på ressursen som påkaller nedlasteren:
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'],
}
Eksempelet forutsetter at Wget og mv befinner seg på disse banene. En mislykket overføring etterlater det midlertidige banenavnet; det endelige banenavnet installeres bare etter at Wget har lykkes. Deretter hopper creates-vakten over senere kjøringer mens den fullførte versjonerte filen eksisterer.
Miljøarrayen gir verdier når Puppet kjører denne kommandoen. En HTTP-oppføring fra HTTP-proxyoversikten kan gi proxy-URL-en for en tillatt nedlasting av et offentlig artefakt når Wget ikke har konfigurert eller lagret proxy-påloggingsinformasjon. En eksport som utføres av en annen exec-ressurs, gjelder bare i den andre prosessen og dens etterkommere. Rekkefølgen av to ressurser gjør ikke skallmiljøet til den første varig i den andre.
Behold miljøet til denne ressursen sammen med ressursen. Andre Puppet-operasjoner kan bruke sine egne konfigurerte ruter uten å endre Wgets startfil for hele maskinen.