Nastavenie proxy prostredia pri sťahovaní cez Puppet exec
Nastavte hodnoty prostredia na prostriedku exec, ktorý spúšťa Wget, s poistkou dokončeného súboru pre sťahovanie.
Prostriedok exec v Puppete má atribút environment. Vložte hodnoty proxy na prostriedok, ktorý volá sťahovač:
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'],
}
Príklad predpokladá, že Wget a mv sú na týchto cestách. Neúspešný prenos zanechá dočasné meno cesty; konečné meno sa nainštaluje až po úspechu Wget. Potom poistka creates preskakuje ďalšie spustenia, kým existuje dokončený verzovaný súbor.
Pole prostredia dodáva hodnoty, keď Puppet spúšťa tento príkaz. Záznam HTTP z zoznamu HTTP proxy môže dodať URL proxy pre povolené sťahovanie verejného artefaktu, keď Wget nemá nakonfigurované ani uložené prihlasovacie údaje k proxy. Export vykonaný iným prostriedkom exec platí len v onom inom procese a jeho potomkoch. Zoradenie dvoch prostriedkov nespôsobí, že prostredie shellu prvého pretrvá do druhého.
Udržujte prostredie tohto prostriedku pri prostriedku. Iné operácie Puppetu môžu používať svoje vlastné nakonfigurované trasy bez zmeny celostrojového štartovacieho súboru Wget.