I’ve been a long time foreman user with smart variables which has always met my use cases.
Recently I’ve been expanding and varying the way I like to work and some of the implementation patters and I’ve found using hiera with a puppet master, and I’ve seen some usecases where using hiera as a parameter store but keeping foreman as the ENC being actually quite a powerful combination.
I’m trying to use a traditional hiera flat file format to replace smart class parameters so that I can put the hiera parameters under a standard git flow model.
How do I approach this ? eg: what changes do I need to make to the puppet master config and the foreman config to get this working and what are the downsides ?
A concept I had but couldn’t realise would be to still continue to use hostgroups to control the puppet modules that are to be applied to a host which still works, but actually have the hostgroup as a method to pattern match for parameter variation in hiera, for example, instead of matching say an OS type for a hiera parameter,
- name: “OS version”
have something like
- name: “hostgroup”
which could contain a mapping to hostgroups as a way to identify the right variables/parameters
I don’t think this is possible though.
I’d really like to hear how you use hiera and what problems with smart class params or benifits to hiera made you pick it over smart class parametes