Starpniekservera vides iestatīšana Puppet exec lejupielādē
Iestatiet vides vērtības exec resursā, kas palaiž Wget, ar pabeigtas faila aizsardzību lejupielādei.
Puppet exec resursam ir environment atribūts. Ievietojiet starpniekservera vērtības resursā, kas izsauc lejupielādētāju:
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'],
}
Piemērs pieņem, ka Wget un mv atrodas šajos ceļos. Neizdevies pārsūtījums atstāj pagaidu ceļa nosaukumu; galīgais ceļa nosaukums tiek instalēts tikai pēc tam, kad Wget izdodas. Pēc tam creates aizsardzība izlaiž vēlākas izpildes, kamēr pastāv pabeigtā versiju faila.
Vides masīvs nodrošina vērtības, kad Puppet izpilda šo komandu. HTTP ieraksts no HTTP starpniekserveru saraksta var nodrošināt starpniekservera URL atļautai publiska artefakta lejupielādei, ja Wget nav konfigurētu vai saglabātu starpniekservera akreditācijas datu. Cita exec resursa veikts eksports ir spēkā tikai tajā citā procesā un tā pēctečos. Divu resursu kārtošana nepadara pirmā čaulas vidi noturīgu otrajā.
Turiet šī resursa vidi kopā ar resursu. Citas Puppet darbības var izmantot savus konfigurētos maršrutus, nemainot visai iekārtai kopīgo Wget palaišanas failu.