Puppet proxy should support $confdir in modulepath when looking for environments/classes
This is related to issue:1387. For those of use who followed the PuppetLabs blog (http://puppetlabs.com/blog/git-workflow-and-puppet-environments/) literally:
[main] server = puppet.example.com environment = production confdir = /etc/puppet [master] environment = production manifest = $confdir/environments/$environment/manifests/site.pp modulepath = $confdir/environments/$environment/modules [agent] report = true show_diff = true environment = production
The smart-proxy puppet component is returning an empty list of environments. As far as I can tell, the solution here can be as simple as looking at the modulepath value (in the dynamic environments block in lib/proxy/puppet/environment.rb) and, if that value contains "$confdir" and conf[:main][:confdir] is not nil, making the replacement.
I'm going to try and submit a patch for this later this week, but be warned, I'll be flipping through Learning Ruby as I do it.
#1 Updated by Jason Antman over 8 years ago
Not exactly tested, but I have code for this that works in my environment:
and a pull request: