Version information
This version is compatible with:
- Puppet 3.x
Start using this module
Add this module to your Puppetfile:
mod 'thejandroman-kibana3', '0.0.4'
Learn more about managing modules with a PuppetfileDocumentation
####Table of Contents
##Overview The kibana3 puppet module allows one to setup and configure the kibana3 interface to Logstash and ElasticSearch.
##Module Description This module should cover all configuration options for kibana3 v3.0.0.
This module checks out the kibana3 source directly from github and requires git to be installed. By default this module will install git via the puppetlabs/git module. This behavior can be disabled.
Kibana3 requires a webserver to serve its content. By default this module will install apache via the puppetlabs/apache module. This behavior can be disabled.
##Setup
Kibana3 can be installed with a base configuration with include kibana3
with default configuration options. To disable managing of git or apache see options below.
This module also provides for a way to uninstall via the ensure
parameter. If ensure => 'absent'
is specified and manage_ws => true
and/or manage_git => true
is specified, the respective module's packages and configs will also be uninstalled.
###Examples To install kibana3 accepting all default options:
include kibana3
To specify a specific elasticsearch host to kibana3:
class {
'kibana3':
config_es_port => '9201',
config_es_protocol => 'https',
config_es_server => 'es.my.domain',
}
To manage webserver configuration outside of the kibana3 module:
class {
'kibana3':
manage_ws => false,
}
Usage
###Classes
####Class: kibana3
#####ensure
Data Type: string
Default: present
Set to 'absent' to uninstall. Beware, if manage_git
or manage_ws
are set to true their respective module's packages and configs will also be uninstalled.
#####config_default_route
Data Type: string
Default: /dashboard/file/default.json
This is the default landing page when you don't specify a dashboard to load. You can specify files, scripts or saved dashboards here. For example, if you had saved a dashboard called 'WebLogs' to elasticsearch you might
use: config_default_route => '/dashboard/elasticsearch/WebLogs',
#####config_es_port
Data Type: string
Default: 9200
The port of the elasticsearch server. Because kibana3 is browser based this must be accessible from the browser loading kibana3.
#####config_es_protocol
Data Type: string
Default: http
The protocol (http/https) of the elasticsearch server. Because kibana3 is browser based this must be accessible from the browser loading kibana3.
#####config_es_server
Data Type: string
Default: "+window.location.hostname+"
The FQDN of the elasticsearch server. Because kibana3 is browser based this must be accessible from the browser loading kibana3.
#####config_kibana_index
Data Type: string
Default: kibana-int
The default ES index to use for storing Kibana specific object such as stored dashboards.
#####config_panel_names
Data Type: array
Default: ['histogram','map','goal','table','filtering','timepicker','text','hits','column','trends','bettermap','query','terms','stats','sparklines']
An array of panel modules available. Panels will only be loaded when they are defined in the dashboard, but this list is used in the "add panel" interface.
#####k3_folder_owner
Data Type: string
Default: undef
The owner of the kibana3 install located at k3_install_folder
. If k3_folder_owner
remains 'undef' it defaults to one of two case:
- if
manage_ws => false
thenk3_folder_owner => 'root'
- if
manage_ws => true
thenk3_folder_owner => $::apache::params::user
#####k3_install_folder
Data Type: string
Default: /opt/kibana3
The folder to install kibana3 into.
#####k3_release
Data Type: string
Default: a50a913 (v3.0.1)
A tag or branch from the kibana3 repo. Note that you should use the commit hash instead of the tag name (see issue #5) or puppet will overwrite the config.js file.
#####manage_git
Data Type: bool
Default: true
Should the module manage git.
#####manage_ws
Data Type: bool
Default: true
Should the module manage the webserver.
#####manage_git_repository
Data Type: bool
Default: true
Should the module manage kibana3 git repository.
#####ws_servername
Data Type: string
Default: kibana3
Change the default servername for the apache vhost. Only taken into account if manage_ws => true
.
#####ws_port
Data Type: bool
Default: true
Change the default port for the webserver to a custom value. Only taken into account if manage_ws => true
.
##Limitations
- Tested and built on Ubuntu 12.04.
- Tested with Kibana v3.0.0.
##Contributing Pull requests are welcome. Please document and include rspec tests.
##License See LICENSE file.
Change Log
v0.0.4 (2015-01-06)
- updated testing harness
- added 2 new parameters:
- manage_git_repository
- ws_servername
- added anchor pattern
- various under the hood enhancements
v0.0.3 (2014-05-07)
- Changed default kibana3 release from tag name to tag commit hash
- Changed default kibana3 version from 3.0.0 to 3.0.1
- Updated documentation
v0.0.2 (2014-03-25)
- Changed doc_root in apache::vhost if managed_ws => true
- Disabled default_vhost id managed_ws => true
v0.0.1 (2014-03-23)
- initial commit
Dependencies
- puppetlabs/git (>= 0.0.3)
- puppetlabs/vcsrepo (>= 0.2.0)
- puppetlabs/apache (>= 1.0.1)
- puppetlabs/stdlib (>= 3.2.1)
Copyright 2014 Alejandro Figueroa Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.