So, I have a puppet repository. It’s versioned with git and things like that. It would be convenient for me to be able to make tentative changes to a copy this repository on my machine, then try out the changes on a test computer, before committing these changes to the puppet server (avoiding the hassles of touching production machines for testing, and the hassle of puppetca signing a temporary EC2 instance). I can scp a copy of the repostory over to the appropriate machine and do puppet apply site.pp --modulepath=foo --templatedir=blah, and it mostly works…
until I have a file that’s sourced from puppet:///private/foo. Then it’s all Could not evaluate: Could not retrieve information from source(s) puppet:///private/foo at /home/ubuntu/ops-puppet/production/modules/foobar/manifests/baz.pp:68.
Is there a command line flag I can use to make to specify the path to the ‘private’ files? I can’t seem to locate it in the documentation (but I might just be oblivious this morning 😉
Check your /etc/puppet/fileserver.conf file (http://docs.puppetlabs.com/guides/file_serving.html#file-server-configuration) and make sure it has a [private] block that points to the expected directory.
Zac B’s comments on the question about checking the permissions on the private directory are also a good idea.