Puppetov resurs exec ima atribut environment. Postavite proxy vrijednosti na resurs koji poziva program za preuzimanje:

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'],
}

Primjer pretpostavlja da se Wget i mv nalaze na tim putanjama. Neuspješan prijenos ostavlja privremeno ime putanje; konačno ime se instalira tek nakon što Wget uspije. Zaštita creates zatim preskače kasnija izvršavanja dok god postoji završena verzionirana datoteka.

Niz okruženja daje vrijednosti kada Puppet pokrene ovu naredbu. HTTP unos s popisa HTTP proxyja može dati proxy URL za dopušteno preuzimanje javnog artefakta kada Wget nema konfigurirane ni sačuvane proxy vjerodajnice. Izvoz koji izvrši drugi exec resurs vrijedi samo u tom drugom procesu i njegovim potomcima. Poređivanje dvaju resursa ne čini shell okruženje prvoga trajnim u drugome.

Držite okruženje ovog resursa uz sam resurs. Druge Puppet operacije mogu koristiti svoje konfigurirane rute bez mijenjanja početne datoteke Wgeta na razini stroja.

Povezani članci