If you have nodes with different operating systems such as Ubuntu and CentOS, you might want to deliver different files to each of them. There might be differences in the necessary configuration options and the like. Chef offers a way for files and templates to differentiate which version to use based on a node's platform.
Make sure you have a cookbook called
my_cookbook and the
run_list of your node includes
my_cookbook as described in the Creating and using cookbooks section in Chapter 1, Che
Let's add two templates to our cookbook and see which one gets used:
mma@laptop:~/chef-repo $ subl cookbooks/my_cookbook/recipes/default.rb ...