Is it good practice to version control the nodes and roles when using chef? If so, what is a good way to do it?
It looks likes one should be able to take a tree of JSON files created using
chef_server_backup.rb and simply check it into VC. Are there better alternatives?
It turns out that checking in the JSON produced by
chef_server_backup.rb is not a good solution. The problem is that the JSON produced by the script is not stable. Each time the hashes come out in a different order and the resulting files are totally different to the previous versions ... even though they means the same thing when parsed as JSON. I would be better of just saving compress tarballs.
(But if I could canonicalize the JSON files by ordering the attributes ... )