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

এই সাধাৰণ ৰিছ’ৰ্চে কিবা ডাউনল’ড কৰাৰ আগতেই অস্থায়ী মানটো আঁতৰি যায়:

  1. Compile: শীৰ্ষ-স্তৰৰ Ruby-এ মানটো সংৰক্ষণ কৰে, অস্থায়ী প্ৰক্সি ছেট কৰে, remote_file ঘোষণা কৰে আৰু মানটো ঘূৰাই দিয়ে।
  2. Converge: ৰিছ’ৰ্চে তেতিয়া উপলব্ধ কনফিগাৰেশ্যন ব্যৱহাৰ কৰি নিজৰ কাৰ্য সম্পন্ন কৰে।

উপযুক্ত আভ্যন্তৰীণ বাদৰ সৈতে এটা স্থিৰ ক্লায়েণ্ট প্ৰক্সি এই সময়-সমস্যা এৰাই চলিব। shell wildcard নিয়ম অনুমান নকৰি ইনষ্টল কৰা ক্লায়েণ্টৰ নথিভুক্ত বাদ-চিনটেক্স ব্যৱহাৰ কৰক। অনুমোদিত ৰাজহুৱা পথত স্বতন্ত্ৰ ৰাজহুৱা-আৰ্টিফেক্ট ডাউনল’ডৰ বাবে, Chef ক্লায়েণ্টৰ কোনো কনফিগাৰ কৰা বা সংৰক্ষিত প্ৰক্সি একাউণ্ট নাথাকিলে HTTP প্ৰক্সি তালিকাৰ এটা প্ৰৱিষ্টিয়ে স্থিৰ HTTP এণ্ডপইণ্ট যোগান ধৰিব পাৰে। ইয়াৰ আভ্যন্তৰীণ বাদসমূহ ৰাখক; ঠিকনা বাছনি কৰিলে compile আৰু converge-এ কেতিয়া ইয়াক ব্যৱহাৰ কৰে সেয়া সলনি নহয়।

যদি এটা অপাৰেশ্যনৰ বিশেষ পথ লাগে, তেন্তে তাৰ কনফিগাৰেশ্যন পৰিৱৰ্তন আৰু এক্সিকিউশ্যন একে পৰিসৰত ৰাখক। উপযুক্ত unified-mode আচৰণৰ সৈতে এটা কাষ্টম ৰিছ’ৰ্চ এটা বিকল্প, কিন্তু Chef::Config গ্ল’বেল হৈয়েই থাকে। ডাউনল’ড ব্যৰ্থ হ’লে আৰু ফাইলটো ইতিমধ্যে বৰ্তমান হ’লে ইয়াক ঘূৰাই দিয়ক। আপডেট জাননীয়ে নিঃচৰ্তভাৱে নাযায়, আৰু পিছৰ ক্লিনআপ ৰিছ’ৰ্চ এটা ব্যতিক্ৰমৰ পিছত কেতিয়াও নাযাব পাৰে।

এটা lazy source প্ৰপাৰ্টিয়ে সেই প্ৰপাৰ্টিৰ মূল্যায়ন পিছুৱাই দিয়ে, চাৰিওফালৰ Ruby assignment নহয়। যেতিয়া ডাউনল’ড সেই সময়তেই হ’ব লাগে, তেতিয়া compile-সময়ৰ ৰিছ’ৰ্চ এক্সিকিউশ্যন এটা পৃথক সমৰ্থিত বিকল্প; ই নিৰ্ভৰশীলতা আৰু জাননীৰ সময়ো সলনি কৰে। ঘোষণাৰ ক্ৰমে বিচ্ছিন্নতা দিব বুলি আশা নকৰি, HTTP ক্লায়েণ্টে কেতিয়া তাৰ প্ৰক্সি ছেটিং ব্যৱহাৰ কৰে তাৰ ওপৰত ভিত্তি কৰি বাছনি কৰক।

সম্পৰ্কিত প্ৰবন্ধ