I assume by now you have GIT installed. If not, go install it - http://git-scm.com/
As a side benefit now you can do knife cookbook site install (instead of download)
Now you have a set of cookbooks - lets say your working directory is <somedir> and it has a few sub folders:
.chefAnd you want to share them between two different Orgs - lets say, getchef.com chef server, and a private Server behind 13 firewalls and 14 VPNs..
.kitchen (maybe, maybe not)
spec (maybe?, maybe not yet)
Easy. Add your configs under source control, and setup two branches. One for each Chef server you'll be dealing with. Then you'll just check out the branch corresponding to the server config you want to use.
* Test that your current server works (knife cookbook show or knife client list)
* Go to .chef folder, or wherever your knife.rb and various settings live.
git init (initialize bare git repo)You just placed your configs under version control in 'master' branch. YAY (*think of Dallas cheer leaders*)
git add . (add all files to repo)
git commit -m 'bla' (commit files to git repo)
Now, we will clone the master branch and configure .PEM keys and URL for the other server
git checkout -b local master (you just cloned master into local - good idea to have this as a backup of master)git checkout -b russia master (you just cloned master into russia)git checkout russia (switch to working on a specific branch)Add new .PEM files (your validator/pem may have different names.)Make changes to knife.rb (URL and if needed, file names. The rest should stay the same)Connect to the VPN's and/or whatever else. Test the new connections. (knife cookbook show)git add .git commit -m 'bbbla'
now any time you want to change which server you're working with just do git checkout local or git checkout russia.