Benefits of using foreman instead of hiera as an ENC?

We're working on using foreman to help with our system builds, which it
looks like it can do everything we need for that. However, my boss seems to
think we should also be using it as an ENC instead of hiera because it's
somehow less risky to make changes to the data (?!). We currently run
puppet 3 (open source) on around 3200 nodes.

My question is… what would the benefit of this be over using a classes
array in hiera and site.pp just containing a hiera_hash call to merge the
results into a list? We have a fairly complicated hierarchy which makes use
of some prepackaged facts and some custom facts. Trying to replicate this
with foreman host groups sounds impossible, or at least incredibly kludgy
if it is possible.


  • hostname/%{hostname}
  • application/%{host_application}
  • type/%{host_type} (db, web server, etc)
  • business_unit/%{host_business_unit}
  • environment/%{host_environment} (internal env, not puppet
    env… prod, staging, qa, dev etc)
  • datacenter/%{datacenter}
  • osfamily/%{osfamily}/%{operatingsystemrelease}
  • osfamily/%{osfamily}/%{operatingsystemmajrelease}
  • osfamily/%{osfamily}
  • global