malmo-mcommons
is an opinionated Puppet module that contains common configurations we use for provisioning of servers and Vagrants. Puppet is used in standalone mode without a master. Ubuntu 16.04 is the target system.
Note:
Use the ubuntu-1404 branch for setting up Ubuntu 14.04 Vagrants and servers.
The exact selection of system components to install for a specific application is defined in the applications puppet/server.pp
and puppet/vagrant.pp
files. See e.g. the Sitesearch, Intranet Dashboard and wp-apps repos.
Each repo that are using mcommons
have the instructions you need to run the provisioning tool.
The mcommons
module uses several third-party Puppet modules listed in metadata.json
. Applications using mcommons
have a puppet/
directory with two files, vagrant.pp
and server.pp
, using mcommons
as a dependency. Each application's Puppet definitions should be minimal.
The provisioning of a server using mcommons
works like this:
Download the bootstrap.sh
script from this repo to the server along with the server.pp
from the application's puppet/
directory. They must be placed in the same directory on the server. When you execute the bootstrap script, it sets up Puppet with mcommons
and initiates server.pp
.
The provisioning of a Vagrant box for development and testing shares most of it's configuration with the server. It works like this:
You need to have Vagrant and VirtualBox or VMWare on your own machine. Clone the repository for the application you are working with to your own machine. Run vagrant up
in the applications root. It uses the Vagrantfile
to create an Ubuntu 14.04 Vagrant instance and starts the provisioning by fetching bootstrap.sh
, executes it and the projects puppet/vagrant.pp
file.
Released under AGPL version 3.