Forge Home

puppetserver_gem_repo

Synchronize puppetserver gems between masters

8,007 downloads

4,843 latest version

5.0 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 2.0.2 (latest)
  • 2.0.1 (deleted)
  • 2.0.0 (deleted)
  • 0.1.2
  • 0.1.1
  • 0.1.0
released Dec 17th 2018
This version is compatible with:
  • Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >= 4.7.0 < 7.0.0
  • , ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'tkishel-puppetserver_gem_repo', '2.0.2'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add tkishel-puppetserver_gem_repo
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install tkishel-puppetserver_gem_repo --version 2.0.2

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

tkishel/puppetserver_gem_repo — version 2.0.2 Dec 17th 2018

puppetserver_gem_repo

Table of Contents

  1. Description
  2. Setup
  3. Usage
  4. Reference
  5. Limitations

Description

This module will create a gem repository populated with the gems added to the puppetserver service on the master of masters (aka primary master). This module will sync that gem repository to compile masters (and the replica master, if present) allowing this module to install those gems (and their dependencies) on the other masters via puppetserver_gem_repo::gem resources. This is particularly valuable when the other masters do not have internet access.

Setup

  1. Install this module on the primary master.
  2. Apply the puppetserver_gem_repo class to the PE Master node group via the Console.
  3. Run puppet agent -t on the primary master.
  4. Run puppet agent -t on the other masters.

Usage

Install a puppetserver gem on the primary master, manually or via a manifest.

Specify the same gem as a puppetserver_gem_repo::gem resource on the other masters. For example:

node 'compile-master-*.example.com' {
  puppetserver_gem_repo::gem {
    name               => 'puppet-resource_api',
    version            => '1.0.0',
    install_into_agent => true,
  }
}

To specify multiple gems, specify the puppetserver_gem_repo::gems class on the other masters, and specify the gems via Hiera. For example:

node 'compile-master-*.example.com' {
  include puppetserver_gem_repo::gems
}
---
 puppetserver_gem_repo::gems:
   hiera-eyaml:
     version:             2.1.0
     install_into_agent:  true
   jruby-ldap:
     install_into_agent:  false

Reference

Parameters

name

String. Required, with a default of the title of the resource.

The name of the puppetserver gem to install from the primary master.

version

String. Optional, with a default of 'present'.

The version of the puppetserver gem to install from the primary master.

install_into_agent

Boolean. Optional, with a default of false.

Whether to install the puppetserver gem into puppet in addition to the puppetserver service.

This is particularly valuable with 'hiera-eyaml' gem, allowing the puppet lookup command to use the 'eyaml' backend.

Note: While this module was initially developed to sync the 'hiera-eyaml' gem, it is not limited to syncing that gem.

Limitations

This module installs the 'builder' gem into puppet on the primary master. If your primary master does not have internet access, manually install the gem on the primary master before using this module. For example:

/opt/puppetlabs/puppet/bin/gem install builder --local builder-*.gem