Forge Home


Module for installing, configuring, and managing Kibana.


1,963,816 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

  • 6.3.1 (latest)
  • 6.3.0
  • 6.0.1
  • 6.0.0
  • 5.2.0
  • 5.1.0
  • 5.0.1
  • 5.0.0
  • 0.3.0
  • 0.2.1
  • 0.2.0
  • 0.1.1
  • 0.1.0
released Oct 19th 2018
This version is compatible with:
  • Puppet Enterprise 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >= 4.5.0 < 6.0.0
  • , , , , ,
This module has been deprecated by its author since Mar 30th 2022.

The author has suggested puppet-kibana as its replacement.

Start using this module


elastic/kibana — version 6.3.1 Oct 19th 2018

Kibana Puppet Module

Puppet Forge Endorsed Puppet Forge Version Puppet Forge Downloads Build Status

Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with Kibana
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing and how
  6. Limitations - OS compatibility, etc.
  7. Development - Guide for contributing to the module


This module manages Kibana for use with Elasticsearch.

Module Description

In addition to managing the Kibana system package and service, this module also exposes options to control the configuration file for Kibana. Kibana plugins are also supported via a native type and provider.

Dependencies are fairly standard (such as stdlib).


What Kibana affects

  • The kibana system package and service
  • /etc/kibana/kibana.yml
  • /usr/share/kibana/plugins/*

Setup Requirements

In addition to basic puppet settings (such as pluginsync), ensure that the required dependencies for the module are met (these are listed in metadata.json and listed in the Puppet Forge).

Beginning with kibana

Quick start:

class { 'kibana' : }


In order to control Kibana's configuration file, use the config parameter:

class { 'kibana':
  config => {
    'server.port' => '8080',

The kibana class also supports additional values for the ensure parameter that will be passed along to the package resource for Kibana. For example, to ensure the latest version of Kibana is always installed:

class { 'kibana': ensure => latest }

In order to explicitly ensure that version 5.2.0 of Kibana is installed:

class { 'kibana': ensure => '5.2.0' }

Package revisions are supported too:

class { 'kibana': ensure => '5.2.2-1' }

The kibana class also supports removal through use of ensure => absent:

class { 'kibana': ensure => absent }

OSS Packages and Repository Management

This module uses the elastic/elastic_stack module to manage the elastic package repositories. In order to control which major version of package repository to manage, declare the associated repository version in the elastic_stack::repo class. For example, to explicitly set the repository version to 5 instead of the default (which, at the time of this writing, is 6):

class { 'elastic_stack::repo':
  version => 5,

class { 'kibana':
  ensure => latest

This module defaults to the upstream package repositories, which as of 6.3, includes X-Pack. In order to use the purely OSS (open source) package and repository, the appropriate oss flag must be set on the elastic_stack::repo and kibana classes:

class { 'elastic_stack::repo':
  oss => true,

class { 'kibana':
  oss => true,


Kibana plugins can be managed by this module.

Kibana 5.x & 6.x

In the most basic form, official plugins (provided by Elastic) can simply be specified by name alone:

kibana_plugin { 'x-pack': }

The type also supports installing third-party plugins from a remote URL:

kibana_plugin { 'health_metric_vis':
  url => '',

When updating plugins, it is important to specify the version of the plugin that should be installed. For example, the preceding block of code installed version 0.3.4 of the health_metric_vis plugin. In order to update that plugin to version 0.3.5, you could use a resource such as the following:

kibana_plugin { 'health_metric_vis':
  url => '',
  version => '0.3.5',

Plugins can also be removed:

kibana_plugin { 'x-pack': ensure => absent }

Kibana 4.x

Plugin operations are similar to 6.x resources, but in keeping with the kibana command-line utility, an organization and version must be specified:

kibana_plugin { 'marvel':
  version => '2.4.4',
  organization => 'elasticsearch',

The version and organization parameters correspond to the same values for a given plugin in the plugin's documentation, and the provider assembles the correct name on the backend on your behalf. For instance, the previous example will be translated to

kibana plugin --install elasticsearch/marvel/2.4.4

For you. Removal through the use of ensure => absent is the same as for 5.x plugins.


Class parameters are available in the auto-generated documentation pages. Autogenerated documentation for types, providers, and ruby helpers is also available on the same documentation site.


This module is actively tested against the versions and distributions listed in metadata.json.


See with help to get started.


Install gem dependencies:

$ bundle install

Run the test suite (without acceptance tests):

$ bundle exec rake test

Run acceptance tests against a platform (requires Docker):

$ bundle exec rake beaker:centos-7-x64