No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
A Vagrant plugin to install Puppet modules using Librarian-Puppet.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
 Dependencies

Development

~> 1.3
>= 0
>= 0

Runtime

~> 4.3.2
 Project Readme

vagrant-librarian-puppet

A Vagrant plugin to install Puppet modules using Librarian-Puppet.

Requirements

  • Vagrant version 1.2.0 or greater.

Installation

vagrant plugin install vagrant-librarian-puppet

Usage

Vagrant will automatically run Librarian-Puppet before any provisioning step, so simply set up your Puppetfile as you normally would.

You may specify the subdirectory within which to run librarian-puppet using the librarian_puppet.puppetfile_dir config key. Please keep in mind that you will need to explicitly set the modules path in the :puppet provisioner and this path must exist before running vagrant commands.

Like the puppet.module_path, librarian_puppet.puppetfile_dir supports both, a simple String or an Array of Strings. Librarian Puppet will look for Puppetfiles in each Directory and manage each modules directory.

NOTE: Since the puppet provisioner will fail if the path provided to "puppet.modules" doesn't exist and librarian-puppet will destroy and recreate the modules directory on each run, this plugin supports a placeholder file within the modules directory that can be checked into version control and will persist between provisions.

Vagrant.configure("2") do |config|

  config.librarian_puppet.puppetfile_dir = "puppet"
  # placeholder_filename defaults to .PLACEHOLDER
  config.librarian_puppet.placeholder_filename = ".MYPLACEHOLDER"
  config.librarian_puppet.use_v1_api  = '1' # Check https://github.com/voxpupuli/librarian-puppet#how-to-use
  config.librarian_puppet.destructive = false # Check https://github.com/voxpupuli/librarian-puppet#how-to-use

  config.vm.provision :puppet do |puppet|
    puppet.module_path = "puppet/modules"

    ...

  end
end

Development

bundle
bundle exec vagrant up

Acknowledgements

Thanks to @jimmycuadra and other contributors for their work on vagrant-librarian-chef. This plugin made some slight changes to work with puppet, but largely just used their code.