download roles and cookbooks from ChefServer with knife

Michael Küller picture Michael Küller · May 25, 2012 · Viewed 8k times · Source

Given I started working with Chef using the Chef Server Management Console and I now want to start using a files and upload them via knife. Is there a way to retrive roles and environments that are stored on the ChefServer via knife, so I can them into git?

Answer

Tim Potter picture Tim Potter · May 26, 2012

You can use the knife environment list and knife environment show commands to download environments and replace "environment" with "role" to do the same for roles.

mkdir environments
for env in `knife environment list`; do
  knife environment show $env --format=json > environments/$env.json
done

You can then check these JSON files into git and edit/upload with knife.