mirror of
https://github.com/krislamo/puppet-fluentd
synced 2025-09-13 08:59:29 +00:00
Compare commits
31 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
71352ea6b1 | ||
|
d7ab62a388 | ||
|
78f9c03952 | ||
|
ca55558b44 | ||
|
cd9813f574 | ||
|
d6231c3b13 | ||
|
fc0f3fdf88 | ||
|
613a28ccaf | ||
|
5f213da8b3 | ||
|
258a37ff11 | ||
|
c2f95f4bc9 | ||
|
257880811c | ||
|
6e97016aac | ||
|
b34c7dc4e4 | ||
|
d7f6d91a11 | ||
|
e8cdc9a9e0 | ||
|
b51a559684 | ||
|
754cd4a696 | ||
|
41a617c156 | ||
|
0c62c616f0 | ||
|
76d26e8216 | ||
|
780df1edae | ||
|
3e3de2aed9 | ||
|
5f84f04f0f | ||
|
ad17694713 | ||
|
f4da637999 | ||
|
533857e49c | ||
|
525fc9c5ab | ||
|
bfa6de193e | ||
|
5f3aca9597 | ||
|
ee3a8e968a |
@@ -1,4 +1,13 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
## 0.6.0
|
||||||
|
* Updated README
|
||||||
|
* fixed broken links, due to github organisation rename
|
||||||
|
* fixed indentation for config files (filter, match, source)
|
||||||
|
* use rspec-puppet-facts for unit testing
|
||||||
|
|
||||||
|
## 0.5.6
|
||||||
|
* Fixed `conf_dir_manage` parameter call
|
||||||
|
|
||||||
## 0.5.5
|
## 0.5.5
|
||||||
* Added `conf_dir_manage` parameter (Default: false)
|
* Added `conf_dir_manage` parameter (Default: false)
|
||||||
* Exclusively handle config files into fluentd::conf_dir. Other files not created by puppet, will be deleted
|
* Exclusively handle config files into fluentd::conf_dir. Other files not created by puppet, will be deleted
|
||||||
|
1
Gemfile
1
Gemfile
@@ -7,6 +7,7 @@ gem 'puppet-lint', '>= 1.0.0'
|
|||||||
gem 'facter', '>= 1.7.0'
|
gem 'facter', '>= 1.7.0'
|
||||||
gem 'beaker-puppet_install_helper'
|
gem 'beaker-puppet_install_helper'
|
||||||
gem 'metadata-json-lint'
|
gem 'metadata-json-lint'
|
||||||
|
gem 'rspec-puppet-facts', '~> 1.7'
|
||||||
|
|
||||||
beakerrspec = '> 0'
|
beakerrspec = '> 0'
|
||||||
platforms [:ruby_19, :ruby_21] do
|
platforms [:ruby_19, :ruby_21] do
|
||||||
|
2
LICENSE
2
LICENSE
@@ -186,7 +186,7 @@
|
|||||||
same "printed page" as the copyright notice for easier
|
same "printed page" as the copyright notice for easier
|
||||||
identification within third-party archives.
|
identification within third-party archives.
|
||||||
|
|
||||||
Copyright 2015 wywy GmbH
|
Copyright 2017 ATVAG GmbH
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
|
30
README.md
30
README.md
@@ -1,7 +1,7 @@
|
|||||||
# wywygmbh/fluentd Puppet Module
|
# wywy/fluentd Puppet Module
|
||||||
|
|
||||||
[](https://github.com/wywygmbh/puppet-fluentd)
|
[](https://github.com/wywy/puppet-fluentd)
|
||||||
[](https://travis-ci.org/wywygmbh/puppet-fluentd)
|
[](https://travis-ci.org/wywy/puppet-fluentd)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -84,6 +84,26 @@ include '::fluentd'
|
|||||||
Defines if the service should be enabled.
|
Defines if the service should be enabled.
|
||||||
**Default:** 'true'
|
**Default:** 'true'
|
||||||
|
|
||||||
|
`config_path`
|
||||||
|
|
||||||
|
Path to configuration files
|
||||||
|
**Default:** '/etc/td-agent'
|
||||||
|
|
||||||
|
`config_dir`
|
||||||
|
|
||||||
|
Configuration directory name
|
||||||
|
**Default:** '${config_path}/conf.d'
|
||||||
|
|
||||||
|
`config_file`
|
||||||
|
|
||||||
|
Default configuration file name
|
||||||
|
**Default:** '${config_path}/td-agent.conf'
|
||||||
|
|
||||||
|
`conf_dir_manage`
|
||||||
|
|
||||||
|
Exclusively handle config files into fluentd::conf_dir. Other files not created by puppet, will be deleted
|
||||||
|
**Default:** 'false'
|
||||||
|
|
||||||
`user_manage`
|
`user_manage`
|
||||||
|
|
||||||
Defines if the user should be manage, which will add the user
|
Defines if the user should be manage, which will add the user
|
||||||
@@ -276,7 +296,7 @@ bundle exec rake beaker BEAKER_set=centos-70-x64
|
|||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
Copyright 2015 wywy GmbH
|
Copyright 2017 ATVAG GmbH
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
@@ -290,4 +310,4 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
See the License for the specific language governing permissions and
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
|
|
||||||
This Puppet module is being actively maintained by some fellow puppeteers at [wywy GmbH](http://wywy.com/).
|
This Puppet module is being actively maintained by some fellow puppeteers at [wywy](http://wywy.com/).
|
||||||
|
3
Rakefile
3
Rakefile
@@ -4,8 +4,9 @@ require 'puppet-lint/tasks/puppet-lint'
|
|||||||
PuppetLint.configuration.log_format = '%{path}:%{line}:%{check}:%{KIND}:%{message}'
|
PuppetLint.configuration.log_format = '%{path}:%{line}:%{check}:%{KIND}:%{message}'
|
||||||
PuppetLint.configuration.fail_on_warnings = true
|
PuppetLint.configuration.fail_on_warnings = true
|
||||||
PuppetLint.configuration.send('relative')
|
PuppetLint.configuration.send('relative')
|
||||||
PuppetLint.configuration.send('disable_140chars')
|
PuppetLint.configuration.send('disable_80chars')
|
||||||
PuppetLint.configuration.send('disable_class_inherits_from_params_class')
|
PuppetLint.configuration.send('disable_class_inherits_from_params_class')
|
||||||
|
PuppetLint.configuration.send('disable_class_parameter_defaults')
|
||||||
PuppetLint.configuration.send('disable_documentation')
|
PuppetLint.configuration.send('disable_documentation')
|
||||||
PuppetLint.configuration.send('disable_single_quote_string_with_variables')
|
PuppetLint.configuration.send('disable_single_quote_string_with_variables')
|
||||||
|
|
||||||
|
@@ -12,8 +12,8 @@ class fluentd::config inherits fluentd {
|
|||||||
|
|
||||||
file { $::fluentd::conf_dir:
|
file { $::fluentd::conf_dir:
|
||||||
ensure => 'directory',
|
ensure => 'directory',
|
||||||
recurse => $::fluentd::params::conf_dir_manage,
|
recurse => $::fluentd::conf_dir_manage,
|
||||||
purge => $::fluentd::params::conf_dir_manage,
|
purge => $::fluentd::conf_dir_manage,
|
||||||
owner => $::fluentd::user_name,
|
owner => $::fluentd::user_name,
|
||||||
group => $::fluentd::user_group,
|
group => $::fluentd::user_group,
|
||||||
mode => '0750',
|
mode => '0750',
|
||||||
|
@@ -35,7 +35,7 @@
|
|||||||
# Copyright
|
# Copyright
|
||||||
# ---------
|
# ---------
|
||||||
#
|
#
|
||||||
# Copyright 2015 wywy GmbH, unless otherwise noted.
|
# Copyright 2015 wywy, unless otherwise noted.
|
||||||
#
|
#
|
||||||
define fluentd::filter (
|
define fluentd::filter (
|
||||||
$ensure = present,
|
$ensure = present,
|
||||||
|
@@ -8,9 +8,6 @@
|
|||||||
# [*repo_manage*]
|
# [*repo_manage*]
|
||||||
# Include repository to install recent fluentd (td-agent) from
|
# Include repository to install recent fluentd (td-agent) from
|
||||||
# Default: 'true'
|
# Default: 'true'
|
||||||
# [*conf_dir_manage*]
|
|
||||||
# Exclusively handle config files into fluentd::conf_dir. Other files not created by puppet, will be deleted
|
|
||||||
# Default: 'false'
|
|
||||||
# [*package_ensure*]
|
# [*package_ensure*]
|
||||||
# Package ensure
|
# Package ensure
|
||||||
# Default: 'installed'
|
# Default: 'installed'
|
||||||
@@ -32,6 +29,18 @@
|
|||||||
# [*service_enable*]
|
# [*service_enable*]
|
||||||
# Defines if the service should be enabled
|
# Defines if the service should be enabled
|
||||||
# Default: 'true'
|
# Default: 'true'
|
||||||
|
# [*config_path*]
|
||||||
|
# Path to configuration files
|
||||||
|
# Default: '/etc/td-agent'
|
||||||
|
# [*config_dir*]
|
||||||
|
# Configuration directory name
|
||||||
|
# Default: '${config_path}/conf.d'
|
||||||
|
# [*config_file*]
|
||||||
|
# Default configuration file name
|
||||||
|
# Default: '${config_path}/td-agent.conf'
|
||||||
|
# [*conf_dir_manage*]
|
||||||
|
# Exclusively handle config files into fluentd::conf_dir. Other files not created by puppet, will be deleted
|
||||||
|
# Default: 'false'
|
||||||
# [*user_manage*]
|
# [*user_manage*]
|
||||||
# Defines if the user should be manage, which will add the user
|
# Defines if the user should be manage, which will add the user
|
||||||
# to groups defined in $user_groups.
|
# to groups defined in $user_groups.
|
||||||
@@ -53,7 +62,7 @@
|
|||||||
# Copyright
|
# Copyright
|
||||||
# ---------
|
# ---------
|
||||||
#
|
#
|
||||||
# Copyright 2015 wywy GmbH, unless otherwise noted.
|
# Copyright 2015 wywy, unless otherwise noted.
|
||||||
#
|
#
|
||||||
class fluentd (
|
class fluentd (
|
||||||
$repo_manage = $::fluentd::params::repo_manage,
|
$repo_manage = $::fluentd::params::repo_manage,
|
||||||
@@ -66,8 +75,8 @@ class fluentd (
|
|||||||
$service_enable = $::fluentd::params::service_enable,
|
$service_enable = $::fluentd::params::service_enable,
|
||||||
$config_path = $::fluentd::params::config_path,
|
$config_path = $::fluentd::params::config_path,
|
||||||
$conf_dir = $::fluentd::params::conf_dir,
|
$conf_dir = $::fluentd::params::conf_dir,
|
||||||
$conf_dir_manage = $::fluentd::params::conf_dir_manage,
|
|
||||||
$config_file = $::fluentd::params::config_file,
|
$config_file = $::fluentd::params::config_file,
|
||||||
|
$conf_dir_manage = $::fluentd::params::conf_dir_manage,
|
||||||
$user_manage = $::fluentd::params::user_manage,
|
$user_manage = $::fluentd::params::user_manage,
|
||||||
$user_name = $::fluentd::params::user_name,
|
$user_name = $::fluentd::params::user_name,
|
||||||
$user_group = $::fluentd::params::user_group,
|
$user_group = $::fluentd::params::user_group,
|
||||||
|
@@ -40,7 +40,7 @@
|
|||||||
# Copyright
|
# Copyright
|
||||||
# ---------
|
# ---------
|
||||||
#
|
#
|
||||||
# Copyright 2015 wywy GmbH, unless otherwise noted.
|
# Copyright 2015 wywy, unless otherwise noted.
|
||||||
#
|
#
|
||||||
define fluentd::match (
|
define fluentd::match (
|
||||||
$ensure = present,
|
$ensure = present,
|
||||||
|
@@ -23,7 +23,7 @@
|
|||||||
# Copyright
|
# Copyright
|
||||||
# ---------
|
# ---------
|
||||||
#
|
#
|
||||||
# Copyright 2015 wywy GmbH, unless otherwise noted.
|
# Copyright 2015 wywy, unless otherwise noted.
|
||||||
#
|
#
|
||||||
define fluentd::plugin (
|
define fluentd::plugin (
|
||||||
$ensure = present,
|
$ensure = present,
|
||||||
|
@@ -31,7 +31,7 @@
|
|||||||
# Copyright
|
# Copyright
|
||||||
# ---------
|
# ---------
|
||||||
#
|
#
|
||||||
# Copyright 2015 wywy GmbH, unless otherwise noted.
|
# Copyright 2015 wywy, unless otherwise noted.
|
||||||
#
|
#
|
||||||
define fluentd::source (
|
define fluentd::source (
|
||||||
$ensure = present,
|
$ensure = present,
|
||||||
|
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "wywygmbh-fluentd",
|
"name": "wywygmbh-fluentd",
|
||||||
"version": "0.5.5",
|
"version": "0.6.0",
|
||||||
"author": "wywy GmbH",
|
"author": "wywy",
|
||||||
"summary": "Generic module for fluentd (td-agent).",
|
"summary": "Generic module for fluentd (td-agent).",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"source": "https://github.com/wywygmbh/puppet-fluentd",
|
"source": "https://github.com/wywy/puppet-fluentd",
|
||||||
"project_page": "https://github.com/wywygmbh/puppet-fluentd",
|
"project_page": "https://github.com/wywy/puppet-fluentd",
|
||||||
"issues_url": "https://github.com/wywygmbh/puppet-fluentd/issues",
|
"issues_url": "https://github.com/wywy/puppet-fluentd/issues",
|
||||||
"tags": ["fluentd", "td-agent"],
|
"tags": ["fluentd", "td-agent"],
|
||||||
"operatingsystem_support": [
|
"operatingsystem_support": [
|
||||||
{
|
{
|
||||||
|
@@ -1,46 +1,31 @@
|
|||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe 'fluentd::config', :type => :class do
|
describe 'fluentd::config', :type => :class do
|
||||||
shared_examples 'when called with no parameters' do
|
on_supported_os.each do |os, facts|
|
||||||
it {
|
context "on #{os}" do
|
||||||
should contain_file('/etc/td-agent/td-agent.conf').with({
|
let :facts do
|
||||||
'ensure' => 'file',
|
facts
|
||||||
'owner' => 'root',
|
end
|
||||||
'group' => 'root',
|
|
||||||
'source' => 'puppet:///modules/fluentd/td-agent.conf',
|
|
||||||
'notify' => 'Class[Fluentd::Service]'
|
|
||||||
})
|
|
||||||
|
|
||||||
should contain_file('/etc/td-agent/conf.d').with({
|
describe 'when called with no parameters' do
|
||||||
'ensure' => 'directory',
|
|
||||||
'owner' => 'td-agent',
|
|
||||||
'group' => 'td-agent',
|
|
||||||
'mode' => '0750'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when osfamily is Debian' do
|
it {
|
||||||
let(:facts) {
|
should contain_file('/etc/td-agent/td-agent.conf').with({
|
||||||
{
|
'ensure' => 'file',
|
||||||
:osfamily => 'Debian',
|
'owner' => 'root',
|
||||||
:lsbdistid => 'Ubuntu',
|
'group' => 'root',
|
||||||
:operatingsystem => 'Ubuntu',
|
'source' => 'puppet:///modules/fluentd/td-agent.conf',
|
||||||
:lsbdistcodename => 'precise',
|
'notify' => 'Class[Fluentd::Service]'
|
||||||
:architecture => 'amd64',
|
})
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
include_examples 'when called with no parameters'
|
should contain_file('/etc/td-agent/conf.d').with({
|
||||||
end
|
'ensure' => 'directory',
|
||||||
|
'owner' => 'td-agent',
|
||||||
context 'when osfamily is RedHat' do
|
'group' => 'td-agent',
|
||||||
let(:facts) {
|
'mode' => '0750'
|
||||||
{
|
})
|
||||||
:osfamily => 'RedHat',
|
}
|
||||||
}
|
end
|
||||||
}
|
end
|
||||||
|
|
||||||
include_examples 'when called with no parameters'
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@@ -1,38 +1,21 @@
|
|||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe 'fluentd::install', :type => :class do
|
describe 'fluentd::install', :type => :class do
|
||||||
|
on_supported_os.each do |os, facts|
|
||||||
|
context "on #{os}" do
|
||||||
|
let :facts do
|
||||||
|
facts
|
||||||
|
end
|
||||||
|
|
||||||
shared_examples 'when called with no parameters' do
|
describe 'when called with no parameters' do
|
||||||
it {
|
it {
|
||||||
should contain_package('fluentd').with({
|
should contain_package('fluentd').with({
|
||||||
'ensure' => 'installed',
|
'ensure' => 'installed',
|
||||||
'name' => 'td-agent',
|
'name' => 'td-agent',
|
||||||
'install_options' => []
|
'install_options' => []
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when osfamily is Debian' do
|
|
||||||
let(:facts) {
|
|
||||||
{
|
|
||||||
:osfamily => 'Debian',
|
|
||||||
:lsbdistid => 'Ubuntu',
|
|
||||||
:operatingsystem => 'Ubuntu',
|
|
||||||
:lsbdistcodename => 'precise',
|
|
||||||
:architecture => 'amd64',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
include_examples 'when called with no parameters'
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when osfamily is RedHat' do
|
|
||||||
let(:facts) {
|
|
||||||
{
|
|
||||||
:osfamily => 'RedHat',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
include_examples 'when called with no parameters'
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
@@ -1,34 +1,81 @@
|
|||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe 'fluentd::repo::apt', :type => :class do
|
describe 'fluentd::repo::apt', :type => :class do
|
||||||
let(:facts) {
|
on_supported_os.each do |os, facts|
|
||||||
{
|
context "on #{os}" do
|
||||||
:osfamily => 'Debian',
|
let :facts do
|
||||||
:lsbdistid => 'Ubuntu',
|
facts
|
||||||
:operatingsystem => 'Ubuntu',
|
end
|
||||||
:lsbdistcodename => 'precise',
|
|
||||||
:architecture => 'amd64',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
describe 'when called with no parameters on Ubuntu' do
|
case facts[:osfamily]
|
||||||
it {
|
when 'Debian'
|
||||||
should contain_class('apt')
|
it {
|
||||||
should contain_apt__source('treasure-data').with({
|
should contain_class('apt')
|
||||||
'ensure' => 'present',
|
should contain_apt__source('treasure-data').with({
|
||||||
'location' => 'http://packages.treasuredata.com/2/ubuntu/precise',
|
'ensure' => 'present',
|
||||||
'release' => 'precise',
|
'repos' => 'contrib',
|
||||||
'repos' => 'contrib',
|
'architecture' => 'amd64',
|
||||||
'architecture' => 'amd64',
|
'key' => {
|
||||||
'key' => {
|
'id' => 'BEE682289B2217F45AF4CC3F901F9177AB97ACBE',
|
||||||
'id' => 'BEE682289B2217F45AF4CC3F901F9177AB97ACBE',
|
'source' => 'http://packages.treasuredata.com/GPG-KEY-td-agent'
|
||||||
'source' => 'http://packages.treasuredata.com/GPG-KEY-td-agent'
|
},
|
||||||
},
|
'include' => {
|
||||||
'include' => {
|
'src' => false,
|
||||||
'src' => false,
|
'deb' => true
|
||||||
'deb' => true
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
})
|
case facts[:operatingsystem]
|
||||||
}
|
when 'Ubuntu'
|
||||||
|
case facts[:lsbdistcodename]
|
||||||
|
when 'precise'
|
||||||
|
it {
|
||||||
|
should contain_apt__source('treasure-data').with({
|
||||||
|
'location' => 'http://packages.treasuredata.com/2/ubuntu/precise',
|
||||||
|
'release' => 'precise'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
when 'trusty'
|
||||||
|
it {
|
||||||
|
should contain_apt__source('treasure-data').with({
|
||||||
|
'location' => 'http://packages.treasuredata.com/2/ubuntu/trusty',
|
||||||
|
'release' => 'trusty'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
when 'xenial'
|
||||||
|
it {
|
||||||
|
should contain_apt__source('treasure-data').with({
|
||||||
|
'location' => 'http://packages.treasuredata.com/2/ubuntu/xenial',
|
||||||
|
'release' => 'xenial'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
end
|
||||||
|
when 'Debian'
|
||||||
|
case facts[:lsbdistcodename]
|
||||||
|
when 'jessie'
|
||||||
|
it {
|
||||||
|
should contain_apt__source('treasure-data').with({
|
||||||
|
'location' => 'http://packages.treasuredata.com/2/debian/jessie',
|
||||||
|
'release' => 'jessie'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
when 'squeeze'
|
||||||
|
it {
|
||||||
|
should contain_apt__source('treasure-data').with({
|
||||||
|
'location' => 'http://packages.treasuredata.com/2/debian/squeeze',
|
||||||
|
'release' => 'squeeze'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
when 'wheezy'
|
||||||
|
it {
|
||||||
|
should contain_apt__source('treasure-data').with({
|
||||||
|
'location' => 'http://packages.treasuredata.com/2/debian/wheezy',
|
||||||
|
'release' => 'wheezy'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@@ -1,30 +1,21 @@
|
|||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe 'fluentd::repo', :type => :class do
|
describe 'fluentd::repo', :type => :class do
|
||||||
|
on_supported_os.each do |os, facts|
|
||||||
|
context "on #{os}" do
|
||||||
|
let :facts do
|
||||||
|
facts
|
||||||
|
end
|
||||||
|
|
||||||
context 'when called with no parameters on osfamily Debian' do
|
describe 'when called with no parameters' do
|
||||||
let(:facts) {
|
case facts[:osfamily]
|
||||||
{
|
when 'Debian'
|
||||||
:osfamily => 'Debian',
|
it { is_expected.to contain_class('fluentd::repo::apt') }
|
||||||
:lsbdistid => 'Ubuntu',
|
when 'RedHat'
|
||||||
:operatingsystem => 'Ubuntu',
|
it { is_expected.to contain_class('fluentd::repo::yum') }
|
||||||
:lsbdistcodename => 'precise',
|
end
|
||||||
:architecture => 'amd64',
|
end
|
||||||
}
|
end
|
||||||
}
|
|
||||||
it {
|
|
||||||
should contain_class('fluentd::repo::apt')
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when called with no parameters on osfamily RedHat' do
|
|
||||||
let(:facts) {
|
|
||||||
{
|
|
||||||
:osfamily => 'RedHat',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
it {
|
|
||||||
should contain_class('fluentd::repo::yum')
|
|
||||||
}
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@@ -1,27 +1,32 @@
|
|||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe 'fluentd::repo::yum', :type => :class do
|
describe 'fluentd::repo::yum', :type => :class do
|
||||||
let(:facts) {
|
on_supported_os.each do |os, facts|
|
||||||
{
|
context "on #{os}" do
|
||||||
:osfamily => 'RedHat',
|
let :facts do
|
||||||
}
|
facts
|
||||||
}
|
end
|
||||||
|
|
||||||
describe 'when called with no parameters on RedHat' do
|
describe 'when called with no parameters' do
|
||||||
it {
|
case facts[:osfamily]
|
||||||
should contain_yumrepo('treasure-data').with({
|
when 'RedHat'
|
||||||
'ensure' => 'present',
|
it {
|
||||||
'baseurl' => 'https://packages.treasuredata.com/2/redhat/$releasever/$basearch',
|
should contain_yumrepo('treasure-data').with({
|
||||||
'descr' => 'TreasureData',
|
'ensure' => 'present',
|
||||||
'enabled' => '1',
|
'baseurl' => 'https://packages.treasuredata.com/2/redhat/$releasever/$basearch',
|
||||||
'gpgcheck' => '1'
|
'descr' => 'TreasureData',
|
||||||
}).that_notifies('Exec[add GPG key]')
|
'enabled' => '1',
|
||||||
|
'gpgcheck' => '1'
|
||||||
|
}).that_notifies('Exec[add GPG key]')
|
||||||
|
|
||||||
should contain_exec('add GPG key').with({
|
should contain_exec('add GPG key').with({
|
||||||
'command' => 'rpm --import https://packages.treasuredata.com/GPG-KEY-td-agent',
|
'command' => 'rpm --import https://packages.treasuredata.com/GPG-KEY-td-agent',
|
||||||
'path' => '/bin:/usr/bin/',
|
'path' => '/bin:/usr/bin/',
|
||||||
'refreshonly' => 'true'
|
'refreshonly' => 'true'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@@ -1,39 +1,23 @@
|
|||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe 'fluentd::config', :type => :class do
|
describe 'fluentd::config', :type => :class do
|
||||||
shared_examples 'when called with no parameters' do
|
on_supported_os.each do |os, facts|
|
||||||
it {
|
context "on #{os}" do
|
||||||
should contain_service('fluentd').with({
|
let :facts do
|
||||||
'name' => 'td-agent',
|
facts
|
||||||
'ensure' => 'running',
|
end
|
||||||
'enable' => 'true',
|
|
||||||
'hasstatus' => 'true',
|
|
||||||
'hasrestart' => 'true'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when osfamily is Debian' do
|
describe 'when called with no parameters' do
|
||||||
let(:facts) {
|
it {
|
||||||
{
|
should contain_service('fluentd').with({
|
||||||
:osfamily => 'Debian',
|
'name' => 'td-agent',
|
||||||
:lsbdistid => 'Ubuntu',
|
'ensure' => 'running',
|
||||||
:operatingsystem => 'Ubuntu',
|
'enable' => 'true',
|
||||||
:lsbdistcodename => 'precise',
|
'hasstatus' => 'true',
|
||||||
:architecture => 'amd64',
|
'hasrestart' => 'true'
|
||||||
}
|
})
|
||||||
}
|
}
|
||||||
|
end
|
||||||
include_examples 'when called with no parameters'
|
end
|
||||||
end
|
|
||||||
|
|
||||||
context 'when osfamily is RedHat' do
|
|
||||||
let(:facts) {
|
|
||||||
{
|
|
||||||
:osfamily => 'RedHat',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
include_examples 'when called with no parameters'
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@@ -1,37 +1,20 @@
|
|||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe 'fluentd', :type => :class do
|
describe 'fluentd', :type => :class do
|
||||||
shared_examples 'when called with no parameters' do
|
on_supported_os.each do |os, facts|
|
||||||
it {
|
context "on #{os}" do
|
||||||
should contain_class('fluentd::repo')
|
let :facts do
|
||||||
should contain_class('fluentd::install')
|
facts
|
||||||
should contain_class('fluentd::config')
|
end
|
||||||
should contain_class('fluentd::service')
|
|
||||||
}
|
describe 'when called with no parameters' do
|
||||||
|
it {
|
||||||
|
should contain_class('fluentd::repo')
|
||||||
|
should contain_class('fluentd::install')
|
||||||
|
should contain_class('fluentd::config')
|
||||||
|
should contain_class('fluentd::service')
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when osfamily is Debian' do
|
|
||||||
let(:facts) {
|
|
||||||
{
|
|
||||||
:osfamily => 'Debian',
|
|
||||||
:lsbdistid => 'Ubuntu',
|
|
||||||
:operatingsystem => 'Ubuntu',
|
|
||||||
:lsbdistcodename => 'precise',
|
|
||||||
:architecture => 'amd64',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
include_examples 'when called with no parameters'
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when osfamily is RedHat' do
|
|
||||||
let(:facts) {
|
|
||||||
{
|
|
||||||
:osfamily => 'RedHat',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
include_examples 'when called with no parameters'
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
@@ -1,37 +1,21 @@
|
|||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe 'fluentd::user', :type => :class do
|
describe 'fluentd::user', :type => :class do
|
||||||
shared_examples 'when called with no parameters' do
|
on_supported_os.each do |os, facts|
|
||||||
it {
|
context "on #{os}" do
|
||||||
should contain_user('fluentd').with({
|
let :facts do
|
||||||
'name' => 'td-agent',
|
facts
|
||||||
'gid' => 'td-agent',
|
end
|
||||||
'groups' => ['adm']
|
|
||||||
})
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when osfamily is Debian' do
|
describe 'when called with no parameters' do
|
||||||
let(:facts) {
|
it {
|
||||||
{
|
should contain_user('fluentd').with({
|
||||||
:osfamily => 'Debian',
|
'name' => 'td-agent',
|
||||||
:lsbdistid => 'Ubuntu',
|
'gid' => 'td-agent',
|
||||||
:operatingsystem => 'Ubuntu',
|
'groups' => ['adm']
|
||||||
:lsbdistcodename => 'precise',
|
})
|
||||||
:architecture => 'amd64',
|
}
|
||||||
}
|
end
|
||||||
}
|
end
|
||||||
|
|
||||||
include_examples 'when called with no parameters'
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when osfamily is RedHat' do
|
|
||||||
let(:facts) {
|
|
||||||
{
|
|
||||||
:osfamily => 'RedHat',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
include_examples 'when called with no parameters'
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@@ -1,40 +1,34 @@
|
|||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe 'fluentd::filter' do
|
describe 'fluentd::filter' do
|
||||||
let(:facts) {
|
on_supported_os.each do |os, facts|
|
||||||
{
|
context "on #{os}" do
|
||||||
:osfamily => 'Debian',
|
let :facts do
|
||||||
:lsbdistid => 'Ubuntu',
|
facts
|
||||||
:operatingsystem => 'Ubuntu',
|
end
|
||||||
:lsbdistcodename => 'precise',
|
|
||||||
:architecture => 'amd64',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
let(:pre_condition) { 'include fluentd' }
|
|
||||||
|
|
||||||
context 'basic filter' do
|
let(:pre_condition) { 'include fluentd' }
|
||||||
let(:title) { 'test' }
|
|
||||||
let(:params) do
|
describe 'basic filter' do
|
||||||
{
|
let(:title) { 'test' }
|
||||||
priority: '20',
|
let(:params) do
|
||||||
pattern: '*.test',
|
{
|
||||||
config: {
|
priority: '20',
|
||||||
|
pattern: '*.test',
|
||||||
|
config: {
|
||||||
'type' => 'record_transformer',
|
'type' => 'record_transformer',
|
||||||
'record' => {
|
'record' => {
|
||||||
'hostname' => '${hostname}'
|
'hostname' => '${hostname}'
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
end
|
||||||
end
|
|
||||||
|
|
||||||
it do
|
it do
|
||||||
is_expected.to contain_file('/etc/td-agent/conf.d/20-filter-test.conf').
|
is_expected.to contain_file('/etc/td-agent/conf.d/20-filter-test.conf').
|
||||||
with_content(/<filter \*.test>/).
|
with_content(IO.read(File.join(File.dirname(__FILE__), '../fixtures/files/filter_record_transformer.conf')))
|
||||||
with_content(/type record_transformer/).
|
end
|
||||||
with_content(/<record>/).
|
end
|
||||||
with_content(/hostname \$\{hostname\}/).
|
|
||||||
with_content(/<\/record>/).
|
|
||||||
with_content(/<\/filter>/)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
@@ -1,94 +1,71 @@
|
|||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe 'fluentd::match' do
|
describe 'fluentd::match' do
|
||||||
let(:facts) {
|
on_supported_os.each do |os, facts|
|
||||||
{
|
context "on #{os}" do
|
||||||
:osfamily => 'Debian',
|
let :facts do
|
||||||
:lsbdistid => 'Ubuntu',
|
facts
|
||||||
:operatingsystem => 'Ubuntu',
|
end
|
||||||
:lsbdistcodename => 'precise',
|
|
||||||
:architecture => 'amd64',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
let(:pre_condition) { 'include fluentd' }
|
|
||||||
|
|
||||||
context 'basic match' do
|
let(:pre_condition) { 'include fluentd' }
|
||||||
let(:title) { 'test' }
|
|
||||||
let(:params) do
|
describe 'basic match' do
|
||||||
{
|
let(:title) { 'test' }
|
||||||
priority: '30',
|
let(:params) do
|
||||||
pattern: '*.test',
|
{
|
||||||
config: {
|
priority: '30',
|
||||||
'flush_interval' => '30s',
|
pattern: '*.test',
|
||||||
'type' => 'secure_forward',
|
config: {
|
||||||
'secure' => 'yes',
|
'flush_interval' => '30s',
|
||||||
'shared_key' => 'my_shared_key',
|
'type' => 'secure_forward',
|
||||||
'self_hostname' => 'instance.test.com',
|
'secure' => 'yes',
|
||||||
'ca_cert_path' => '/path/to/ca.cert',
|
'shared_key' => 'my_shared_key',
|
||||||
'server' => [
|
'self_hostname' => 'instance.test.com',
|
||||||
{
|
'ca_cert_path' => '/path/to/ca.cert',
|
||||||
'host' => 'test.server.com',
|
'server' => [
|
||||||
}
|
{
|
||||||
]
|
'host' => 'test.server.com',
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
end
|
||||||
end
|
|
||||||
|
|
||||||
it do
|
it do
|
||||||
is_expected.to contain_file('/etc/td-agent/conf.d/30-match-test.conf').
|
is_expected.to contain_file('/etc/td-agent/conf.d/30-match-test.conf').
|
||||||
with_content(/<match \*.test>/).
|
with_content(IO.read(File.join(File.dirname(__FILE__), '../fixtures/files/match_secure_forward.conf')))
|
||||||
with_content(/flush_interval 30s/).
|
end
|
||||||
with_content(/type secure_forward/).
|
end
|
||||||
with_content(/secure yes/).
|
|
||||||
with_content(/shared_key my_shared_key/).
|
|
||||||
with_content(/self_hostname instance.test.com/).
|
|
||||||
with_content(/ca_cert_path \/path\/to\/ca.cert/).
|
|
||||||
with_content(/<server>/).
|
|
||||||
with_content(/host test.server.com/).
|
|
||||||
with_content(/<\/server>/).
|
|
||||||
with_content(/<\/match>/)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'multiple store' do
|
describe 'multiple store' do
|
||||||
let(:title) { 'test' }
|
let(:title) { 'test' }
|
||||||
let(:params) do
|
let(:params) do
|
||||||
{
|
{
|
||||||
priority: '30',
|
priority: '30',
|
||||||
pattern: '*.test',
|
pattern: '*.test',
|
||||||
config: {
|
config: {
|
||||||
'type' => 'copy',
|
'type' => 'copy',
|
||||||
'store' => [
|
'store' => [
|
||||||
{
|
{
|
||||||
'type' => 'elasticsearch',
|
'type' => 'elasticsearch',
|
||||||
'logstashformat' => true,
|
'logstashformat' => true,
|
||||||
'hosts' => '172.20.10.17:9200',
|
'hosts' => '172.20.10.17:9200',
|
||||||
'flush_interval' => '30s',
|
'flush_interval' => '30s',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'type' => 'file',
|
'type' => 'file',
|
||||||
'path' => '/tmp/td-agent-debug.log',
|
'path' => '/tmp/td-agent-debug.log',
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
end
|
||||||
end
|
|
||||||
|
|
||||||
it do
|
it do
|
||||||
is_expected.to contain_file('/etc/td-agent/conf.d/30-match-test.conf').
|
is_expected.to contain_file('/etc/td-agent/conf.d/30-match-test.conf').
|
||||||
with_content(/<match \*.test>/).
|
with_content(IO.read(File.join(File.dirname(__FILE__), '../fixtures/files/match_copy.conf')))
|
||||||
with_content(/type copy/).
|
end
|
||||||
with_content(/<store>/).
|
end
|
||||||
with_content(/type elasticsearch/).
|
|
||||||
with_content(/logstashformat true/).
|
|
||||||
with_content(/hosts 172.20.10.17:9200/).
|
|
||||||
with_content(/flush_interval 30s/).
|
|
||||||
with_content(/<\/store>/).
|
|
||||||
with_content(/<store>/).
|
|
||||||
with_content(/type file/).
|
|
||||||
with_content(/path \/tmp\/td-agent-debug.log/).
|
|
||||||
with_content(/<\/store>/).
|
|
||||||
with_content(/<\/match>/)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@@ -1,52 +1,51 @@
|
|||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe 'fluentd::plugin' do
|
describe 'fluentd::plugin' do
|
||||||
let(:facts) {
|
on_supported_os.each do |os, facts|
|
||||||
{
|
context "on #{os}" do
|
||||||
:osfamily => 'Debian',
|
let :facts do
|
||||||
:lsbdistid => 'Ubuntu',
|
facts
|
||||||
:operatingsystem => 'Ubuntu',
|
end
|
||||||
:lsbdistcodename => 'precise',
|
|
||||||
:architecture => 'amd64',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
let(:pre_condition) { 'include fluentd' }
|
|
||||||
|
|
||||||
context 'gem plugin' do
|
let(:pre_condition) { 'include fluentd' }
|
||||||
let(:title) { 'fluent-plugin-elasticsearch' }
|
|
||||||
let(:params) do
|
|
||||||
{
|
|
||||||
type: 'gem'
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
it do
|
describe 'gem plugin' do
|
||||||
should contain_package('fluent-plugin-elasticsearch').with({
|
let(:title) { 'fluent-plugin-elasticsearch' }
|
||||||
'ensure' => 'present',
|
let(:params) do
|
||||||
'provider' => 'fluentd_gem',
|
{
|
||||||
'notify' => 'Class[Fluentd::Service]'
|
type: 'gem'
|
||||||
})
|
}
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
context 'file plugin' do
|
it do
|
||||||
let(:title) { 'fluent-plugin-test' }
|
should contain_package('fluent-plugin-elasticsearch').with({
|
||||||
let(:params) do
|
'ensure' => 'present',
|
||||||
{
|
'provider' => 'fluentd_gem',
|
||||||
type: 'file',
|
'notify' => 'Class[Fluentd::Service]'
|
||||||
source: 'puppet:///path/to/source'
|
})
|
||||||
}
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
it do
|
describe 'file plugin' do
|
||||||
should contain_file('/etc/td-agent/plugin/fluent-plugin-test').with({
|
let(:title) { 'fluent-plugin-test' }
|
||||||
'ensure' => 'present',
|
let(:params) do
|
||||||
'owner' => 'td-agent',
|
{
|
||||||
'group' => 'td-agent',
|
type: 'file',
|
||||||
'mode' => '0640',
|
source: 'puppet:///path/to/source'
|
||||||
'source' => 'puppet:///path/to/source',
|
}
|
||||||
'notify' => 'Class[Fluentd::Service]'
|
end
|
||||||
})
|
|
||||||
|
it do
|
||||||
|
should contain_file('/etc/td-agent/plugin/fluent-plugin-test').with({
|
||||||
|
'ensure' => 'present',
|
||||||
|
'owner' => 'td-agent',
|
||||||
|
'group' => 'td-agent',
|
||||||
|
'mode' => '0640',
|
||||||
|
'source' => 'puppet:///path/to/source',
|
||||||
|
'notify' => 'Class[Fluentd::Service]'
|
||||||
|
})
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
@@ -1,39 +1,33 @@
|
|||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe 'fluentd::source' do
|
describe 'fluentd::source' do
|
||||||
let(:facts) {
|
on_supported_os.each do |os, facts|
|
||||||
{
|
context "on #{os}" do
|
||||||
:osfamily => 'Debian',
|
let :facts do
|
||||||
:lsbdistid => 'Ubuntu',
|
facts
|
||||||
:operatingsystem => 'Ubuntu',
|
end
|
||||||
:lsbdistcodename => 'precise',
|
|
||||||
:architecture => 'amd64',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
let(:pre_condition) { 'include fluentd' }
|
|
||||||
|
|
||||||
context 'basic source' do
|
let(:pre_condition) { 'include fluentd' }
|
||||||
let(:title) { 'test' }
|
|
||||||
let(:params) do
|
describe 'basic source' do
|
||||||
{
|
let(:title) { 'test' }
|
||||||
priority: '10',
|
let(:params) do
|
||||||
config: {
|
{
|
||||||
'type' => 'tail',
|
priority: '10',
|
||||||
'format' => 'json',
|
config: {
|
||||||
'path' => '/var/log/test-application/*.json',
|
'type' => 'tail',
|
||||||
'tag' => 'application.test'
|
'format' => 'json',
|
||||||
|
'path' => '/var/log/test-application/*.json',
|
||||||
|
'tag' => 'application.test'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
end
|
||||||
end
|
|
||||||
|
|
||||||
it do
|
it do
|
||||||
is_expected.to contain_file('/etc/td-agent/conf.d/10-source-test.conf').
|
is_expected.to contain_file('/etc/td-agent/conf.d/10-source-test.conf').
|
||||||
with_content(/<source>/).
|
with_content(IO.read(File.join(File.dirname(__FILE__), '../fixtures/files/source_tail.conf')))
|
||||||
with_content(/type tail/).
|
end
|
||||||
with_content(/format json/).
|
end
|
||||||
with_content(/path \/var\/log\/test-application\/\*.json/).
|
|
||||||
with_content(/tag application.test/).
|
|
||||||
with_content(/<\/source>/)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
6
spec/fixtures/files/filter_record_transformer.conf
vendored
Normal file
6
spec/fixtures/files/filter_record_transformer.conf
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<filter *.test>
|
||||||
|
type record_transformer
|
||||||
|
<record>
|
||||||
|
hostname ${hostname}
|
||||||
|
</record>
|
||||||
|
</filter>
|
13
spec/fixtures/files/match_copy.conf
vendored
Normal file
13
spec/fixtures/files/match_copy.conf
vendored
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<match *.test>
|
||||||
|
type copy
|
||||||
|
<store>
|
||||||
|
type elasticsearch
|
||||||
|
logstashformat true
|
||||||
|
hosts 172.20.10.17:9200
|
||||||
|
flush_interval 30s
|
||||||
|
</store>
|
||||||
|
<store>
|
||||||
|
type file
|
||||||
|
path /tmp/td-agent-debug.log
|
||||||
|
</store>
|
||||||
|
</match>
|
11
spec/fixtures/files/match_secure_forward.conf
vendored
Normal file
11
spec/fixtures/files/match_secure_forward.conf
vendored
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<match *.test>
|
||||||
|
flush_interval 30s
|
||||||
|
type secure_forward
|
||||||
|
secure yes
|
||||||
|
shared_key my_shared_key
|
||||||
|
self_hostname instance.test.com
|
||||||
|
ca_cert_path /path/to/ca.cert
|
||||||
|
<server>
|
||||||
|
host test.server.com
|
||||||
|
</server>
|
||||||
|
</match>
|
6
spec/fixtures/files/source_tail.conf
vendored
Normal file
6
spec/fixtures/files/source_tail.conf
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<source>
|
||||||
|
type tail
|
||||||
|
format json
|
||||||
|
path /var/log/test-application/*.json
|
||||||
|
tag application.test
|
||||||
|
</source>
|
@@ -1 +1,3 @@
|
|||||||
require 'puppetlabs_spec_helper/module_spec_helper'
|
require 'puppetlabs_spec_helper/module_spec_helper'
|
||||||
|
require 'rspec-puppet-facts'
|
||||||
|
include RspecPuppetFacts
|
||||||
|
@@ -1,13 +1,13 @@
|
|||||||
<filter <%= @pattern %>>
|
<filter <%= @pattern %>>
|
||||||
<% @config.each do |key, val| -%>
|
<% @config.each do |key, val| -%>
|
||||||
<%- if val.is_a?( Hash ) -%>
|
<%- if val.is_a?( Hash ) -%>
|
||||||
<<%= key -%>>
|
<<%= key -%>>
|
||||||
<%- val.each do |key2, val2| -%>
|
<%- val.each do |key2, val2| -%>
|
||||||
<%= key2 -%> <%= val2 %>
|
<%= key2 -%> <%= val2 %>
|
||||||
<%- end -%>
|
<%- end -%>
|
||||||
</<%= key %>>
|
</<%= key %>>
|
||||||
<%- else -%>
|
<%- else -%>
|
||||||
<%= key -%> <%= val %>
|
<%= key -%> <%= val %>
|
||||||
<%- end -%>
|
<%- end -%>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
</filter>
|
</filter>
|
||||||
|
@@ -1,39 +1,39 @@
|
|||||||
<match <%= @pattern %>>
|
<match <%= @pattern %>>
|
||||||
<% @config.each do |key, val| -%>
|
<% @config.each do |key, val| -%>
|
||||||
<%- if val.is_a?( Hash ) -%>
|
<%- if val.is_a?( Hash ) -%>
|
||||||
<<%= key -%>>
|
<<%= key -%>>
|
||||||
<%- val.each do |key, val| -%>
|
<%- val.each do |key, val| -%>
|
||||||
<%= key -%> <%= val %>
|
<%= key -%> <%= val %>
|
||||||
<%- end -%>
|
<%- end -%>
|
||||||
</<%= key %>>
|
</<%= key %>>
|
||||||
<%- elsif val.is_a?( Array ) -%>
|
<%- elsif val.is_a?( Array ) -%>
|
||||||
<%- val.each do |k, v| -%>
|
<%- val.each do |k, v| -%>
|
||||||
<<%= key -%>>
|
<<%= key -%>>
|
||||||
<%- if k.is_a?( Hash ) -%>
|
<%- if k.is_a?( Hash ) -%>
|
||||||
<%- k.each do |x, y| -%>
|
<%- k.each do |x, y| -%>
|
||||||
<%- if y.is_a?( Array ) -%>
|
<%- if y.is_a?( Array ) -%>
|
||||||
<%- y.each do |a, b| -%>
|
<%- y.each do |a, b| -%>
|
||||||
<<%= x -%>>
|
<<%= x -%>>
|
||||||
<%- if a.is_a?( Hash ) -%>
|
<%- if a.is_a?( Hash ) -%>
|
||||||
<%- a.each do |c, d| -%>
|
<%- a.each do |c, d| -%>
|
||||||
<%= c -%> <%= d %>
|
<%= c -%> <%= d %>
|
||||||
<%- end -%>
|
<%- end -%>
|
||||||
<%- else -%>
|
<%- else -%>
|
||||||
<%= a -%> <%= b %>
|
<%= a -%> <%= b %>
|
||||||
<%- end -%>
|
<%- end -%>
|
||||||
</<%= x %>>
|
</<%= x %>>
|
||||||
<%- end -%>
|
|
||||||
<%- else -%>
|
|
||||||
<%= x -%> <%= y %>
|
|
||||||
<%- end -%>
|
|
||||||
<%- end -%>
|
|
||||||
<%- else -%>
|
|
||||||
<%= k -%> <%= v %>
|
|
||||||
<%- end -%>
|
|
||||||
</<%= key %>>
|
|
||||||
<%- end -%>
|
|
||||||
<%- else -%>
|
|
||||||
<%= key -%> <%= val %>
|
|
||||||
<%- end -%>
|
<%- end -%>
|
||||||
|
<%- else -%>
|
||||||
|
<%= x -%> <%= y %>
|
||||||
|
<%- end -%>
|
||||||
|
<%- end -%>
|
||||||
|
<%- else -%>
|
||||||
|
<%= k -%> <%= v %>
|
||||||
|
<%- end -%>
|
||||||
|
</<%= key %>>
|
||||||
|
<%- end -%>
|
||||||
|
<%- else -%>
|
||||||
|
<%= key -%> <%= val %>
|
||||||
|
<%- end -%>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
</match>
|
</match>
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
<source>
|
<source>
|
||||||
<% @config.each do |key, val| -%>
|
<% @config.each do |key, val| -%>
|
||||||
<%= key -%> <%= val %>
|
<%= key -%> <%= val %>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
</source>
|
</source>
|
||||||
|
Reference in New Issue
Block a user