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.

Relaterte artikler