O recurso exec de Puppet ten un atributo environment. Poña os valores do proxy no recurso que invoca o descargador:

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

O exemplo supón que Wget e mv están nesas rutas. Unha transferencia fallida deixa o nome de ruta temporal; o nome definitivo só se instala despois de que Wget teña éxito. Despois, a garda creates omite as execucións posteriores mentres exista o ficheiro versionado completo.

A matriz de contorno fornece valores cando Puppet executa esta orde. Unha entrada HTTP da lista de proxies HTTP pode fornecer o URL do proxy para unha descarga permitida dun artefacto público cando Wget non ten credenciais de proxy configuradas nin conservadas. Unha exportación realizada por outro recurso exec só é válida nese outro proceso e nos seus descendentes. Ordenar dous recursos non fai que o contorno de shell do primeiro persista no segundo.

Manteña o contorno deste recurso xunto co recurso. Outras operacións de Puppet poden usar as súas propias rutas configuradas sen cambiar o ficheiro de inicio de Wget de toda a máquina.

Artigos relacionados