Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/voxpupuli/puppet-kibana
Kibana Puppet module by Elastic.
https://github.com/voxpupuli/puppet-kibana
amazon-puppet-module centos-puppet-module debian-puppet-module fedora-puppet-module hacktoberfest kibana linux-puppet-module puppet redhat-puppet-module ubuntu-puppet-module
Last synced: 1 day ago
JSON representation
Kibana Puppet module by Elastic.
- Host: GitHub
- URL: https://github.com/voxpupuli/puppet-kibana
- Owner: voxpupuli
- License: apache-2.0
- Created: 2017-02-24T17:33:12.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2024-09-17T07:35:16.000Z (3 months ago)
- Last Synced: 2024-10-29T14:22:37.185Z (about 2 months ago)
- Topics: amazon-puppet-module, centos-puppet-module, debian-puppet-module, fedora-puppet-module, hacktoberfest, kibana, linux-puppet-module, puppet, redhat-puppet-module, ubuntu-puppet-module
- Language: Ruby
- Size: 393 KB
- Stars: 16
- Watchers: 264
- Forks: 48
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Kibana Puppet Module
[![Build Status](https://github.com/voxpupuli/puppet-kibana/workflows/CI/badge.svg)](https://github.com/voxpupuli/puppet-kibana/actions?query=workflow%3ACI)
[![Release](https://github.com/voxpupuli/puppet-kibana/actions/workflows/release.yml/badge.svg)](https://github.com/voxpupuli/puppet-kibana/actions/workflows/release.yml)
[![Puppet Forge](https://img.shields.io/puppetforge/v/puppet/kibana.svg)](https://forge.puppetlabs.com/puppet/kibana)
[![Puppet Forge - downloads](https://img.shields.io/puppetforge/dt/puppet/kibana.svg)](https://forge.puppetlabs.com/puppet/kibana)
[![Puppet Forge - endorsement](https://img.shields.io/puppetforge/e/puppet/kibana.svg)](https://forge.puppetlabs.com/puppet/kibana)
[![Puppet Forge - scores](https://img.shields.io/puppetforge/f/puppet/kibana.svg)](https://forge.puppetlabs.com/puppet/kibana)
[![puppetmodule.info docs](http://www.puppetmodule.info/images/badge.png)](http://www.puppetmodule.info/m/puppet-kibana)
[![Apache-2.0 License](https://img.shields.io/github/license/voxpupuli/puppet-kibana.svg)](LICENSE)#### Table of Contents
1. [Overview](#overview)
2. [Module Description - What the module does and why it is useful](#module-description)
3. [Setup - The basics of getting started with Kibana](#setup)
* [What Kibana affects](#what-kibana-affects)
* [Setup requirements](#setup-requirements)
* [Beginning with Kibana](#beginning-with-kibana)
4. [Usage - Configuration options and additional functionality](#usage)
5. [Reference - An under-the-hood peek at what the module is doing and how](#reference)
5. [Limitations - OS compatibility, etc.](#limitations)
6. [Development - Guide for contributing to the module](#development)## Overview
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).
## Setup
### 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:
```puppet
class { 'kibana' : }
```## Usage
In order to control Kibana's configuration file, use the `config` parameter:
```puppet
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:```puppet
class { 'kibana': ensure => latest }
```In order to explicitly ensure that version 5.2.0 of Kibana is installed:
```puppet
class { 'kibana': ensure => '5.2.0' }
```Package revisions are supported too:
```puppet
class { 'kibana': ensure => '5.2.2-1' }
```The `kibana` class also supports removal through use of `ensure => absent`:
```puppet
class { 'kibana': ensure => absent }
```### OSS Packages and Repository Management
This module uses the [puppet/elastic_stack](https://forge.puppet.com/puppet/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):```puppet
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:
```puppet
class { 'elastic_stack::repo':
oss => true,
}class { 'kibana':
oss => true,
}
```### Plugins
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:```puppet
kibana_plugin { 'x-pack': }
```The type also supports installing third-party plugins from a remote URL:
```puppet
kibana_plugin { 'health_metric_vis':
url => 'https://github.com/DeanF/health_metric_vis/releases/download/v0.3.4/health_metric_vis-5.2.0.zip',
}
```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:```puppet
kibana_plugin { 'health_metric_vis':
url => 'https://github.com/DeanF/health_metric_vis/releases/download/v0.3.5/health_metric_vis-5.2.0.zip',
version => '0.3.5',
}
```Plugins can also be removed:
```puppet
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:```puppet
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```shell
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.## Reference
Class parameters are available in [the auto-generated documentation
pages](https://elastic.github.io/puppet-kibana/puppet_classes/kibana.html).
Autogenerated documentation for types, providers, and ruby helpers is also
available on the same documentation site.## Limitations
This module is actively tested against the versions and distributions listed in
`metadata.json`.## Development
See CONTRIBUTING.md with help to get started.
### Quickstart
Install gem dependencies:
```shell
$ bundle install
```Run the test suite (without acceptance tests):
```shell
$ bundle exec rake test
```Run acceptance tests against a platform (requires Docker):
```shell
$ bundle exec rake beaker:centos-7-x64
```## Support
Need help? Join us in [#Kibana](https://webchat.freenode.net/#kibana) on Freenode IRC or on the https://discuss.elastic.co/c/kibana discussion forum.