Version information
This version is compatible with:
- Puppet Enterprise 3.x
- AIX, , Solaris, , Windows
Start using this module
Add this module to your Puppetfile:
mod 'aharden-puppet_ent_agent', '0.1.1'
Learn more about managing modules with a PuppetfileDocumentation
#puppet_ent_agent
####Table of Contents
- Overview
- Module Description - What the module does and why it is useful
- Setup - The basics of getting started with pe_agent
- Usage - Configuration options and additional functionality
- Limitations - OS compatibility, etc.
##Overview
The puppet_ent_agent module installs, configures and manages the Puppet Enterprise Agent software and the pe-puppet service.
##Module Description
The puppet_ent_agent module is dependent on the PE Package Repositories (pe_repo classes) available on any Puppet Enterprise Master version 3.2 or greater. This module was designed so that PE users can easily upgrade their managed PE agents after a version upgrade of a deployment's PE server(s).
##Setup
###What puppet_ent_agent affects
- pe-agent package (and pe-* packages related to PE)
- /etc/puppetlabs/puppet/puppet.conf configuration file.
- pe-puppet service.
###Beginning with puppet_ent_agent
include '::puppet_ent_agent'
is enough to get you up and running.
class { '::puppet_ent_agent':
agent_caserver => 'puppetca.company.lan',
windows_source => '\\myfileserver\pe-agent'
}
###Parameters
The following parameters are available in the puppet_ent_agent module:
####config
Path to the puppet.conf file (defaults to /etc/puppetlabs/puppet/puppet.conf)
####package_ensure
Version of pe-agent to ensure, by default this is set to latest, and uses the 'current' package repository on the master. This will auto upgrade agents if master is updated.
If you specify a version number, it may cause issues with general vs specific version differences (ie 3.2.0 vs 3.2.0.el6.1).
See the related version variable documented below for AIX/Solaris/Windows.
####master
Hostname of apt/yum repository with pe-agent packages on it, assumes the hostname is of a PE master with the required pe_repo classes properly applied to it. Defaults to the PE master that compiled the agent's catalog.
####agent_server
& agent_caserver
& agent_fileserver
& agent_environment
Sets the server, ca_server, archive_file_server and environment settings in the agent's puppet.conf file.
The server settings default to undef and do not manage the settings unless overridden in node classification. agent_environment defaults to 'production'.
####staging_dir
The directory that will be used on AIX and Solaris hosts to temporarily hold the PE Agent installation files. This defaults to PE's default: /tmp/puppet-enterprise-installer
####windows_source
A UNC path to a publicly-readable SMB share that contains the PE Agent for Windows MSI files. Ensure that both 32-bit and 64-bit installers are hosted there; the default file names are assumed. The author recommends the use of Distributed File Services (DFS) namespaces with multiple folder targets to efficiently provide a single UNC path to the files for multi-site deployments.
####version
The desired version of the PE agent to install. This is applicable to the AIX, Solaris, and Windows agents since they don't support package => latest. This defaults to the version of PE on the agent (which means agent upgrades are armed unless a newer version is set in the class declaration or hieradata).
##Limitations
This module depends completely on the correct pe_repo classes being added to the target Puppet Enterprise master servers. If agent installers aren't present, the install class of this module will fail. Best practice is to add pe_repo classes corresponding to the OS families and architectures of all nodes managed in your infrastructure.
Windows support requires the MSI installers for the PE Agent for Windows to be hosted outside of the PE environment.
AIX, Debian/Ubuntu, and Windows OS Families have been tested. Solaris testing is in progress. RedHat support with yumrepo is potentially problematic on PE <= 3.3 due to bug PUP-2271.
Dependencies
- puppetlabs-apt (>= 1.4.0)
- puppetlabs-inifile (>= 1.0.0)
- puppetlabs-stdlib (>= 3.2.0 < 5.0.0)
Copyright [2014] [Chris Barker] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Copyright [2015] [Alex Harden] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.