ডিফল্টরূপে, chef-solo
এর কনফিগারেশনটি পড়ে /etc/chef/solo.rb
। কমান্ড-লাইন প্যারামিটারগুলি কনফিগার মানগুলির সাথে সম্পর্কিত যা এই ফাইলে সেট করা যেতে পারে। এটি মিক্সলিব-কনফিগার লাইব্রেরি ব্যবহার করে করা হয়।
option :config_file,
:short => "-c CONFIG",
:long => "--config CONFIG",
:default => "/etc/chef/solo.rb",
:description => "The configuration file to use"
option :json_attribs,
:short => "-j JSON_ATTRIBS",
:long => "--json-attributes JSON_ATTRIBS",
:description => "Load attributes from a JSON file or URL",
:proc => nil
option :recipe_url,
:short => "-r RECIPE_URL",
:long => "--recipe-url RECIPE_URL",
:description => "Pull down a remote gzipped tarball of recipes and untar it to the cookbook ca
che.",
:proc => nil
'বিকল্প' কনফিগার ফাইলের মান file
আসল কনফিগারেশন ফাইলটি /etc/chef/solo.rb
দেখতে এই রকম হবে:
file_cache_path "/tmp/chef-solo"
cookbook_path "/tmp/chef-solo/cookbooks"
role_path "/tmp/chef-solo/roles"
json_attribs "/tmp/chef-solo/node.json"
recipe_url "http://www.example.com/chef-solo.tar.gz"
এছাড়াও নোট করুন যে JSON ফাইলটিও একটি দূরবর্তী URL হতে পারে।
json_attribs "http://www.example.com/node.json"
কনফিগার ফাইলের মধ্যে আপনি ওহাইকে একটি লাইব্রেরি হিসাবে ব্যবহার করতে পারেন, কোন JSON ফাইল ব্যবহার করবেন তা নির্দিষ্ট করার জন্য প্ল্যাটফর্ম বা অন্যান্য বৈশিষ্ট্যগুলি সনাক্ত করতে।
require 'rubygems'
require 'ohai'
o = Ohai::System.new
o.all_plugins
file_cache_path "/tmp/chef-solo"
cookbook_path "/tmp/chef-solo/cookbooks"
role_path "/tmp/chef-solo/roles"
json_attribs "/tmp/chef-solo/#{o[:platform]}.json"
recipe_url "http://www.example.com/chef-solo.tar.gz"
এবং তারপরে আপনার কাছে "প্ল্যাটফর্ম" নির্দিষ্ট JSON ফাইল থাকতে হবে ON অথবা আপনি কি ব্যবহার করতে পারে o[:hostname]
, o[:domain]
অথবা o[:fqdn]
হোস্ট-নেম, ডোমেইন বা FQDN উপর ভিত্তি করে তাদেরকে JSON ফাইল ব্যবহার করতে। তবে একবার আপনি এই জাতীয় গতিশীল কনফিগারেশন সমর্থন করার জন্য সার্ভারের ভাসমান হওয়া শুরু করলে, আপনি শেফ সার্ভার :-) চালানোর দিকে নজর দিতে পারেন।