mirror of
https://github.com/krislamo/puppet-fluentd
synced 2024-12-16 13:20:35 +00:00
added definition to install plugins
This commit is contained in:
parent
98f55bd1fd
commit
b0a98aa149
19
README.md
19
README.md
@ -9,6 +9,7 @@
|
||||
* [Source](#source)
|
||||
* [Filter](#filter)
|
||||
* [Match](#match)
|
||||
* [Plugin Installation](#plugin-installation)
|
||||
* [Requirements](#requirements)
|
||||
1. [Limitations - OS compatibility, etc.](#limitations)
|
||||
1. [Development - Guide for contributing to the module](#development)
|
||||
@ -112,6 +113,24 @@ include '::fluentd'
|
||||
</match>
|
||||
```
|
||||
|
||||
### Plugin Installation
|
||||
|
||||
This module gives you the possibility to install plugins as gem or files.
|
||||
|
||||
**gem installation**
|
||||
```puppet
|
||||
::fluentd::plugin { 'fluent-plugin-elasticsearch':
|
||||
type => 'gem'
|
||||
}
|
||||
```
|
||||
**file installation**
|
||||
```puppet
|
||||
::fluentd::plugin { 'fluent-plugin-elasticsearch':
|
||||
type => 'file',
|
||||
source => 'puppet:///path/to/plugin'
|
||||
}
|
||||
```
|
||||
|
||||
### Requirements
|
||||
|
||||
Modules:
|
||||
|
33
manifests/plugin.pp
Normal file
33
manifests/plugin.pp
Normal file
@ -0,0 +1,33 @@
|
||||
# Install fluentd plugins
|
||||
#
|
||||
define fluentd::plugin (
|
||||
$ensure = present,
|
||||
$type = 'gem',
|
||||
$source = undef,
|
||||
) {
|
||||
|
||||
# parameter validation
|
||||
if ! ($ensure in [ 'present', 'absent' ]) {
|
||||
fail('ensure parameter must be present or absent')
|
||||
}
|
||||
|
||||
case $type {
|
||||
'gem': {
|
||||
fluentd::plugin::gem { $name:
|
||||
ensure => $ensure,
|
||||
require => Class['Fluentd::Install']
|
||||
}
|
||||
}
|
||||
'file': {
|
||||
validate_string($source)
|
||||
|
||||
fluentd::plugin::file { $name:
|
||||
ensure => $ensure,
|
||||
require => Class['Fluentd::Install']
|
||||
}
|
||||
}
|
||||
default: {
|
||||
fail("plugin type: '${type}' is currently not supported, use gem or file")
|
||||
}
|
||||
}
|
||||
}
|
20
manifests/plugin/file.pp
Normal file
20
manifests/plugin/file.pp
Normal file
@ -0,0 +1,20 @@
|
||||
# Install fluentd file plugins
|
||||
#
|
||||
define fluentd::plugin::file (
|
||||
$ensure = present,
|
||||
$source = undef,
|
||||
) {
|
||||
|
||||
if $caller_module_name != $module_name {
|
||||
fail("Use of private fluentd::plugin::file by ${caller_module_name}")
|
||||
}
|
||||
|
||||
file { "/etc/td-agent/plugin/${name}":
|
||||
ensure => $ensure,
|
||||
owner => 'td-agent',
|
||||
group => 'td-agent',
|
||||
mode => '0640',
|
||||
source => $source,
|
||||
notify => Class['Fluentd::Service'];
|
||||
}
|
||||
}
|
16
manifests/plugin/gem.pp
Normal file
16
manifests/plugin/gem.pp
Normal file
@ -0,0 +1,16 @@
|
||||
# Install fluentd gem plugins
|
||||
#
|
||||
define fluentd::plugin::gem (
|
||||
$ensure = present,
|
||||
) {
|
||||
|
||||
if $caller_module_name != $module_name {
|
||||
fail("Use of private fluentd::plugin::gem by ${caller_module_name}")
|
||||
}
|
||||
|
||||
package { $name:
|
||||
ensure => $ensure,
|
||||
provider => 'fluentd_gem',
|
||||
notify => Class['Fluentd::Service'];
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user