El recurs exec de Puppet té un atribut environment. Poseu els valors del proxy al recurs que invoca el descarregador:

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'],
}

L'exemple pressuposa que Wget i mv són en aquests camins. Una transferència fallida deixa el nom temporal; el nom definitiu només s'instal·la després que Wget tingui èxit. Aleshores la guàrdia creates omet les execucions posteriors mentre existeixi el fitxer versionat complet.

La matriu d'entorn proporciona valors quan Puppet executa aquesta ordre. Una entrada HTTP de la llista de proxys HTTP pot proporcionar l'URL del proxy per a una descàrrega permesa d'un artefacte públic quan Wget no té credencials de proxy configurades ni conservades. Una exportació feta per un altre recurs exec només val en aquell altre procés i els seus descendents. Ordenar dos recursos no fa que l'entorn d'intèrpret del primer persisteixi en el segon.

Manteniu l'entorn d'aquest recurs amb el recurs. Altres operacions de Puppet poden utilitzar les seves pròpies rutes configurades sense canviar el fitxer d'inici de Wget de tota la màquina.

Articles relacionats