Puppeti exec ressursil on environment atribuut. Asetage puhverserveri väärtused ressursile, mis kutsub allalaadija:

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

Näide eeldab, et Wget ja mv asuvad neil teedel. Ebaõnnestunud ülekanne jätab ajutise teekonna nime; lõplik tee nimi paigaldatakse alles pärast seda, kui Wget õnnestub. Seejärel jätab creates kaitse hilisemad käivitused vahele, kuni valmis versioonitud fail on olemas.

Keskkonnamassiiv annab väärtused, kui Puppet seda käsku käivitab. HTTP-kirje HTTP puhverserverite loendist võib anda puhverserveri URL-i lubatud avaliku artefakti allalaadimiseks, kui Wgetil pole seadistatud ega salvestatud puhverserveri mandaate. Teise exec-ressursi tehtud eksport kehtib ainult selles teises protsessis ja selle järglastes. Kahe ressursi järjestamine ei muuda esimese shelli keskkonda teises püsivaks.

Hoidke selle ressursi keskkond ressursi juures. Teised Puppeti toimingud saavad kasutada oma seadistatud marsruute, muutmata masinahõlmast Wgeti käivitusfaili.

Seotud artiklid