Puppet exec yükləməsində proxy mühiti qurun
Wget işlədən exec resursunda mühit dəyərlərini təyin edin, yükləmə üçün tamamlanmış fayl qoruyucusu ilə.
Puppet-in exec resursunun environment atributu var. Proxy dəyərlərini yükləyicini çağıran resursa qoyun:
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'],
}
Nümunə Wget və mv-nin həmin yollarda olduğunu fərz edir. Uğursuz ötürmə müvəqqəti yol adını qoyub gedir; yekun yol adı yalnız Wget uğurlu olduqdan sonra quraşdırılır. Sonra creates qoruyucusu tamamlanmış versiyalı fayl mövcud olduqca sonrakı icraları keçir.
Mühit massivi Puppet bu əmri işlədərkən dəyərləri təmin edir. HTTP proxy siyahısından HTTP qeydi, Wget-də konfiqurasiya edilmiş və ya saxlanılmış proxy etimadnaməsi olmadıqda icazəli ictimai artefakt yükləməsi üçün proxy URL-i təmin edə bilər. Başqa exec resursu tərəfindən edilən eksport yalnız həmin digər prosesdə və onun nəsillərində qüvvədə qalır. İki resursu sıralamaq birincinin shell mühitini ikinciyə daşımır.
Bu resursun mühitini resursun özündə saxlayın. Digər Puppet əməliyyatları maşın üzrə Wget başlatma faylını dəyişmədən öz konfiqurasiya edilmiş marşrutlarından istifadə edə bilər.