On Fri, Oct 1, 2010 at 2:03 PM, Luke Kanies <[email protected]> wrote:
> This has been discussed a bit internally, but I wanted to post it here to > see if it helped anyone else. > > After discussing with Paul, I think the Indirector should be refactored > slightly to make configuration a bit easier to control and much more > obvious. > > Specifically, I want to extract the main interface methods and > configuration aspects into a Route class, leaving Indirection for just > Terminus registration. Here's the commit log for the first bit: > > The primary goal here is to allow non-global > configurations of Indirector endpoints. The previous behavior > still works fine: > > Catalog.find > Node.find > ... > > But now you can do this: > > route = Puppet::Indirector::Route.new(:catalog) > route.terminus_class = :yaml > route.find > > And it will use your configuration rather than the > global. > > This should provide far more flexibility in the > different applications, and quite likely a lot more clarity > as to how the indirector works, while still providing > reasonable global behavior when people want it. > > ----- > > I've published the code in my prototype/master/indirector_with_routes > branch. > > If there are no disagreements conceptually, I'll open this as a refactor > ticket. > I'm cool with the concept--it looks like an improvement and it shouldn't be too hard to fold in to the existing code. As for the branch, I have some concerns about implementation details but the general approach seems reasonable. I would say go ahead and open a refactor ticket, and we can discuss the implementation details there. Paul -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en.
