Axustes de proxy de Chef entre as fases compile e converge
Teña en conta a compilación da receita e a execución do recurso ao cambiar un proxy global para unha acción remote_file.
previous = Chef::Config[:http_proxy]
Chef::Config[:http_proxy] = 'http://proxy.example.net:8080'
remote_file '/var/tmp/package.zip' do
source 'https://downloads.example.net/package.zip'
end
Chef::Config[:http_proxy] = previousO valor temporal xa non está antes de que este recurso corrente descargue nada:
- Compile: o Ruby de nivel superior garda o valor, estabelece o proxy temporal, declara
remote_filee restaura o valor. - Converge: o recurso realiza a súa acción coa configuración dispoñible nese momento.
Un proxy de cliente estable coas exclusións internas axeitadas evita este problema de temporización. Use a sintaxe de exclusións documentada do cliente instalado en vez de supor regras de comodíns da shell. Para unha descarga independente dun artefacto público por unha ruta pública permitida, unha entrada da lista de proxies HTTP pode fornecer o punto de conexión HTTP estable cando o cliente de Chef non ten ningunha conta de proxy configurada nin retida. Conserve as súas exclusións internas; escoller un enderezo non cambia cando as consomen compile e converge.
Se unha operación necesita unha ruta especial, poña o seu cambio de configuración e a súa execución no mesmo ámbito. Un recurso personalizado co comportamento unified-mode axeitado é unha opción, pero Chef::Config segue a ser global. Restáureo cando a descarga falla e cando o ficheiro xa está actualizado. Unha notificación de actualización non se executa incondicionalmente, e un recurso de limpeza posterior pode non executarse nunca tras unha excepción.
Unha propiedade lazy source apraza a avaliación desa propiedade, non as asignacións de Ruby que a rodean. A execución de recursos en tempo de compile é unha opción admitida á parte cando é entón cando corresponde a descarga; tamén cambia a temporización de dependencias e notificacións. Escolla segundo cando o cliente HTTP consome o seu axuste de proxy, en lugar de esperar que a orde de declaración forneza illamento.