Puppet Class: kibana

Defined in:
manifests/init.pp

Summary

The top-level kibana class that declares child classes for managing kibana.

Overview

Examples:

Basic installation

class { 'kibana' : }

Module removal

class { 'kibana' : ensure => absent }

Installing a specific version

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

Keep latest version of Kibana installed

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

Setting a configuration file value

class { 'kibana' : config => { 'server.port' => 5602 } }

Parameters:

  • ensure (Variant[Enum['present', 'absent', 'latest'], Pattern[/^\d([.]\d+)*(-[\d\w]+)?$/]])

    State of Kibana on the system (simple present/absent/latest or version number).

  • config (Hash[String[1], Variant[String, Integer, Boolean, Array, Hash]])

    Hash of key-value pairs for Kibana’s configuration file

  • oss (Boolean)

    whether to manage OSS packages

  • package_source (Optional[String])

    Local path to package file for file (not repo) based installation

  • manage_repo (Boolean)

    Whether to manage the package manager repository

  • status (Kibana::Status)

    Service status

  • service_name (String[1]) (defaults to: 'kibana')

    Service name

  • package_name (String[1]) (defaults to: 'kibana')

    Package name

  • plugindir (Optional[Stdlib::Absolutepath]) (defaults to: undef)

    Directory containing kibana plugins. Use this setting if you want to manage the directory

  • kibana_user (String[1]) (defaults to: 'kibana')

    owner of kibana.yml

  • kibana_group (String[1]) (defaults to: 'kibana')

    group of kibana.yml

Author:

  • Tyler Langlois <tyler.langlois@elastic.co>



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'manifests/init.pp', line 35

class kibana (
  Variant[Enum['present', 'absent', 'latest'], Pattern[/^\d([.]\d+)*(-[\d\w]+)?$/]] $ensure,
  Hash[String[1], Variant[String, Integer, Boolean, Array, Hash]] $config,
  Boolean $manage_repo,
  Boolean $oss,
  Optional[String] $package_source,
  Kibana::Status $status,
  Optional[Stdlib::Absolutepath] $plugindir = undef,
  String[1] $service_name = 'kibana',
  String[1] $package_name = 'kibana',
  String[1] $kibana_user = 'kibana',
  String[1] $kibana_group = 'kibana',
) {
  contain kibana::install
  contain kibana::config
  contain kibana::service

  if $manage_repo {
    contain elastic_stack::repo

    Class['elastic_stack::repo']
    -> Class['kibana::install']
  }

  # Catch absent values, otherwise default to present/installed ordering
  case $ensure {
    'absent': {
      Class['kibana::service']
      -> Class['kibana::config']
      -> Class['kibana::install']
    }
    default: {
      Class['kibana::install']
      -> Class['kibana::config']
      ~> Class['kibana::service']
    }
  }
}