Forge Home


Deploy the elasticsearch web admin tool Cerebro


10,235 latest version

5.0 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

  • 0.1.1 (latest)
  • 0.1.0
released Oct 16th 2017
This version is compatible with:

Start using this module

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

Add this module to your Puppetfile:

mod 'mrwulf-cerebro', '0.1.1'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

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

Manually install this module globally with Puppet module tool:

puppet module install mrwulf-cerebro --version 0.1.1

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.



mrwulf/cerebro — version 0.1.1 Oct 16th 2017


Puppet Forge

Table of Contents

  1. Description
  2. Setup - The basics of getting started with cerebro
  3. More Advanced Usage - Configuration options and additional functionality
  4. Reference - An under-the-hood peek at what the module is doing and how
  5. Limitations - OS compatibility, etc.
  6. Development - Guide for contributing to the module
  7. Release Notes


This is a basic module to install and set up cerebro.

Cerebro is an open source elasticsearch web admin tool built using Scala, Play Framework, AngularJS, and Bootstrap. Cerebro is the follow up project to Kopf- a popular elasticsearch web admin plugin.


Setup Requirements

Cerebro requires Java 1.8. This module does not attempt to install Java for you.

Beginning with cerebro

A basic install will require java and the cerebro module. Cerebro will connect to the local elasticsearch instance by default.

class { 'java': }
class { 'cerebro': }

More Advanced Usage

Connecting to multiple clusters

You can provide specific targets to connect to with an array of hashes:

class { 'cerebro':
  targets => [ { name => 'Production Cluster',
                 host => 'http://prod:9200',
               { name => 'Dev Cluster',
                 host => 'http://dev:9200',
               }, ]

Or, through Hiera and Automatic Parameter Lookup:

  - name: 'Production Cluster'
    host: 'http://prod:9200'

  - name: 'Dev Cluster'
    host: 'http://dev:9200'

Limiting Access

You can require login with a basic challenge:

class { 'cerebro':
  auth_type     => 'basic',
  auth_settings => {
    username => 'admin',
    password => '1234',

Or through LDAP:

class { 'cerebro':
  auth_type     => 'basic',
  auth_settings => {
    url         => 'ldap://host:port',
    base-dn     => 'ou=active,ou=Employee',
    method      => 'simple',
    user-domain => '',


  • version Parameter: The version of Cerebro to install. Defaults to 0.7.0.
  • download_url Parameter: The download url to use. Change this for a local repo. Defaults to "${version}/cerebro-${version}.tgz".
  • install_path Parameter: The installation path. Defaults to /opt/cerebro.
  • user Parameter: The user to run the Cerebro service as. Defaults to cerebro.
  • group Parameter: The group for the above user. Defaults to cerebro.
  • service Parameter: The service name to run the Cerebro service as. Defaults to cerebro.
  • targets Parameter: The elasticsearch endpoints to connect to. Defaults to localhost.
  • auth_type Parameter: The authentication method to use. Options are undef, ldap, and basic. Defaults to undef which provides no authentication.
  • auth_settings Parameter: Used with ldap and basic authentication types, allows implementation details to be provided.


Only tested with CentOS 7 and Elasticsearch 5 and 2. Authenticated hosts are not currently supported.


Issues are welcome, pull requests are appreciated.

Release Notes

Version 0.1.0

Initial Release.