Välityspalvelinympäristön asettaminen Puppet exec -latauksessa
Aseta ympäristöarvot exec-resurssille, joka suorittaa Wgetin, sekä valmiin tiedoston vartija latausta varten.
Puppetin exec-resurssilla on environment-attribuutti. Aseta välityspalvelimen arvot resurssille, joka kutsuu latausohjelmaa:
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'],
}
Esimerkki olettaa, että Wget ja mv ovat näillä poluilla. Epäonnistunut siirto jättää väliaikaisen polun nimen; lopullinen polun nimi asennetaan vasta, kun Wget onnistuu. Sen jälkeen creates-vartija ohittaa myöhemmät suoritukset, kunnes valmis versioitu tiedosto on olemassa.
Ympäristötaulukko toimittaa arvot, kun Puppet suorittaa tämän komennon. HTTP-merkintä HTTP-välityspalvelinluettelosta voi toimittaa välityspalvelimen URL:n sallittua julkisen artefaktin latausta varten, kun Wgetillä ei ole määritettyjä tai tallennettuja välityspalvelintunnuksia. Toisen exec-resurssin suorittama vienti on voimassa vain siinä toisessa prosessissa ja sen jälkeläisissä. Kahden resurssin järjestäminen ei tee ensimmäisen komentotulkkiympäristöä pysyväksi toisessa.
Pidä tämän resurssin ympäristö resurssin yhteydessä. Muut Puppet-toiminnot voivat käyttää omia määritettyjä reittejään muuttamatta koneenlaajuista Wgetin käynnistystiedostoa.