Skip to content

Instantly share code, notes, and snippets.

@bmurtagh
Forked from timdiggins/chef-roles-to-json-task.rb
Last active August 29, 2015 14:17
Show Gist options
  • Save bmurtagh/92568a8a48872787ee85 to your computer and use it in GitHub Desktop.
Save bmurtagh/92568a8a48872787ee85 to your computer and use it in GitHub Desktop.
# ADD this to Rakefile and run it by issuing rake roles.to_json
ROLE_DIR = File.expand_path(File.join(TOPDIR, "roles"))
namespace :roles do
desc "Convert ruby roles from ruby to json, creating/overwriting json files."
task :to_json do
Dir.glob(File.join(ROLE_DIR, '*.rb')) do |rb_file|
role = Chef::Role.new
role.from_file(rb_file)
json_file = rb_file.sub(/\.rb$/,'.json')
File.open(json_file, 'w'){|f| f.write(JSON.pretty_generate(role))}
end
end
end
# relates to Chef roles. see http://wiki.opscode.com/display/chef/Roles
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment