/puppet-puppetdeploy

Deploys Puppet Environments

Primary LanguagePuppetGNU General Public License v3.0GPL-3.0

#Puppet Deploy

Build Status

####Table Of Contents

  1. Overview
  2. Module Description
  3. Usage
  4. Dependencies

##Overview

Manages accounts on Jenkins and across Puppet servers to allow synchronisation of puppet environments across a cluster

##Module Description

This is intended for use with a Jenkins CI deployment server. It installs a private key SSH on Jenkins and public key on a Puppet CA. Jenkins then pushes environments to /etc/puppet/environments. Lsyncd is deployed on the Puppet CA to monitor for changes which it then propagates across the cluster. This is facilitated with RSync over SSH, for which the requisite keys are installed.

##Usage

###Jenkins CI Server

class { 'puppetdeploy':
  is_jenkins          => true,
  jenkins_private_key => file('puppet:///modules/keys/jenkins_private_key'),
}

###Puppet CA Server

class { 'puppetdeploy':
  is_puppet_ca       => true,
  jenkins_public_key => file('puppet:///modules/keys/jenkins_public_key'),
  puppet_private_key => file('puppet:///modules/keys/puppet_private_key'),
  puppet_masters     => [
    'puppet0',
    'puppet1',
    'puppet2',
  ],
}

###Puppet Master Server

class { 'puppetdeploy':
  is_puppet_master  => true,
  puppet_public_key => file('puppet:///modules/keys/puppet_private_key'),
}

##Dependencies