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 su Wget i mv na tim putanjama. Neuspješan prijenos ostavlja privremeni naziv putanje; konačni se naziv instalira tek nakon što Wget uspije. Zaštita creates zatim preskače kasnija izvršavanja dok god postoji dovršena verzionirana datoteka.

Polje 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 pohranjene proxy vjerodajnice. Izvoz koji izvrši drugi exec resurs vrijedi samo u tom drugom procesu i njegovim potomcima. Poredak dvaju resursa ne čini shell okruženje prvoga trajnim u drugome.

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

Povezani članci