Ресурс exec у Puppetu има атрибут 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-а на нивоу машине.

Повезани чланци