Puppet modules for managing Cloudpassage
Clone or download
Pull request Compare This branch is 130 commits ahead of rkhatibi:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
manifests
spec
test/integration
.fixtures.yml
.gitignore
.kitchen.amzn.yml
.kitchen.centos.yml
.kitchen.debian.yml
.kitchen.oracle.yml
.kitchen.rhel.yml
.kitchen.ubuntu.yml
.kitchen.windows.yml
.rspec
.travis.yml
CHANGELOG.md
Dockerfile
Gemfile
Gemfile.lock
LICENSE
README.md
Rakefile
metadata.json

README.md

Cloudpassage Puppet

Author: CloudPassage & Tech Accelerator

Master branch: Build Status (develop branch)

Develop branch: Build Status (develop branch)

Feedback: toolbox@cloudpassage.com

Table of Contents

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

Overview

The cloudpassage module installs and configures the CloudPassage Halo agent.

Requirements

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
  • Puppet 5.4.0

Setup

There is no extra setup required.

Usage

Download CloudPassage Puppet Module to Puppet Master

cd /etc/puppetlabs/code/environments/production/modules
git clone https://github.com/cloudpassage/puppet-cloudpassage.git
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 => 'https://production.packages.cloudpassage.com/windows/cphalo-3.9.7-win64.exe',
         destination_dir => 'C:\\Users\Administrator\Downloads',
         server_label => 'puppet_windows',
         audit_mode => true
}

Reference

Classes

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.

Parameters

The following parameters are available in the cloudpassage class:

agent_key (Required)

The CloudPassage Agent key.

azure_id

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

audit_mode

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

package_ensure

Controls the package resource's "ensure" attribute

package_file (Windows only)

Controls the filename of the installer EXE

package_name

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

service_name

The name of the service

server_label

Unique identifer of the VM

tags

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)

proxy

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

proxy_user

Proxy username

proxy_password

Proxy password

dns

Controls DNS resolution (True | False)

Limitations

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.

Development

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 (https://github.com/cloudpassage/puppet-cloudpassage). 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 support@cloudpassage.com.