3

I don't have direct access to our puppetmasters, but I can make changes to modules and classes that relate to my work. I would like to set up a puppet:// fileserver that does not reside on the puppetmaster, so that it can be updated via other means.

Is there any way to configure an Apache vhost or path to respond properly to puppet:// requests for fileservice?

2
  • It's possible, but seems like unnecessary added complexity. Why wouldn't you store relevant files in each module's files directory? If you have a need to modify files accessible to puppet clients, then you should be given access to do so instead of adding extra dependencies to the system. Nov 19, 2012 at 17:13
  • Because modifying the files involved would require a git commit & push, which means human intervention. It also means the files cannot be automatically managed from elsewhere. Our puppet infrastructure involves thousands of systems and there are sensible restrictions in place. So.. you say it's possible. How would I do it, then? Can you point me to some documentation?
    – RoUS
    Nov 19, 2012 at 19:16

2 Answers 2

0

There are two main ways you could accomplish this.

  1. Just make a second full-stack Puppetmaster server, and use the optional hostname attribute allowed in puppet:\\ links to refer to it. I haven't tested this, but can't think of any reason why it shouldn't work. If it didn't, why include the optional hostname field?

  2. Ask someone with direct access to your Puppetmaster to mount the directory containing your files onto the Puppetmaster server (somewhere within Puppet's usable directories), and then use raw path names, rather than puppet:\\ links to access your files. Examples are here (same page as above). I have tested this; it's how we centralize file access in our Puppet infrastructure. It shouldn't be a hard case to make to your sysadmins (or whoever has root access to the Puppetmaster); you have pretty granular control of file access permissions via fileserver.conf.

1
  • I think #1 might fall down on the certificate issue. :-( As for the 'optional hostname field'.. documentation on using the fileserver mechanism seems a little sparse, so maybe it's not as completely supported as one would like. I can ask about #2, but I don't think it'll be well received. We'll see.. Thanks!
    – RoUS
    Nov 19, 2012 at 17:51
0

It's possible to use file:// URL and then mount a shared file system on all of your nodes- something like NFS, or Gluster will work for distribution of your git working copy.

Another option is to try this module, that allows you to pull files from S3: http://puppetlabs.com/blog/module-of-the-week-branan-s3file/

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .