[chef] Re: Data bag implementation for chef-solo


Chronological Thread 
  • 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.

§