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 პროქსიების სიიდან შეიძლება უზრუნველყოს პროქსის URL დაშვებული საჯარო არტეფაქტის ჩამოტვირთვისთვის, როცა Wget-ს არ აქვს კონფიგურირებული ან შენახული პროქსის რწმუნებამონაცემები. სხვა exec რესურსის მიერ შესრულებული ექსპორტი მოქმედებს მხოლოდ იმ სხვა პროცესში და მის შთამომავლებში. ორი რესურსის დალაგება არ ხდის პირველის shell გარემოს მეორეში მუდმივს.
შეინარჩუნეთ ამ რესურსის გარემო თავად რესურსთან. სხვა Puppet ოპერაციებს შეუძლიათ გამოიყენონ საკუთარი კონფიგურირებული მარშრუტები მანქანის მასშტაბის Wget-ის გაშვების ფაილის შეცვლის გარეშე.