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] = previous

Tað fyribils virðið er burtur, áðrenn hetta vanliga tilfeingið heintar nakað:

  1. Compile: Ruby á hægsta stigi goymir virðið, setur tað fyribils proxyið, kunnger remote_file og endurstillir virðið.
  2. Converge: tilfeingið fremur sína handling við tí uppseting, sum er tøkt tá.

Eitt støðugt klientproxy við hóskandi innanhýsis undantøkum forðar fyri hesum tíðarproblemi. Nýt ta skjalfestu undantakssyntaksina hjá tí innstallaða klientinum í staðin fyri at ganga út frá shell-wildcard-reglum. Fyri eina sjálvstøðuga niðurhaling av einum almennum artefakti á loyvdari almenari leið kann ein postur úr einari HTTP-proxy-lista veita ta støðugu HTTP-endapunktin, tá ið Chef-klienturin ikki hevur eina uppsetta ella goymda proxy-konto. Varðveit tess innanhýsis undantøk; at velja eina adressu broytir ikki, nær compile og converge nýta hana.

Um ein operatión trengur eina serliga leið, set so broytingina av uppsetingini og útførsluna í sama umfar. Eitt serstakt tilfeingi við hóskandi unified-mode-atferð er ein møguleiki, men Chef::Config verður verandi globalt. Endurstill tað, tá niðurhalingin miseydnast og tá fílan longu er dagførd. Eitt dagføringarboð koyrir ikki uttan treytir, og eitt seinni reinsitilfeingi koyrir kanska ongantíð eftir eina undantøku.

Ein lazy source-eindoyggj setur av til metingina av tí eindini, ikki Ruby-uppgávurnar uttanum. Útførsla av tilfeingi í compile-tíð er ein serstakur studdur møguleiki, tá ið niðurhalingin hoyrir til tá; hon broytir eisini tíðarbygnaðin fyri treytir og boð. Vel eftir tí, nær HTTP-klienturin nýtir sína proxy-innstilling, í staðin fyri at vænta, at kunngerðar-raðfylgjan veitir avbyrging.

Skyldar greinar