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,
eg:
- name: “OS version”
path “OS.yaml”
have something like
- name: “hostgroup”
path: “hostgroup.yaml”
which could contain a mapping to hostgroups as a way to identify the right variables/parameters
I don’t think this is possible though.
web*.domain.com
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
thanks