These are the default files that I will usually start with when setting up a symfony2 project to use vagrant and puppet. I'm putting this readme file here for future updates.
Make sure the files that end in
.sh are executable.
Once the files are all in place, you should only need to run a few commands and your spiffy new VM is up and running.
./install-puppet-modules.sh vagrant up ./install-dependencies-on-vm.sh
Next just open up your browser to http://127.0.0.1:8080 and enjoy.
The base file that is used for booting vagrant.
This will list all of the puppet modules that the application will use. There could be more or there could be less, this is just the default configuration that is used.
Configures what some of the defaults on the VM are.
This script will ssh into the VM and run some commands to get the box setup. In case you were wondering why the VM is installing the composer dependencies, it's becasue some libraries have requirements set such as ext-mongo and that would be something we want on the VM not on our host machine.
Gets the puppet modules that is used for this.
After some time, you will need to update the dependencies on the machine.
Puppet modules need to be updated, this will take care of that.
I have experimented with having
app/Resources/puppet/composer.lock ignored by git
as well as having it in the repository itself. I have found that it is better
to have it in the repository so everyone will be using the same versions of
the puppet modules.
These scripts come from a lot of trial and error and from watching how other developers interact with these and what they like and don't like. These scripts are also to help new developers get up and running without the need to install and configure web servers or database servers on their local machine.
Please enjoy and I hope you find these as useful as I have.