On Wed, Oct 29, 2014 at 02:09:25AM -0700, Gavin Williams wrote: > Sounds like The Foreman [1] might be a good option if you want to manage > 'should', not 'is'... > > [1] http://theforeman.org/
*nod* Thanks, I should look at that again; it's been a while. Unfortunately our internal abstraction isn't host/VM/node based at all; it's based on sites (i.e. foo.company.com is a site, as is bar.company.com), which have one or more associated nodes. Having read https://docs.puppetlabs.com/puppet/latest/reference/subsystem_catalog_compilation.html and poking around a bit, I've had the following additional thoughts: 1. External Facts ( https://docs.puppetlabs.com/facter/latest/custom_facts.html#external-facts ) 2. generate() + stdlib's loadyaml() to just grab the values out of a bunch of on-disk files via a shell script or something 3. Mush all the values into one tree *in Hiera*. Currently all the values are in hiera but split up, so one node might see: sites: alice: premium: true And another might see: sites: bob: premium: false But certain parts of the code need to see: sites: alice: premium: true bob: premium: false I could simply de-hierachicalize (lol) all such information so that it's in one big blob in hiera somewhere. That gets ugly, though, just because it's one giant file; it's a lot easier on my users when each site is its own file. I wonder if there's a way to tell hiera "Please load every file in this directory for every node"? -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/20141030002856.GC6484%40stodi.digitalkingdom.org. For more options, visit https://groups.google.com/d/optout.
