Forge Home


Module that will manage the CloudPassage Halo Agent


31,549 latest version

4.3 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

  • 1.0.5 (latest)
  • 1.0.3
  • 1.0.2
  • 1.0.1
  • 1.0.0 (deleted)
released Dec 6th 2017
This version is compatible with:
  • Puppet Enterprise 2017.2.x, 2017.1.x, 2016.4.x
  • Puppet >= 4.9.0 < 5.0.0
  • , , , , , ,

Start using this module

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

Add this module to your Puppetfile:

mod 'cloudpassage-cloudpassage', '1.0.5'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

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

Manually install this module globally with Puppet module tool:

puppet module install cloudpassage-cloudpassage --version 1.0.5

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.



cloudpassage/cloudpassage — version 1.0.5 Dec 6th 2017

Cloudpassage Puppet

Author: CloudPassage & Tech Accelerator

Master branch: Build Status (develop branch)

Develop branch: Build Status (develop branch)


Table of Contents

  1. Overview
  2. Requirements and dependencies
  3. Setup
  4. Usage
  5. Reference
  6. Limitations - OS compatibility, etc.
  7. Development


The cloudpassage module installs and configures the CloudPassage Halo agent.


Tested and Supported Platforms

  • Ubuntu 14.04
  • CentOS 6.7
  • CentOS 7.1
  • RHEL 7.2
  • Amazon Linux 2015.09
  • Windows Server 2012R2

Tested Ruby version

  • 2.2

Tested Puppet versions

  • Puppet 4.9.0
  • Puppet 4.9.1
  • Puppet 4.9.2
  • Puppet 4.9.3
  • Puppet 4.9.4


There is no extra setup required.


Download CloudPassage Puppet Module to Puppet Master

cd /etc/puppetlabs/code/environments/production/modules
git clone
mv puppet-cloudpassage cloudpassage 

All interaction with the cloudpassage module can be done through the main cloudpassage class in the manifest (/etc/puppetlabs/code/environments/production/manifests) on Pupper Master. Below are example classes for Linux and Windows servers to function. Please see later section for required parameters.

Example for Linux servers

class { 'cloudpassage':
  agent_key => 'myagentkey',

Example for Windows servers

class { 'cloudpassage':
         agent_key => 'myagentkey',
         package_file => 'cphalo-3.9.7-win64.exe',
         package_url => '',
         destination_dir => 'C:\\Users\Administrator\Downloads',
         server_label => 'puppet_windows',
         audit_mode => true



Public classes

  • cloudpassage: Main class, includes all other classes.

Private classes

* cloudpassage::params: Handles the module's params and sets defaults.
* cloudpassage::install: Handles the packages.
* cloudpassage::config: Configures the cphalo daemon on installation.
* cloudpassage::service: Handles the cphalod service.
* cloudpassage::yum: Manages the cloudpassage yum repo where applicable.
* cloudpassage::apt: Manages the cloudpassage apt repo where applicable.


The following parameters are available in the cloudpassage class:

agent_key (Required)

The CloudPassage Agent key.


Unique identifer of the VM combined with the hostname. server_label will supersede azure_id if server_label field is populated.


Controls the Halo Agent's "read-only" attribute

destination_dir (Windows only)

Controls where we'll download the installer EXE

manage_repos (Linux only)

Set to true by default, will add cloudpassage package repo for install


Controls the package resource's "ensure" attribute

package_file (Windows only)

Controls the filename of the installer EXE


Controls the package resource's "name" attribute

package_url (Windows only)

Base URL from which we'll download the installer EXE

repo_ensure (Linux only)

Controls the apt or yum repo's "ensure" attribute


The name of the service


Unique identifer of the VM


The CloudPassage tags that this node will be configured with. If nothing is provided will not include --tags in the agent registration process (default set to undef)


Proxing settings. To configure the agent to use an outbound pro


Proxy username


Proxy password


Controls DNS resolution (True | False)


Module dependencies

This module uses the puppetlabs-apt module for the management of the NodeSource repository, [puppetlabs-stdlib module] and [puppetlabs-powershell module]

For Windows installations, this module uses the puppet-download_file module to download the necessary installers.


We welcome contributions to this module from the Puppet community - the preferred way would be to send a pull request to the module repo on GitHub ( Bonus points if you follow this process:

  1. Fork the module on github
  2. pull it down
  3. run the acceptance tests included in the module
  4. make your changes
  5. add spec tests to test your changes
  6. then submit a pull request

This module is regularly reviewed and maintained by the CloudPassage integrations team. For any feedback, questions or support issues, please contact