Puppet exec жүктеуінде прокси ортасын орнату
Wget іске қосатын exec ресурсында орта мәндерін орнатыңыз, жүктеу үшін аяқталған файл күзетімен.
Puppet exec ресурсында environment атрибуты бар. Прокси мәндерін жүктеушіні шақыратын ресурсқа қойыңыз:
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'],
}
Мысал Wget пен mv осы жолдарда деп есептейді. Сәтсіз тасымалдау уақытша жол атауын қалдырады; соңғы жол атауы Wget сәтті болғаннан кейін ғана орнатылады. Содан кейін creates күзеті аяқталған нұсқаланған файл бар болғанша кейінгі орындауларды өткізіп жібереді.
Орта массиві Puppet осы пәрменді орындағанда мәндерді береді. HTTP прокси тізіміндегі HTTP жазбасы Wget-те конфигурацияланған немесе сақталған прокси тіркелгі деректері болмағанда рұқсат етілген жария артефакт жүктеуі үшін прокси URL-ін бере алады. Басқа exec ресурсы жасаған экспорт тек сол басқа процесте және оның ұрпақтарында жарамды. Екі ресурсты реттеу біріншісінің shell ортасын екіншісінде тұрақты етпейді.
Бұл ресурстың ортасын ресурспен бірге ұстаңыз. Басқа Puppet операциялары машина бойынша Wget іске қосу файлын өзгертпей өздерінің конфигурацияланған маршруттарын пайдалана алады.