Skip to content

herffjones-ssg/puppet-mcollective

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MCollective Puppet Module

This module manages MCollective.

It supports:

  • generic STOMP, ActiveMQ and RabbitMQ connectors (optionally over SSL)
  • PSK and SSL security providers
  • Action policy rules

This module is provided by Camptocamp

Simple usage

This module has a single access point class:

class { '::mcollective':
  broker_host       => 'rabbitmq.example.com',
  broker_port       => '61613',
  broker_ssl        => false,
  security_provider => 'psk',
  security_secret   => 'P@S5w0rD',
  use_node          => true,
  use_client        => false,
}

class { '::mcollective':
  broker_host       => 'rabbitmq.example.com',
  broker_port       => '61614',
  security_provider => 'ssl',
  use_node          => true,
  use_client        => true,
}

Classes

This module provides two classes to configure MCollective nodes and clients.

mcollective::node

Installs and configures an MCollective node:

class { '::mcollective':
  broker_host       => 'rabbitmq.example.com',
  broker_port       => '61614',
  security_provider => 'psk',
  security_secret   => 'P@S5w0rD',
  use_node          => false,
}
include ::mcollective::node

mcollective::client

Installs and configures an MCollective client:

class { '::mcollective':
  broker_host       => 'rabbitmq.example.com',
  broker_port       => '61614',
  security_provider => 'psk',
  security_secret   => 'P@S5w0rD',
  use_node          => false,
}
include ::mcollective::client

Definitions

Several definitions allow to enhance MCollective nodes and clients.

mcollective::plugin

Installs an MCollective plugin using packages:

mcollective::plugin { 'puppetca':
  ensure => present,
}

mcollective::application

Installs an MCollective application from a file:

mcollective::application { 'healthcheck':
  ensure => present,
}

mcollective::client::certificate

Deploys a public client SSL certificate for authentication:

mcollective::client::certificate { 'foo':
  ensure         => present,
  key_source_dir => 'puppet:///modules/module_name/path/to/dir/',
}

mcollective::actionpolicy::base

Sets up an base action policy file for an agent:

mcollective::actionpolicy::base { 'puppetd':
  ensure => present,
}

mcollective::actionpolicy

Sets up an action policy rule for an agent:

mcollective::actionpolicy { 'Allow puppetd status for cert foo':
  ensure    => present,
  agent     => 'puppetd',
  rpccaller => 'cert=foo',
  actions   => 'status',
}

Contributing

Please report bugs and feature request using GitHub issue tracker.

For pull requests, it is very much appreciated to check your Puppet manifest with puppet-lint to follow the recommended Puppet style guidelines from the Puppet Labs style guide.

License

Copyright (c) 2013 mailto:[email protected] All rights reserved.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

About

Deploy mcollective with puppet

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Puppet 59.2%
  • Ruby 37.7%
  • Shell 3.1%