- From: Adam Jacob <
>
- To:
- Subject: [chef] Re: Data bag implementation for chef-solo
- Date: Tue, 1 Feb 2011 08:57:33 -0800
Feel free to file a ticket and patch Chef if this is useful for you.
Adam
On Tue, Feb 1, 2011 at 7:42 AM, Brian Akins
<
>
wrote:
>
We often use chef-solo for quick testing, etc. This is our extremely simple
>
implementation of data bags for chef-solo. Add "data_bag_path
>
/some/dir/data_bags" to your solo.rb and add this into your libraries:
>
>
if Chef::Config[:solo]
>
class Chef
>
module Mixin
>
module Language
>
>
def data_bag(bag)
>
@solo_data_bags = {} if @solo_data_bags.nil?
>
unless @solo_data_bags[bag]
>
@solo_data_bags[bag] = {}
>
Dir.glob(File.join(Chef::Config[:data_bag_path], bag,
>
"*.json")).each do |f|
>
item = JSON.parse(IO.read(f))
>
@solo_data_bags[bag][item['id']] = item
>
end
>
end
>
@solo_data_bags[bag].keys
>
end
>
>
def data_bag_item(bag, item)
>
data_bag(bag) unless
>
(
>
&&
>
@solo_data_bags[bag])
>
@solo_data_bags[bag][item]
>
end
>
>
end
>
end
>
end
>
end
>
>
>
I'm an old school C guy and I blame most of the code on a co-worker ;) Use
>
at your own risk, will probably eat your hard drive, etc.
>
>
--Brian
>
--
Opscode, Inc.
Adam Jacob, Chief Product Officer
T: (206) 619-7151 E:
Archive powered by MHonArc 2.6.16.