Puppet modules for managing Cloudpassage
Ruby Puppet PowerShell
Pull request Compare This branch is 49 commits ahead of rkhatibi:master.
Latest commit 53834cb Feb 24, 2017 @eatwithforks eatwithforks committed on GitHub Merge pull request #6 from cloudpassage/develop
Add Acceptance testing for linux and windows
Permalink
Failed to load latest commit information.
manifests feature/CS-158 Feb 2, 2017
spec
test/integration
.fixtures.yml Update to be forge-ready Nov 21, 2016
.gitignore
.kitchen.linux.yml
.kitchen.windows.yml
Dockerfile move linux and windows acceptance test separately Feb 24, 2017
Gemfile
Gemfile.lock
LICENSE
README.md
Rakefile
metadata.json

README.md

Cloudpassage Puppet

Table of Contents

  1. Overview
  2. Usage
  3. Reference
  4. Limitations - OS compatibility, etc.
  5. Development

Overview

The cloudpassage module installs and configures the CloudPassage Halo agent.

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.

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.