1
0
mirror of https://github.com/krislamo/puppet-fluentd synced 2024-11-13 21:50:34 +00:00
puppet-fluentd/manifests/init.pp

106 lines
3.2 KiB
ObjectPascal
Raw Normal View History

2015-11-30 11:23:28 +00:00
# Class: fluentd
# ===========================
#
# Installs and configures Fluentd.
2015-11-30 11:23:28 +00:00
#
# Parameters
# ----------
2015-11-30 17:13:24 +00:00
# [*manage_repo*]
# Include repository to install recent fluentd (td-agent) from
# Default: 'true'
# [*package_ensure*]
# Package ensure
# Default: 'installed'
# [*package_name*]
# Package name
# Default: 'td-agent'
# [*package_install_options*]
# Package install options
# Default: '[]'
# [*service_manage*]
# Defines if the service should be managed by puppet
# Default: 'true'
# [*service_name*]
# Name of the service
# Default: 'td-agent'
# [*service_ensure*]
# Service ensure
# Default: 'running'
# [*service_enabled*]
# Defines if the service should be enabled
# Default: 'true'
# [*user_manage*]
# Defines if the user should be manage, which will add the user
# to groups defined in $user_groups.
# For example to be able to view the /var/log directory with group adm
# Default: 'true'
# [*user_name*]
# Default: 'td-agent'
# [*user_group*]
# Default: 'td-agent'
# [*user_groups*]
# Default: '["adm"]'
2015-11-30 11:23:28 +00:00
#
# Examples
# --------
#
# @example
2015-11-30 17:13:24 +00:00
# include '::fluentd'
2015-11-30 11:23:28 +00:00
#
# Copyright
# ---------
#
2015-11-30 17:13:24 +00:00
# Copyright 2015 wywy GmbH, unless otherwise noted.
2015-11-30 11:23:28 +00:00
#
class fluentd (
2015-11-30 16:04:14 +00:00
$manage_repo = $::fluentd::params::manage_repo,
$repo_gpgcheck = $::fluentd::params::repo_gpgcheck,
$repo_gpgkey = $::fluentd::params::repo_gpgkey,
$repo_gpgkeyid = $::fluentd::params::repo_gpgkeyid,
$repo_url = $::fluentd::params::repo_url,
$repo_name = $::fluentd::params::repo_name,
$repo_desc = $::fluentd::params::repo_desc,
2015-11-30 16:04:14 +00:00
$package_ensure = $::fluentd::params::package_ensure,
$package_name = $::fluentd::params::package_name,
$package_install_options = $::fluentd::params::package_install_options,
$service_manage = $::fluentd::params::service_manage,
$service_name = $::fluentd::params::service_name,
$service_ensure = $::fluentd::params::service_ensure,
$service_enable = $::fluentd::params::service_enable,
$config_path = $::fluentd::params::config_path,
$conf_dir = $::fluentd::params::conf_dir,
$config_file = $::fluentd::params::config_file,
$user_manage = $::fluentd::params::user_manage,
$user_name = $::fluentd::params::user_name,
$user_group = $::fluentd::params::user_group,
$user_groups = $::fluentd::params::user_groups,
) inherits fluentd::params {
2015-11-30 11:23:28 +00:00
# parameter validation
validate_bool($manage_repo)
2015-11-30 16:04:14 +00:00
validate_string($package_ensure)
validate_string($package_name)
validate_array($package_install_options)
validate_bool($service_manage)
validate_string($service_name)
validate_bool($service_enable)
2015-12-09 15:04:28 +00:00
if ! ($service_ensure in [ 'running', 'stopped' ]) {
fail('service_ensure parameter must be running or stopped')
}
# class calls
include '::fluentd::repo'
include '::fluentd::install'
include '::fluentd::user'
include '::fluentd::config'
include '::fluentd::service'
# dependencies
Class['::Fluentd::Repo'] ->
Class['::Fluentd::Install'] ->
Class['::Fluentd::User'] ->
Class['::Fluentd::Config'] ->
Class['::Fluentd::Service']
2015-11-30 11:23:28 +00:00
}