Ir-riżorsa exec tal-Puppet għandha attribut environment. Qiegħed il-valuri tal-proxy fuq ir-riżorsa li ssejjaħ id-downloader:

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

L-eżempju jassumi li Wget u mv huma f'dawk il-mogħdijiet. Trasferiment li ma jirnexxix iħalli l-isem tal-mogħdija temporanju; l-isem finali jiġi installat biss wara li Wget jirnexxi. Imbagħad il-gwardjan creates jaqbeż eżekuzzjonijiet aktar tard sakemm jeżisti l-fajl verżjonat komplut.

L-array tal-ambjent jipprovdi valuri meta l-Puppet iħaddem dan il-kmand. Entrata HTTP mil-lista tal-proxy HTTP tista' tipprovdi l-URL tal-proxy għal download awtorizzat ta' artefatt pubbliku meta Wget ma jkollux kredenzjali tal-proxy konfigurati jew miżmuma. Esportazzjoni magħmula minn riżorsa exec oħra tapplika biss f'dak il-proċess l-ieħor u fid-dixxendenti tiegħu. L-ordni ta' żewġ riżorsi ma tagħmilx l-ambjent tal-shell tal-ewwel wieħed permanenti fit-tieni.

Żomm l-ambjent ta' din ir-riżorsa mar-riżorsa. Operazzjonijiet oħra tal-Puppet jistgħu jużaw ir-rotot konfigurati tagħhom stess mingħajr ma jbiddlu l-fajl tal-bidu ta' Wget tal-magna kollha.

Artikli relatati