jantman / vagrant-r10k

UNSUPPORTED - SEEKING MAINTAINER - Vagrant middleware plugin to retrieve puppet modules using r10k.
MIT License
35 stars 12 forks source link

Support puppet_server provisioner #38

Closed salimane closed 8 years ago

salimane commented 9 years ago

This plugin only works with the 'puppet' provisioner, not a puppet server.

Is there a specific reason as to why puppet_server is not supported ?

Thanks

jantman commented 8 years ago

@salimane I'm not sure how this provisioner would work with a puppet server. The way it currently works is by deploying the modules specified by a Puppetfile into the same directory tree as the Vagrantfile (i.e. r10k runs locally, on the same host as the vagrant commands).

Unless I'm missing something, with the puppet_server, r10k would need to execute remotely on the Puppet master. My assumption - and I believe that of most people - is that Puppet masters should already be running r10k, deploying into directory environments.

Is there a use case for this that I'm missing? How do you envision such a feature working?

salimane commented 8 years ago

@jantman yes, puppet masters should already be running r10k, but in vagrant when I modified my puppetfile, I would like somehow to automatically and immediately trigger an update of the modules folder when I'm trying to reprovision a server.

jantman commented 8 years ago

I'm sort of confused by this. Where is the puppet server running?

The normal way this would work is you'd modify your Puppetfile and then push that up to your git server. There would be a post-receive hook that runs r10k on the puppetmaster, or else some daemon or cron job watching the repository for changes and triggering r10k. There's a small amount of documentation about this on the r10k Common Patterns page.

I don't believe that control of an external Puppet server is something that falls within the scope of a Vagrant plugin (between the access control issues, and the problem that it would cause conflicts between what should be isolated environments).

I hate to say "no" to a request, but the purpose of this plugin is specifically using r10k to deploy a Puppetfile into the directory tree that your Vagrantfile lives in. I'm not sure how I'd approach doing something for r10k on a server, but my gut reaction is that it's too far outside the scope of this plugin to be added.