Reputation: 10366
Let me try to make this really simple to follow. I'm deploying Vagrant for my developers and I'll be using Puppet to provision the machines. Let's say I have two sets of machines, one that has apache/mysql5 server and an apache/mongodb server. I use Puppet to manage the different components, but I am not using a centralized puppetmaster server.
With that said, I'm serving two directories inside a Mercurial repository. In the event I need to modify something with mysql, I can have the devs pull the latest changes accordingly. The issue I'm having is, how do I handle the repository structure without having to duplicate the directory structure.
manifests
- This is different for each machine, mysql
machine will have directives to install mysql
while the mongodb
machine will have its own instructions for mongodb
modules
- This is shared among every machine, but only the required folders inside this folder is stored on each machine (i.e. modules/mongodb and modules/mysql).
If I threw all this into one big repository, I don't want my "apache+mysql" server to download modules for the "apache+mongodb" modules. Is there a way to let's say put the manifests
directory into a particular repo and download only the appropriate folders from the modules
folder?
Upvotes: 1
Views: 207
Reputation: 26597
You can use the Subrepository functionnality of Mercurial.
If I understand correctly what you want, I'll do the following :
Upvotes: 3