On Sunday, April 27, 2014 8:25:18 AM UTC-5, John Morton wrote:
>
> I made a module called resource_factory:
>
> https://forge.puppetlabs.com/jaydub/resource_factory
>
> It has two parts. One is the resource_factory class, the other is the 
> defined_resource_factory resource type. They both do the same kind of thing 
> — wrap around create_resources with a hiera look up on some key. The 
> difference is that the class creates defined_resource_factory instances by 
> default, and those instances are where you put the resource types and hiera 
> keys for the stuff you really want to create. Everything's configured in 
> hiera without a lot of site specific classes.
>
> Question is: have I just reinvented the wheel on some existing best 
> practice, and if so, how are the grown ups creating resources out of Hiera?
>
>

I think you've reinvented MS Word.  I mean, it looks slick and featureful, 
but the old DOS "edit" program was all I needed or wanted for many tasks.  
It's not as over-the-top as the Enterprise Rules Engine (but thanks, Felix, 
for that reference :-)), but create_resources() is not such a central 
feature of Puppet that dolling it up or wrapping it in additional layers of 
abstraction is a big benefit for most folks.

The grown ups *avoid* modeling resources (as such) in their hiera data.  
Resources are best modeled in Puppet DSL -- that's what it's for.  External 
data are better expressed in more raw form; that makes them easier to 
understand and use.  At times, the natural form of the data lends itself to 
use with create_resources(), or can easily be made to do.  Occasionally, 
intentionally structuring external data for use with create_resources() is 
the best way to approach a problem.  At these times, create_resources() 
already provides a reasonable interface.

If the module serves you well then great.  Thanks for sharing it, and I 
hope others find it useful, too.  Personally, though, I have no use 
whatever for such a thing.


John

-- 
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/13a75525-a310-46b3-9831-3f73c66bbcc2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to