Skip to content

Puppet module with common configurations for server and Vagrant provisioning

License

Notifications You must be signed in to change notification settings

malmostad/puppet-mcommons

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Puppet mcommons

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 internals

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.

License

Released under AGPL version 3.

About

Puppet module with common configurations for server and Vagrant provisioning

Resources

License

Stars

Watchers

Forks

Packages

No packages published