Forge Home


Configures MCollective servers, clients, and middleware brokers; handles networks of brokers, subcollectives, and TLS security options


1,166 latest version

3.0 quality score

Version information

  • 1.0.4 (latest)
  • 1.0.3 (deleted)
  • 1.0.2 (deleted)
  • 1.0.1 (deleted)
  • 1.0.0 (deleted)
  • 0.1.6 (deleted)
  • 0.1.5 (deleted)
  • 0.1.4 (deleted)
  • 0.1.2 (deleted)
released Jan 13th 2020
This version is compatible with:
  • Puppet Enterprise >= 3.3.0 <= 5.0.0
  • Puppet >= 3.5.0 <= 5.0.0
  • , , , , , ,
This module has been deprecated by its author since Jan 14th 2020.

The author has suggested choria-choria as its replacement.

Start using this module


jorhett/mcollective — version 1.0.4 Jan 13th 2020



This is an MCollective module for Puppet. It configures MCollective brokers, servers, and clients without any other dependency classes, as documented in Learning MCollective.

O'Reilly Media, Inc.
ISBN: 978-1-4919-4567-4


This module is deprecated in favour of choria, which greatly simplifies what used to be the more complex bespoke Mcollective installations this module could create.


This module can configure MCollective middleware brokers, servers, and clients. It can automatically configure complex configurations, such as networks of brokers, subcollectives, and TLS security options.

With just a hostname and passwords it can create a fully working MCollective setup. With just a few more lines of input it can create TLS-validated, globally distributed MCollective environments.

The module can also create authorization policies from Hiera input.

Supported Operating Systems

The module has been validated for full functionality on:

  • CentOS 6.4 and higher
  • Ubuntu 13.10
  • FreeBSD 9.2 and higher

Updates for Solaris, MacOS, and Windows coming soon.

Simple Setup

The easiest setup is to put the passwords in Hiera and then simply include the modules in site or nodes manifest.

Hiera: common.yaml
      - mcollective::server

        - ''
    mcollective::client_password: 'Client Password'
    mcollective::server_password: 'Server Password'
    mcollective::psk_key        : 'Salt Value'

Hiera: fqdn/
      - mcollective::middleware

Hiera: fqdn/
      - mcollective::client

Or if using in profiles with declarative style assignment:

node default {
    include mcollective::server
node '' {
    include mcollective::middleware
node '' {
    include mcollective::client

This module is a companion intended for use with the Learning MCollective book.


The older version of the book refers to including the facts class to have facts from Facter and Puppet placed in /etc/mcollective/facts.yaml.

include mcollective::facts

While this still works, it is deprecated and will be removed in a future version. Instead, add this variable to define how many minutes between updates.

Hiera: common.yaml
    mcollective::facts::cronjob::run_every: 10


If you report it, and I can replicate it I'll fix it.

If you have an idea for improvement I might do it. If you create a Pull request it will happen faster. If you send me changes to support more operating systems, I'll owe you beer.

I'm human and prone to overwork so response times vary. YMMV.