I've been involved in a Red Hat Satellite (version 5) project recently.
Do you want to set a default value for variables in CFEngine? Here are two methods. The first uses defaults promises. Defaults promises can be bit confusing and I've seen bugs in them in the past, so test carefully when using them. See the CFEngine reference for more details on defaults.
Here's a quick example of how to use mustache templates in CFEngine.
If you are planning to move to RHEL7 you may have to change your kickstart and virt-install scripts. The virt-install changes will also apply to Debian based hosts.
It's very likely that EFL for CFEngine 3.6 will be able to read both CSV and JSON parameter files. Some EFL users are looking forward to this because some CSV files have very long lines and are hard to read. On the other hand some CSV files are short and less cluttered than an equivalent JSON file would be. At first I tried to transition completely to JSON files, but upon further consideration EFL will be able to use both. Here's how.