diff --git a/.fixtures.yml b/.fixtures.yml index 49470b6..60a6fc6 100644 --- a/.fixtures.yml +++ b/.fixtures.yml @@ -1,35 +1,21 @@ --- fixtures: repositories: - auditd: - repo: https://github.com/simp/pupmod-simp-auditd - augeasproviders_core: - repo: https://github.com/simp/augeasproviders_core - augeasproviders_grub: - repo: https://github.com/simp/augeasproviders_grub concat: # master is beyond 4.1.1, but has breaking changes to # how fragments are ordered (MODULES-6625) repo: https://github.com/simp/puppetlabs-concat ref: 4.1.1 - haveged: - repo: https://github.com/simp/pupmod-simp-haveged - iptables: - repo: https://github.com/simp/pupmod-simp-iptables - logrotate: - repo: https://github.com/simp/pupmod-simp-logrotate - pki: - repo: https://github.com/simp/pupmod-simp-pki - simplib: - repo: https://github.com/simp/pupmod-simp-simplib - stdlib: - repo: https://github.com/simp/puppetlabs-stdlib - stunnel: - repo: https://github.com/simp/pupmod-simp-stunnel + # haveged: https://github.com/simp/pupmod-simp-haveged + iptables: https://github.com/simp/pupmod-simp-iptables + logrotate: https://github.com/simp/pupmod-simp-logrotate + pki: https://github.com/simp/pupmod-simp-pki + simplib: https://github.com/simp/pupmod-simp-simplib + stdlib: https://github.com/simp/puppetlabs-stdlib + stunnel: https://github.com/simp/pupmod-simp-stunnel systemd: repo: https://github.com/simp/puppet-systemd branch: simp-master - tcpwrappers: - repo: https://github.com/simp/pupmod-simp-tcpwrappers + tcpwrappers: https://github.com/simp/pupmod-simp-tcpwrappers symlinks: rsyslog: "#{source_dir}" diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ab33eed..c89fb49 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,307 +1,242 @@ +# The testing matrix considers ruby/puppet versions supported by SIMP and PE: +# +# https://puppet.com/docs/pe/2017.3/overview/component_versions_in_recent_pe_releases.html +# https://puppet.com/misc/puppet-enterprise-lifecycle +# https://puppet.com/docs/pe/2017.3/overview/getting_support_for_pe.html#standard-releases-and-long-term-support-releases +# ------------------------------------------------------------------------------ +# release pup ruby eol +# PE 2016.4 4.7 2.1.9 2018-10 (LTS) +# SIMP6.0.0 4.8 2.1.9 TBD +# PE 2017.2 4.10 2.1.9 2018-02-21 +# PE 2017.3 5.3 2.4.1 2018-07 +# PE 2018.1 ??? ????? ????-?? (LTS) --- - -#======================================================================= -# Global stuff -stages: - - 'sanity' - - 'lint' - - 'unit' - - 'acceptance' - - 'deployment' - -# Default versions are set only as fallbacks for jobs that don't care which -# version they use. Versions should be explicitly set in any job with specific -# version requirements, even if they match these defaults. -image: 'ruby:2.1' -variables: - PUPPET_VERSION: '~> 4.10.0' - BUNDLER_VERSION: '' # Unset this in case it's defined on the runner - BUNDLER_EXTRA_ARGS: '--without development system_tests' - MODULE_NAME: "$(ruby -r json -e 'JSON.load(File.read('metadata.json'))['name']')" - MODULE_VERSION: "$(ruby -r json -e 'JSON.load(File.read('metadata.json'))['version']')" - GEM_HOME: '${CI_PROJECT_DIR}/vendor/ruby' # Isolate the Ruby Gems environment - GEM_PATH: '$GEM_HOME' - -before_script: - - 'PATH="${GEM_HOME}/bin:${PATH}"; export PATH' - - '[ "$BUNDLER_VERSION" ] && BUNDLER_VERSION_ARGS="-v $BUNDLER_VERSION"; export BUNDLER_VERSION_ARGS' - - 'ruby -v' - - 'gem environment' - - 'gem sources -u' - - 'gem install bundler --no-document $BUNDLER_VERSION_ARGS' - - 'bundle install -j "$(nproc)" --no-binstubs --path vendor $BUNDLER_EXTRA_ARGS' - -cache: - key: '${CI_COMMIT_REF_SLUG}' - paths: - - 'vendor/ruby' - -#======================================================================= -# Anchors - -.lint_base: &lint_base - stage: 'lint' - tags: ['docker'] - script: - - 'bundle exec rake syntax' - - 'bundle exec rake lint' +.cache_bundler: &cache_bundler cache: - policy: 'pull' - dependencies: [] - artifacts: - when: 'always' + untracked: true + # A broad attempt at caching between runs (ala Travis CI) + key: "${CI_PROJECT_NAMESPACE}__bundler" paths: - - 'Gemfile.lock' - -.unit_base: &unit_base - stage: 'unit' - tags: ['docker'] - variables: - STRINGIFY_FACTS: 'no' - TRUSTED_NODE_DATA: 'yes' + - '.vendor' + - 'vendor' + +.setup_bundler_env: &setup_bundler_env + before_script: + - 'echo Files in cache: $(find .vendor | wc -l) || :' + - 'export GEM_HOME=.vendor/gem_install' + - 'export BUNDLE_CACHE_PATH=.vendor/bundler' + - 'declare GEM_BUNDLER_VER=(-v ''~> ${BUNDLER_VERSION:-1.16.0}'')' + - declare GEM_INSTALL=(gem install --no-document) + - declare BUNDLER_INSTALL=(bundle install --no-binstubs --jobs $(nproc) --path=.vendor "${FLAGS[@]}") + - gem list -ie "${GEM_BUNDLE_VER[@]}" --silent bundler || "${GEM_INSTALL[@]}" --local "${GEM_BUNDLE_VER[@]}" bundler || "${GEM_INSTALL[@]}" "${GEM_BUNDLE_VER[@]}" bundler + - 'rm -rf pkg/ || :' + - bundle check || rm -f Gemfile.lock && ("${BUNDLER_INSTALL[@]}" --local || "${BUNDLER_INSTALL[@]}") + + +.validation_checks: &validation_checks script: - - 'bundle exec rake spec' - cache: - policy: 'pull' - dependencies: [] - artifacts: - when: 'always' - paths: - - 'Gemfile.lock' + - bundle exec rake syntax + - bundle exec rake check:dot_underscore + - bundle exec rake check:test_file + - bundle exec rake pkg:check_version + - bundle exec rake pkg:compare_latest_tag + - bundle exec rake lint + - bundle exec rake clean + - bundle exec puppet module build + +.spec_tests: &spec_tests + script: + - bundle exec rake spec -.acceptance_base: &acceptance_base - stage: 'acceptance' - tags: ['beaker'] +stages: + - validation + - unit + - acceptance + - deploy + +# Puppet 4.7 for PE 2016.4 LTS Support (EOL: 2018-10-21) +# See: https://puppet.com/misc/puppet-enterprise-lifecycle +# -------------------------------------- +pup4_7-validation: + stage: validation + tags: + - docker + image: ruby:2.1 variables: - BUNDLER_EXTRA_ARGS: '--without development' - cache: - policy: 'pull' - dependencies: [] - artifacts: - when: 'always' - paths: - - 'Gemfile.lock' - -# ---------------------------------------------------------------------- -# Version Matrix -# -# It would be too expensive, both in time and compute resources, to test -# against every last version combination, so we restrict it to a subset. -# Version sets are selected based on current support policies for major platform -# software, such as Puppet and Ruby. Namely, we use the version combinations -# bundled in Puppet Enterprise. -# -# For more information see: -# * https://puppet.com/docs/pe/latest/overview/component_versions_in_recent_pe_releases.html -# * https://puppet.com/misc/puppet-enterprise-lifecycle -# * https://puppet.com/docs/pe/latest/overview/getting_support_for_pe.html#standard-releases-and-long-term-support-releases -# -# | Release | Puppet | Ruby | End-of-Life Date | -# |-----------|--------|------|------------------| -# | PE 2016.4 | 4.7* | 2.1 | 2018-10 -# | PE 2016.5 | 4.8 | 2.1 | 2017-05 -# | SIMP 6.0 | 4.8 | 2.1 | TBD -# | PE 2017.1 | 4.9 | 2.1 | 2017-10 -# | PE 2017.2 | 4.10 | 2.1 | 2018-02 -# | SIMP 6.1 | 4.10 | 2.1 | TBD -# | PE 2017.3 | 5.3 | 2.4 | 2018-08 -# | PE 2018.1 | 5.5 | 2.4 | 2020-05 -# -# * PE 2016.4 released with Puppet 4.7.0, but upgraded to the 4.10 series -# starting with 2016.4.5. -# + PUPPET_VERSION: '~> 4.7.0' + <<: *cache_bundler + <<: *setup_bundler_env + <<: *validation_checks -.pe_2016_4: &pe_2016_4 +pup4_7-unit: + stage: unit + tags: + - docker + image: ruby:2.1 variables: PUPPET_VERSION: '~> 4.7.0' + <<: *cache_bundler + <<: *setup_bundler_env + <<: *spec_tests -.simp_6_0: &simp_6_0 - variables: - PUPPET_VERSION: '~> 4.8.1' -.simp_6_1: &simp_6_1 +# Puppet 4.8 for SIMP 6.0 + 6.1 support +# -------------------------------------- +pup4_8-validation: + stage: validation + tags: + - docker + image: ruby:2.1 variables: - PUPPET_VERSION: '~> 4.10.8' + PUPPET_VERSION: '~> 4.8.0' + <<: *cache_bundler + <<: *setup_bundler_env + <<: *validation_checks -.pe_2017_3: &pe_2017_3 +pup4_8-unit: + stage: unit + tags: + - docker + image: ruby:2.1 variables: - PUPPET_VERSION: '~> 5.3.2' + PUPPET_VERSION: '~> 4.8.0' + <<: *cache_bundler + <<: *setup_bundler_env + <<: *spec_tests -.pe_2018_1: &pe_2018_1 - variables: - PUPPET_VERSION: '~> 5.5.1' -.pup4_latest: &pup4_latest +# Puppet 4.10 for PE 2017.2 support (EOL:2018-02-21) +# See: https://puppet.com/misc/puppet-enterprise-lifecycle +# -------------------------------------- +pup4_10-validation: + stage: validation + tags: + - docker + image: ruby:2.1 variables: - PUPPET_VERSION: '~> 4.0' + PUPPET_VERSION: '~> 4.10.0' + <<: *cache_bundler + <<: *setup_bundler_env + <<: *validation_checks -.pup5_latest: &pup5_latest +pup4_10-unit: + stage: unit + tags: + - docker + image: ruby:2.1 variables: - PUPPET_VERSION: '~> 5.0' - - -#======================================================================= -# Basic Sanity Checks -# + PUPPET_VERSION: '~> 4.10.0' + <<: *cache_bundler + <<: *setup_bundler_env + <<: *spec_tests -# Execute simple sanity checks on the environment before proceeding to more -# resource-intensive jobs. Besides running checks, this condenses the initial -# cache generation into a single job for the later stages. The first stage, -# in particular, would otherwise suffer a heavy cache-miss penalty as its -# jobs kick off in parallel. -sanity_checks: - stage: 'sanity' - tags: ['docker'] - script: - - 'bundle exec rake check:dot_underscore' - - 'bundle exec rake check:test_file' - - 'bundle exec rake pkg:check_version' - - 'bundle exec rake pkg:compare_latest_tag' - -tag_check: - stage: 'sanity' - only: ['tags'] - tags: ['docker'] - script: '[ "$CI_COMMIT_TAG" = "$MODULE_VERSION" ] || ( echo "ERROR: Tag does not match metadata version" && exit 1 )' - - -#======================================================================= -# Lint Tests -# -# Linting, for the most part, isn't affected by version changes in Puppet, -# so we only test against the latest version for each MAJOR release. -pup4_latest-lint: - <<: *lint_base - <<: *pup4_latest - image: 'ruby:2.1' - -pup5_latest-lint: - <<: *lint_base - <<: *pup5_latest - image: 'ruby:2.4' - -#======================================================================= -# Unit Test Matrix -# - -# ---------------------------------------------------------------------- -# Puppet 4.7 for early releases of PE 2016.4 LTS -pup4_7-unit: - <<: *unit_base - <<: *pe_2016_4 - image: 'ruby:2.1' - -# ---------------------------------------------------------------------- -# Puppet 4.8 for SIMP 6 and PE 2016.5 -pup4_8-unit: - <<: *unit_base - <<: *simp_6_0 - image: 'ruby:2.1' - -# ---------------------------------------------------------------------- -# Puppet 4.10 for SIMP 6.1, PE 2016.4 LTS, and 2017.2 -pup4_10-unit: - <<: *unit_base - <<: *simp_6_1 - image: 'ruby:2.1' +# Puppet 5.3 for PE 2017.3 support (EOL: 2018-07) +# See: https://puppet.com/misc/puppet-enterprise-lifecycle +# -------------------------------------- +pup5_3-validation: + stage: validation + tags: + - docker + image: ruby:2.4 + variables: + PUPPET_VERSION: '~> 5.3.0' + <<: *cache_bundler + <<: *setup_bundler_env + <<: *validation_checks + allow_failure: true -# ---------------------------------------------------------------------- -# Puppet 5.3 for PE 2017.3 pup5_3-unit: - <<: *unit_base - <<: *pe_2017_3 - image: 'ruby:2.4' - -# ---------------------------------------------------------------------- -# Puppet 5.5 for PE 2018.1 LTS -pup5_5-unit: - <<: *unit_base - <<: *pe_2018_1 - image: 'ruby:2.4' + stage: unit + tags: + - docker + image: ruby:2.4 + variables: + PUPPET_VERSION: '~> 5.3.0' + <<: *cache_bundler + <<: *setup_bundler_env + <<: *spec_tests + allow_failure: true -# ---------------------------------------------------------------------- -# Keep an eye on the latest Puppet 5.x release -pup5_latest-unit: - <<: *unit_base - <<: *pup5_latest - image: 'ruby:2.4' +# Keep an eye on the latest puppet 5 +# ---------------------------------- +pup5_latest-validation: + stage: validation + tags: + - docker + image: ruby:2.4 + variables: + PUPPET_VERSION: '~> 5.0' + <<: *cache_bundler + <<: *setup_bundler_env + <<: *validation_checks + allow_failure: true -# ============================================================================== -# Acceptance tests -# +pup5_latest-unit: + stage: unit + tags: + - docker + image: ruby:2.4 + variables: + PUPPET_VERSION: '~> 5.0' + <<: *cache_bundler + <<: *setup_bundler_env + <<: *spec_tests + allow_failure: true -# Because acceptance tests are so much more expensive than other tests, this -# test matrix is even more limited. Here we stick to versions supported -# by non-EOL meta-releases of SIMP and LTS versions of Puppet Enterprise. -# ---------------------------------------------------------------------- -# Puppet 4.8 for SIMP 6.0 and PE 2016.5 -el-pup4_8: - <<: *acceptance_base - <<: *simp_6_0 - script: - - 'bundle exec rake beaker:suites' -el-pup4_8-fips: - <<: *acceptance_base - <<: *simp_6_0 +# Acceptance tests +# ============================================================================== +default: + stage: acceptance + tags: + - beaker + <<: *cache_bundler + <<: *setup_bundler_env variables: - BEAKER_fips: 'yes' + PUPPET_VERSION: '4.10' script: - - 'bundle exec rake beaker:suites' + - bundle exec rake spec_clean + - bundle exec rake beaker:suites[default] -# ---------------------------------------------------------------------- -# Puppet 4.10 for SIMP 6.1, PE 2016.4 LTS, and PE 2017.2 -el-pup4_10: - <<: *acceptance_base - <<: *simp_6_1 - script: - - 'bundle exec rake beaker:suites' - -el-pup4_10-fips: - <<: *acceptance_base - <<: *simp_6_1 +default-fips: + stage: acceptance + tags: + - beaker + <<: *cache_bundler + <<: *setup_bundler_env variables: + PUPPET_VERSION: '4.10' BEAKER_fips: 'yes' script: - - bundle exec rake beaker:suites + - bundle exec rake spec_clean + - bundle exec rake beaker:suites[default] -# ---------------------------------------------------------------------- -# Puppet 5.5 for PE 2018.1 LTS -el-pup5_5: - <<: *acceptance_base - <<: *pe_2018_1 - script: - - 'bundle exec rake beaker:suites' - -el-pup5_5-fips: - <<: *acceptance_base - <<: *pe_2018_1 +failover: + stage: acceptance + tags: + - beaker + <<: *cache_bundler + <<: *setup_bundler_env variables: - BEAKER_fips: 'yes' + PUPPET_VERSION: '4.10' script: - - 'bundle exec rake beaker:suites' - + - bundle exec rake spec_clean + - bundle exec rake beaker:suites[failover] + allow_failure: true -#======================================================================= -# Deployment Jobs - -module_build: - only: - - 'tags' - stage: 'deployment' +failover-fips: + stage: acceptance tags: - - 'docker' + - beaker + <<: *cache_bundler + <<: *setup_bundler_env + variables: + PUPPET_VERSION: '4.10' + BEAKER_fips: 'yes' script: - - 'bundle exec rake clean' - - 'rm -rf pkg/' - - 'bundle exec puppet module build' - artifacts: - name: 'forge_release-${CI_COMMIT_TAG}' - when: 'on_success' - paths: - - 'pkg/${MODULE_NAME}-${MODULE_VERSION}.tar.gz' - -# vi:tabstop=2:shiftwidth=2:expandtab + - bundle exec rake spec_clean + - bundle exec rake beaker:suites[failover] + allow_failure: true diff --git a/.puppet-lint.rc b/.puppet-lint.rc index e33c93d..71ffc7b 100644 --- a/.puppet-lint.rc +++ b/.puppet-lint.rc @@ -1,8 +1,4 @@ --log-format="%{path}:%{line}:%{check}:%{KIND}:%{message}" --relative ---no-class_inherits_from_params_class-check --no-140chars-check --no-trailing_comma-check -# This is here because the code can't handle lookups in parameters and we have -# a LOT of those ---no-parameter_order-check diff --git a/.yardopts b/.yardopts deleted file mode 100644 index 0e237db..0000000 --- a/.yardopts +++ /dev/null @@ -1,6 +0,0 @@ -lib/**/*.rb -manifests/**/*.pp -types/**/*.pp ---markup markdown --f html ---readme README.md diff --git a/CHANGELOG b/CHANGELOG index 52bf010..1db9e87 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,7 @@ +* Thu Jun 28 2018 Nick Miller - 7.1.3-0 +- Update docs +- Update ci assets + * Tue May 22 2018 Liz Nemsick - 7.1.2-0 - Add a systemd rsyslog.service override file that fixes a service ordering problem present with older versions of rsyslog. The diff --git a/REFERENCE.md b/REFERENCE.md new file mode 100644 index 0000000..1a4ab81 --- /dev/null +++ b/REFERENCE.md @@ -0,0 +1,2358 @@ +# Reference + + +## Table of Contents + +**Classes** + +* [`rsyslog`](#rsyslog): Set up rsyslog 7 The configuration is particularly slanted toward the issues present in the version of rsyslog included with Enterprise Linu +* [`rsyslog::config`](#rsyslogconfig): **NOTE: THIS IS A [PRIVATE](https://github.com/puppetlabs/puppetlabs-stdlib#assert_private) CLASS** Setup RSyslog configuration. - When the +* [`rsyslog::config::logrotate`](#rsyslogconfiglogrotate): **NOTE: THIS IS A [PRIVATE](https://github.com/puppetlabs/puppetlabs-stdlib#assert_private) CLASS** Default log rotation for RSyslog The li +* [`rsyslog::install`](#rsysloginstall): **NOTE: THIS IS A [PRIVATE](https://github.com/puppetlabs/puppetlabs-stdlib#assert_private) CLASS** Installs the packages necessary for use +* [`rsyslog::params`](#rsyslogparams): A list of the parameters and their default values for RSyslog. +* [`rsyslog::server`](#rsyslogserver): Sets up the RSyslog server This class is designed to configure the externally facing interfaces for a RSyslog system. If you do not need ext +* [`rsyslog::server::firewall`](#rsyslogserverfirewall): **NOTE: THIS IS A [PRIVATE](https://github.com/puppetlabs/puppetlabs-stdlib#assert_private) CLASS** Sets up the firewall rules for RSyslog w +* [`rsyslog::server::selinux`](#rsyslogserverselinux): **NOTE: THIS IS A [PRIVATE](https://github.com/puppetlabs/puppetlabs-stdlib#assert_private) CLASS** Sets up SELinux for RSyslog Switches on +* [`rsyslog::server::tcpwrappers`](#rsyslogservertcpwrappers): **NOTE: THIS IS A [PRIVATE](https://github.com/puppetlabs/puppetlabs-stdlib#assert_private) CLASS** Sets up TCPWrappers for RSyslog both pla +* [`rsyslog::service`](#rsyslogservice): **NOTE: THIS IS A [PRIVATE](https://github.com/puppetlabs/puppetlabs-stdlib#assert_private) CLASS** Manage the RSyslog service + +**Defined types** + +* [`rsyslog::rule`](#rsyslogrule): Adds a rule This is used by the various ``rsyslog::rule::*`` Defined Types to apply rules to the system. Feel free to use this Defined Type +* [`rsyslog::rule::console`](#rsyslogruleconsole): Add a rule for writing logs to the console These rules first in priority. In general, the order will be: * Data Source Rules * Console +* [`rsyslog::rule::data_source`](#rsyslogruledata_source): Add a rule for collecting logs from files on the system In general, the order will be: * Data Source Rules * Console Rules * Drop Rul +* [`rsyslog::rule::drop`](#rsyslogruledrop): Add a rule to drop content In general, the order will be: * Data Source Rules * Console Rules * Drop Rules * Remote Rules * Other +* [`rsyslog::rule::local`](#rsyslogrulelocal): Add a rule targeting writing local system logs **NOTE:** Any option that is not explicitly documented here matches the ``ruleset`` options i +* [`rsyslog::rule::other`](#rsyslogruleother): Adds an arbitrary rule The main reason to use this is to ensure proper ordering in the stack. If you want to insert a rule anywhere, use the +* [`rsyslog::rule::remote`](#rsyslogruleremote): Adds a rule to send messages to a remote system In general, the order will be: * Data Source Rules * Console Rules * Drop Rules * R +* [`rsyslog::template::list`](#rsyslogtemplatelist): Add a template list to the rsyslog configuration file. RSyslog list templates can contain properties and constants. In order to capture this +* [`rsyslog::template::plugin`](#rsyslogtemplateplugin): Add template plugins to the rsyslog configuration file. **NOTE:** Plugins are **as-is**. This means that you will only supply the plugin nam +* [`rsyslog::template::string`](#rsyslogtemplatestring): Add template strings to the rsyslog configuration You'll need to write the entire template line due to the complexity of the rsyslog configu +* [`rsyslog::template::subtree`](#rsyslogtemplatesubtree): Add template subtrees to the rsyslog configuration You'll need to write the entire subtree line due to the complexity of the rsyslog configu + +## Classes + +### rsyslog + +Set up rsyslog 7 + +The configuration is particularly slanted toward the issues present in the +version of rsyslog included with Enterprise Linux systems. It should still +work on other systems but they may have different/other bugs that have not +been addressed. + +#### Parameters + +The following parameters are available in the `rsyslog` class. + +##### `service_name` + +Data type: `String` + +The name of the RSyslog service; typically ``rsyslog`` + +Default value: $::rsyslog::params::service_name + +##### `package_name` + +Data type: `String` + +The name of the Rsyslog package to install; typically ``rsyslog`` + +Default value: $::rsyslog::params::package_name + +##### `tls_package_name` + +Data type: `String` + +The name of the Rsyslog package to install TLS utilities; typically ``rsyslog-gnutls`` + +Default value: $::rsyslog::params::tls_package_name + +##### `trusted_nets` + +Data type: `Simplib::Netlist` + +A whitelist of subnets (in CIDR notation) permitted access + +* This will be used in conjunction with IPTables (if enabled) + to allow connections from within the given subnets. + +Default value: simplib::lookup('simp_options::trusted_nets', {'default_value' => ['127.0.0.1/32'] }) + +##### `enable_tls_logging` + +Data type: `Boolean` + +Enable the TLS libraries where applicable + +* If enabled, clients will encrypt all log data being sent to the given log + servers. Also, all log servers specified to use TLS (see + ``rsyslog::server::tls_tcp_server``) will load the ``imtcp`` libraries + and set the necessary global ``NetStreamDriver`` information. + +Default value: `false` + +##### `log_servers` + +Data type: `Simplib::Netlist` + +A list of primary RSyslog servers + +* All nodes in this list will get a copy of **all** logs if remote logging + is enabled. + +Default value: simplib::lookup('simp_options::syslog::log_servers', { 'default_value' => [] }) + +##### `failover_log_servers` + +Data type: `Simplib::Netlist` + +A list of the failover RSyslog servers + +* This **order-dependent** list will serve as all of the possible failover + log servers for clients to send to if the servers in ``log_servers`` are + unavailable. + +Default value: simplib::lookup('simp_options::syslog::failover_log_servers', { 'default_value' => [] }) + +##### `queue_spool_directory` + +Data type: `Stdlib::Absolutepath` + +The path to the directory where RSyslog should store disk message queues + +Default value: '/var/spool/rsyslog' + +##### `rule_dir` + +Data type: `Stdlib::Absolutepath` + +The path at which all managed rules will begin + +Default value: '/etc/rsyslog.simp.d' + +##### `tcp_server` + +Data type: `Boolean` + +Make this host listen for ``TCP`` connections + +* Ideally, all connections would be ``TLS`` enabled. Only enable this if + necessary. + +Default value: `false` + +##### `tcp_listen_port` + +Data type: `Simplib::Port` + +The port upon which to listen for regular ``TCP`` connections + +Default value: 514 + +##### `tls_tcp_server` + +Data type: `Boolean` + +Make this host listen for ``TLS`` enabled ``TCP`` connections + +Default value: `false` + +##### `tls_tcp_listen_port` + +Data type: `Simplib::Port` + +The port upon which to listen for ``TLS`` enabled ``TCP`` connections + +Default value: 6514 + +##### `udp_server` + +Data type: `Boolean` + +Make this host listend for ``UDP`` connections + +* This really should not be enabled unless you have devices that cannot + speak ``TLS`` @param enable_logrotate + +Default value: `false` + +##### `udp_listen_address` + +Data type: `String` + +The address upon which to listen for ``UDP`` connections + +* The default of ``127.0.0.1`` is set primariliy for supporting Java + applications that cannot work with a modern method of logging. + +Default value: '127.0.0.1' + +##### `udp_listen_port` + +Data type: `Simplib::Port` + +The port upon which to listen for ``UDP`` connections + +Default value: 514 + +##### `read_journald` + +Data type: `Boolean` + +Enable the processing of ``journald`` messages natively in Rsyslog + +Default value: $::rsyslog::params::read_journald + +##### `logrotate` + +Data type: `Boolean` + +Ensure that ``logrotate`` is enabled on this system + +* You will need to configure specific logrotate settings via the +``logrotate`` module. + +Default value: simplib::lookup('simp_options::logrotate', {'default_value' => false}) + +##### `pki` + +Data type: `Variant[Boolean,Enum['simp']]` + +* If 'simp', include SIMP's pki module and use pki::copy to manage + application certs in /etc/pki/simp_apps/rsyslog/x509 +* If true, do *not* include SIMP's pki module, but still use pki::copy + to manage certs in /etc/pki/simp_apps/rsyslog/x509 +* If false, do not include SIMP's pki module and do not use pki::copy + to manage certs. You will need to appropriately assign a subset of: + * app_pki_dir + * app_pki_key + * app_pki_cert + * app_pki_ca + * app_pki_ca_dir + +Default value: simplib::lookup('simp_options::pki', {'default_value' => false}) + +##### `app_pki_external_source` + +Data type: `Stdlib::Absolutepath` + +* If pki = 'simp' or true, this is the directory from which certs will be + copied, via pki::copy. Defaults to /etc/pki/simp/x509. + +* If pki = false, this variable has no effect. + +Default value: simplib::lookup('simp_options::pki::source', {'default_value' => '/etc/pki/simp/x509'}) + +##### `app_pki_dir` + +Data type: `Stdlib::Absolutepath` + +Basepath of $default_net_stream_driver_ca_file, default_net_stream_driver_cert_file, +and $default_net_stream_driver_key_file + +Default value: '/etc/pki/simp_apps/rsyslog/x509' + +### rsyslog::config + +**NOTE: THIS IS A [PRIVATE](https://github.com/puppetlabs/puppetlabs-stdlib#assert_private) CLASS** + +Setup RSyslog configuration. +- When the host uses systemd, creates a rsyslog.service override file + that fixes a service ordering problem present with older versions + of rsyslog. +- Creates /etc/rsyslog.conf and includes all SIMP config subdirectories + in /etc/rsyslog.simp.d. + +**NOTE** Any undocumented parameters map directly to their counterparts in +the Rsyslog configuration files. + +#### Parameters + +The following parameters are available in the `rsyslog::config` class. + +##### `umask` + +Data type: `String` + +The umask that should be applied to the running process + +Default value: '0027' + +##### `localhostname` + +Data type: `String` + +The Hostname that should be used on your syslog messages + +Default value: $facts['fqdn'] + +##### `preserve_fqdn` + +Data type: `Boolean` + +Ensure that the ``fqdn`` of the originating host is preserved in all log +messages + +Default value: `true` + +##### `control_character_escape_prefix` + +Data type: `String[1,1]` + + + +Default value: '#' + +##### `drop_msgs_with_malicious_dns_ptr_records` + +Data type: `Enum['off','on']` + + + +Default value: 'off' + +##### `escape_control_characters_on_receive` + +Data type: `Enum['off','on']` + + + +Default value: 'on' + +##### `default_template` + +Data type: `String` + +The default template to use to output to various services + +* The provided template has been designed to work with external parsing + tools that require the priority text + +* You can also choose from the following values in order to select from one + of the built-in rsyslogd formats. + + * forward -> RSYSLOG_Forward + * original -> RSYSLOG_FileFormat + * traditional -> RSYSLOG_TraditionalFileFormat + +Default value: 'original' + +##### `syssock_ignore_timestamp` + +Data type: `Boolean` + + + +Default value: `true` + +##### `syssock_ignore_own_messages` + +Data type: `Boolean` + + + +Default value: `true` + +##### `syssock_use` + +Data type: `Boolean` + + + +Default value: `true` + +##### `syssock_name` + +Data type: `Optional[String]` + + + +Default value: `undef` + +##### `syssock_flow_control` + +Data type: `Boolean` + + + +Default value: `false` + +##### `syssock_use_pid_from_system` + +Data type: `Boolean` + + + +Default value: `false` + +##### `syssock_rate_limit_interval` + +Data type: `Integer[0]` + + + +Default value: 0 + +##### `syssock_rate_limit_burst` + +Data type: `Integer[0]` + + + +Default value: 1000 + +##### `syssock_rate_limit_severity` + +Data type: `Integer[0]` + + + +Default value: 5 + +##### `syssock_use_sys_timestamp` + +Data type: `Boolean` + + + +Default value: `true` + +##### `syssock_annotate` + +Data type: `Boolean` + + + +Default value: `false` + +##### `syssock_parse_trusted` + +Data type: `Boolean` + + + +Default value: `false` + +##### `syssock_unlink` + +Data type: `Boolean` + + + +Default value: `true` + +##### `main_msg_queue_type` + +Data type: `Enum['LinkedList','FixedArray']` + +The type of queue that will be used + +* It is **highly** recommended that you leave this as ``LinkedList`` unless + you really know what you are doing. + +Default value: 'LinkedList' + +##### `main_msg_queue_filename` + +Data type: `String` + + + +Default value: 'main_msg_queue' + +##### `main_msg_queue_size` + +Data type: `Optional[Integer[0]]` + +The size of the main (global) message queue + +* By default, the minimum of 1% of physical memory or 1G, based on a 512B + message size. The maximum number of messages that may be stored in the + memory queue. + +Default value: `undef` + +##### `main_msg_queue_high_watermark` + +Data type: `Optional[Integer[0]]` + +The point at which the queue will start writing messages to disk as a +number of messages + +* By default, 90% of ``$main_msg_queue_size`` + +Default value: `undef` + +##### `main_msg_queue_low_watermark` + +Data type: `Optional[Integer[0]]` + +The point at which the queue will stop writing messages to disk as a number +of messages + +* **NOTE:** This must be **lower** than ``$main_msg_queue_high_watermark`` +* By default, 70% of ``$main_msg_queue_size`` + +Default value: `undef` + +##### `main_msg_queue_discardmark` + +Data type: `Optional[Integer[0]]` + +The point at which the queue will discard messages + +* By default, 98% of ``$main_msg_queue_size`` + +Default value: `undef` + +##### `main_msg_queue_worker_thread_minimum_messages` + +Data type: `Optional[Integer[0]]` + +The minimum number of messages in the queue before a new thread can be +spawned + +* If left empty (the default), will calculate the value based on the + following formula: ``$main_msg_queue_size/(($processorcount - 1)*4)`` + +Default value: `undef` + +##### `main_msg_queue_worker_threads` + +Data type: `Optional[Integer[0]]` + +The maximum number of threads to spawn on the system + +* By default, ``$processorcount - 1`` + +Default value: `undef` + +##### `main_msg_queue_worker_timeout_thread_shutdown` + +Data type: `Integer[0]` + + + +Default value: 5000 + +##### `main_msg_queue_timeout_enqueue` + +Data type: `Integer[0]` + + + +Default value: 100 + +##### `main_msg_queue_dequeue_slowdown` + +Data type: `Integer[0]` + + + +Default value: 0 + +##### `main_msg_queue_save_on_shutdown` + +Data type: `Enum['on','off']` + + + +Default value: 'on' + +##### `main_msg_queue_max_disk_space` + +Data type: `Optional[Integer[0]]` + +The maximum amount of disk space to use for the disk queue. + +* Specified as a digit followed by a unit specifier. For example: + + * 100 -> 100 Bytes + * 100K -> 100 Kilobytes + * 100M -> 100 Megabytes + * 100G -> 100 Gigabytes + * 100T -> 100 Terabytes + * 100P -> 100 Petabytes + +* If not specified, will default to ``$main_msg_queue_size * 1024`` + +Default value: `undef` + +##### `main_msg_queue_max_file_size` + +Data type: `Integer[0]` + +The maximum file size, in Megabytes, that should be created when buffering +to disk. + +* **NOTE:** It is not recommended to make this excessively large + +Default value: 5 + +##### `repeated_msg_reduction` + +Data type: `Enum['on','off']` + + + +Default value: 'on' + +##### `work_directory` + +Data type: `Stdlib::Absolutepath` + + + +Default value: '/var/spool/rsyslog' + +##### `interval` + +Data type: `Integer[0]` + +The ``mark`` interval + +Default value: 0 + +##### `tls_tcp_max_sessions` + +Data type: `Integer[0]` + +The maximum number of sessions to support + +Default value: 200 + +##### `tls_input_tcp_server_stream_driver_permitted_peers` + +Data type: `Array[String]` + +A *wildcard-capable* Array of domains that should be allowed to talk to the +server over ``TLS`` + +Default value: ["*.${::domain}"] + +##### `default_net_stream_driver` + +Data type: `Enum['gtls','ptcp']` + + + +Default value: 'gtls' + +##### `default_net_stream_driver_ca_file` + +Data type: `Stdlib::Absolutepath` + + + +Default value: "${::rsyslog::app_pki_dir}/cacerts/cacerts.pem" + +##### `default_net_stream_driver_cert_file` + +Data type: `Stdlib::Absolutepath` + + + +Default value: "${::rsyslog::app_pki_dir}/public/${::fqdn}.pub" + +##### `default_net_stream_driver_key_file` + +Data type: `Stdlib::Absolutepath` + + + +Default value: "${::rsyslog::app_pki_dir}/private/${::fqdn}.pem" + +##### `action_send_stream_driver_mode` + +Data type: `Enum['1','0']` + + + +Default value: ( + +##### `action_send_stream_driver_auth_mode` + +Data type: `Optional[String]` + + + +Default value: `undef` + +##### `action_send_stream_driver_permitted_peers` + +Data type: `Array[String]` + + + +Default value: $::rsyslog::log_servers + +##### `ulimit_max_open_files` + +Data type: `Variant[Enum['unlimited'],Integer[0]]` + +The maximum open files limit that should be set for the syslog server + +* ``1024`` is fine for most purposes, but a collection server should bump this + **way** up. + +Default value: 'unlimited' + +##### `host_list` + +Data type: `Array[String]` + +Hosts that should be logged with their simple hostname + +* See the ``-l`` option in ``rsyslogd(8)`` for more information + +Default value: [] + +##### `domain_list` + +Data type: `Array[String]` + +Array of domains that should be stripped off before logging + +* See the ``-s`` option in ``rsyslogd(8)`` for more information + +Default value: [] + +##### `suppress_noauth_warn` + +Data type: `Boolean` + +Suppress warnings due to hosts not in the ACL + +* See the ``-w`` option in ``rsyslogd(8)`` for more information + +Default value: `false` + +##### `disable_remote_dns` + +Data type: `Boolean` + +Disable DNS lookups for remote messages + +* See the ``-x`` option in ``rsyslogd(8)`` for more information + +Default value: `false` + +##### `enable_default_rules` + +Data type: `Boolean` + +Enables default rules for logging common services (e.g., iptables, puppet, slapd_auditd) + +Default value: `true` + +##### `read_journald` + +Data type: `Boolean` + +Enable the forwarding of the ``systemd`` journal to syslog + +Default value: $::rsyslog::read_journald + +##### `include_rsyslog_d` + +Data type: `Boolean` + +Include all configuration files in the system-standard ``/etc/rsyslog.d`` + +* This will place the configuration files **after** the global + configuration but **before** the SIMP applied configurations. + +Default value: `false` + +##### `systemd_override_file` + +Data type: `String` + +The basename of the systemd override file for the rsyslog service + +Default value: 'unit.conf' + +### rsyslog::config::logrotate + +**NOTE: THIS IS A [PRIVATE](https://github.com/puppetlabs/puppetlabs-stdlib#assert_private) CLASS** + +Default log rotation for RSyslog + +The list that is managed here matches the list of default files that are +managed on the system by this module. + +#### Parameters + +The following parameters are available in the `rsyslog::config::logrotate` class. + +##### `rotate_period` + +Data type: `Enum['daily','weekly','monthly','yearly']` + +How often to rotate the logs + +Default value: 'daily' + +##### `rotate_preserve` + +Data type: `Integer[0]` + +How many rotated logs to keep + +Default value: 7 + +##### `rotate_size` + +Data type: `Optional[Integer[0]]` + +The maximum size of a log file + +* ``$rotate_period`` will be ignored if this is specified + +Default value: `undef` + +### rsyslog::install + +**NOTE: THIS IS A [PRIVATE](https://github.com/puppetlabs/puppetlabs-stdlib#assert_private) CLASS** + +Installs the packages necessary for use of RSyslog + +#### Parameters + +The following parameters are available in the `rsyslog::install` class. + +##### `ensure` + +Data type: `String` + +How to install the packages + +* Accepts the same values as the ``Package`` resource's ``ensure`` + parameter + +Default value: 'latest' + +### rsyslog::params + +A list of the parameters and their default values for RSyslog. + +#### Parameters + +The following parameters are available in the `rsyslog::params` class. + +##### `service_name` + +Data type: `String` + +The name of the rsyslog service + +##### `package_name` + +Data type: `String` + +The name of the rsyslog package + +##### `tls_package_name` + +Data type: `String` + +The name of the rsyslog package providing GNUTLS support + +##### `read_journald` + +Data type: `Boolean` + +Tie in the reading of ``journald`` if available + +### rsyslog::server + +Sets up the RSyslog server + +This class is designed to configure the externally facing interfaces for a +RSyslog system. If you do not need external connectivity, you should just use +the stock ``::rsyslog`` Class. + +#### Parameters + +The following parameters are available in the `rsyslog::server` class. + +##### `enable_firewall` + +Data type: `Boolean` + +Enable the SIMP firewall rules for RSyslog + +Default value: simplib::lookup('simp_options::firewall', { 'default_value' => false }) + +##### `enable_selinux` + +Data type: `Optional[Boolean]` + +Enable the SIMP SELinux rules for RSyslog + +Default value: $facts['selinux_enforced'] + +##### `enable_tcpwrappers` + +Data type: `Boolean` + +Enable the SIMP TCPWrapper rules for RSyslog + +Default value: simplib::lookup('simp_options::tcpwrappers', { 'default_value' => false }) + +### rsyslog::server::firewall + +**NOTE: THIS IS A [PRIVATE](https://github.com/puppetlabs/puppetlabs-stdlib#assert_private) CLASS** + +Sets up the firewall rules for RSyslog with IPTables + +In ports will be openened for all systems inside of the +``$::rsyslog::trusted_nets`` Array. + +### rsyslog::server::selinux + +**NOTE: THIS IS A [PRIVATE](https://github.com/puppetlabs/puppetlabs-stdlib#assert_private) CLASS** + +Sets up SELinux for RSyslog + +Switches on the ``nis_enabled`` SELinux Boolean since this is required for +successful RSyslog connections. + +* **Note** This **MAY** not be necessary any longer and should be validated + +### rsyslog::server::tcpwrappers + +**NOTE: THIS IS A [PRIVATE](https://github.com/puppetlabs/puppetlabs-stdlib#assert_private) CLASS** + +Sets up TCPWrappers for RSyslog both plain TCP and TCP over TLS as necessary + +**NOTE:** This actually **opens** the TCPWrappers rules for RSyslog since +testing has shown that it was prone to some odd connectivity errors. Both +IPTables and an internal allow list protect RSyslog connections. + +### rsyslog::service + +**NOTE: THIS IS A [PRIVATE](https://github.com/puppetlabs/puppetlabs-stdlib#assert_private) CLASS** + +Manage the RSyslog service + +#### Parameters + +The following parameters are available in the `rsyslog::service` class. + +##### `enable` + +Data type: `Boolean` + +Enable the rsyslog service + +Default value: `true` + +## Defined types + +### rsyslog::rule + +Adds a rule + +This is used by the various ``rsyslog::rule::*`` Defined Types to apply rules +to the system. + +Feel free to use this Defined Type to add your own rules but remember that +**order matters**! + +In general, the order will be: + + * 05 - Data Source Rules + * 06 - Console Rules + * 07 - Drop Rules + * 10 - Remote Rules + * 20 - Other/Miscellaneous Rules + * 99 - Local Rules + +* **See also** +https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/s1-basic_configuration_of_rsyslog.html +Red Hat Basic Rsyslog Configuration +http://www.rsyslog.com/doc/expression.html +Expressions in Rsyslog +http://www.rsyslog.com/doc/rainerscript.html +RainerScript Documentation + +#### Examples + +##### Collect All ``kern.err`` Messages + +```puppet +rsyslog::rule { '99_collect_kernel_errors.conf': + rule => "if prifilt('kern.err') then /var/log/kernel_errors.log" +} +``` + +##### Discard All ``info`` Messages + +```puppet +rsyslog::rule::other { '98_discard_info.conf': + rule => "if prifilt('*.info') then stop" +} +``` + +#### Parameters + +The following parameters are available in the `rsyslog::rule` defined type. + +##### `name` + +Data type: `Pattern['^[^/]\S+/\S+\.conf$']` + +The filename that you will be dropping into place + +* **WARNING:** This must **NOT** be an absolute path! + +##### `content` + +Data type: `String` + +The **exact content** of the rule to place in the target file + +### rsyslog::rule::console + +Add a rule for writing logs to the console + +These rules first in priority. In general, the order will be: + + * Data Source Rules + * Console Rules + * Drop Rules + * Remote Rules + * Other/Miscellaneous Rules + * Local Rules + +* **See also** +https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/s1-basic_configuration_of_rsyslog.html +Red Hat Basic Rsyslog Configuration +http://www.rsyslog.com/doc/expression.html +Expressions in Rsyslog +http://www.rsyslog.com/doc/rainerscript.html +RainerScript Documentation + +#### Examples + +##### Log Emergency Messages to the Console + +```puppet +rsyslog::rule::console { 'emergency_rule': + rule => 'prifilt(\'*.emerg\'), + users => ['*'] +} +``` + +#### Parameters + +The following parameters are available in the `rsyslog::rule::console` defined type. + +##### `name` + +Data type: `String` + +The filename that you will be dropping into place + +##### `rule` + +Data type: `String` + +The Rsyslog ``EXPRESSION`` to filter on + +##### `users` + +Data type: `Array[String]` + +Users to which to send the console messages + +### rsyslog::rule::data_source + +Add a rule for collecting logs from files on the system + +In general, the order will be: + + * Data Source Rules + * Console Rules + * Drop Rules + * Remote Rules + * Other/Miscellaneous Rules + * Local Rules + +* **See also** +https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/s1-basic_configuration_of_rsyslog.html +Red Hat Basic Rsyslog Configuration +http://www.rsyslog.com/doc/expression.html +Expressions in Rsyslog +http://www.rsyslog.com/doc/rainerscript.html +RainerScript Documentation + +The filename that you will be dropping into place. + +#### Examples + +##### Collect Logs From ``/opt/log/my_app`` + +```puppet +rsyslog::rule::data_source { 'new_input': + rule => @(EOM) + input(type="imfile" + File="/opt/log/my_app" + StateFile="my_app" + Tag="my_app" + Facility="local6" + Severity="notice" + ) + |EOM +} +``` + +#### Parameters + +The following parameters are available in the `rsyslog::rule::data_source` defined type. + +##### `name` + +Data type: `String` + +The filename that you will be dropping into place + +##### `rule` + +Data type: `String` + +The Rsyslog ``EXPRESSION`` to filter on + +### rsyslog::rule::drop + +Add a rule to drop content + +In general, the order will be: + + * Data Source Rules + * Console Rules + * Drop Rules + * Remote Rules + * Other/Miscellanious Rules + * Local Rules + +* **See also** +https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/s1-basic_configuration_of_rsyslog.html +Red Hat Basic Rsyslog Configuration +http://www.rsyslog.com/doc/expression.html +Expressions in Rsyslog +http://www.rsyslog.com/doc/rainerscript.html +RainerScript Documentation + +The filename that you will be dropping into place. + +#### Examples + +##### Drop Logs Matching ``^.*bad_stuff.*$`` + +```puppet +rsyslog::rule::drop { 'drop_bad_stuff': + rule => 're_match($msg, '^.*bad_stuff.*$')' +} +``` + +#### Parameters + +The following parameters are available in the `rsyslog::rule::drop` defined type. + +##### `name` + +Data type: `String` + +The filename that you will be dropping into place + +##### `rule` + +Data type: `String` + +The Rsyslog ``EXPRESSION`` to filter on + +### rsyslog::rule::local + +Add a rule targeting writing local system logs + +**NOTE:** Any option that is not explicitly documented here matches the +``ruleset`` options in the Rsyslog documentation. + +In general, the order will be: + + * Data Source Rules + * Console Rules + * Drop Rules + * Remote Rules + * Other/Miscellaneous Rules + * Local Rules + +* **See also** +https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/s1-basic_configuration_of_rsyslog.html +Red Hat Basic Rsyslog Configuration +http://www.rsyslog.com/doc/expression.html +Expressions in Rsyslog +http://www.rsyslog.com/doc/rainerscript.html +RainerScript Documentation + +#### Examples + +##### Capture OpenLDAP Logs Then Stop Processing + +```puppet +rsyslog::rule::local { 'collect_openldap': + rule => "prifilt('local4.*')", + target_log_file => '/var/log/slapd.log', + stop_processing => true +} +``` + +#### Parameters + +The following parameters are available in the `rsyslog::rule::local` defined type. + +##### `name` + +Data type: `String` + +The filename that you will be dropping into place + +##### `rule` + +Data type: `Optional[String]` + +The Rsyslog ``EXPRESSION`` to filter on + +* **NOTE:** Do **NOT** include the leading ``if/then`` + * Correct: ``rule => "prifilt('*.*')" + * Incorrect: ``rule => "if prifilt('*.*') then"`` + +* This **must** be set if ``$content`` is left empty + +Default value: `undef` + +##### `target_log_file` + +Data type: `Optional[Stdlib::Absolutepath]` + +The target log file that omfile will be writing to + +* This **must** be set if ``$dyna_file`` is left empty + +Default value: `undef` + +##### `stop_processing` + +Data type: `Boolean` + +Do not forward logs to any further ``ruleset``s after processing this ``ruleset`` + +Default value: `false` + +##### `dyna_file` + +Data type: `Optional[String]` + +Set a ``dynamic`` filename using the property replacer rules + +* **NOTE:** If you make this the filename path itself, a template will + automatically be created for you. Otherwise, you must make sure to have a + rsyslog template in place and pass the **name of the template** to this + option + +* Rsyslog templates can be created using the ``rsyslog::template::*`` + defined types + +Default value: `undef` + +##### `template` + +Data type: `Optional[String]` + + + +Default value: `undef` + +##### `dyna_file_cache_size` + +Data type: `Integer[0]` + + + +Default value: 10 + +##### `zip_level` + +Data type: `Integer[0,9]` + + + +Default value: 0 + +##### `very_robust_zip` + +Data type: `Boolean` + + + +Default value: `true` + +##### `flush_interval` + +Data type: `Integer[0]` + + + +Default value: 0 + +##### `async_writing` + +Data type: `Boolean` + + + +Default value: `false` + +##### `flush_on_tx_end` + +Data type: `Boolean` + + + +Default value: `true` + +##### `io_buffer_size` + +Data type: `Optional[Integer[0]]` + + + +Default value: `undef` + +##### `dir_owner` + +Data type: `Optional[String]` + + + +Default value: `undef` + +##### `dir_owner_num` + +Data type: `Optional[Integer[0]]` + + + +Default value: `undef` + +##### `dir_group` + +Data type: `Optional[String]` + + + +Default value: `undef` + +##### `dir_group_num` + +Data type: `Optional[Integer[0]]` + + + +Default value: `undef` + +##### `file_owner` + +Data type: `Optional[String]` + + + +Default value: `undef` + +##### `file_owner_num` + +Data type: `Optional[Integer[0]]` + + + +Default value: `undef` + +##### `file_group` + +Data type: `Optional[String]` + + + +Default value: `undef` + +##### `file_group_num` + +Data type: `Optional[Integer[0]]` + + + +Default value: `undef` + +##### `file_create_mode` + +Data type: `String` + + + +Default value: '0644' + +##### `dir_create_mode` + +Data type: `String` + + + +Default value: '0700' + +##### `fail_on_chown_failure` + +Data type: `Boolean` + + + +Default value: `true` + +##### `create_dirs` + +Data type: `Boolean` + + + +Default value: `true` + +##### `sync` + +Data type: `Boolean` + + + +Default value: `false` + +##### `sig_provider` + +Data type: `Optional[String]` + + + +Default value: `undef` + +##### `cry_provider` + +Data type: `Optional[String]` + + + +Default value: `undef` + +##### `queue_filename` + +Data type: `Optional[Stdlib::Absolutepath]` + + + +Default value: `undef` + +##### `queue_spool_directory` + +Data type: `Optional[Stdlib::Absolutepath]` + + + +Default value: `undef` + +##### `queue_size` + +Data type: `Optional[Integer[0]]` + + + +Default value: `undef` + +##### `queue_dequeue_batch_size` + +Data type: `Integer[0]` + + + +Default value: 16 + +##### `queue_max_disk_space` + +Data type: `Optional[Integer[0]]` + + + +Default value: `undef` + +##### `queue_high_watermark` + +Data type: `Optional[Integer[0]]` + + + +Default value: `undef` + +##### `queue_low_watermark` + +Data type: `Integer[0]` + + + +Default value: 2000 + +##### `queue_full_delay_mark` + +Data type: `Optional[Integer[0]]` + + + +Default value: `undef` + +##### `queue_light_delay_mark` + +Data type: `Optional[Integer[0]]` + + + +Default value: `undef` + +##### `queue_discard_mark` + +Data type: `Integer[0]` + + + +Default value: 9750 + +##### `queue_discard_severity` + +Data type: `Integer[0]` + + + +Default value: 8 + +##### `queue_checkpoint_interval` + +Data type: `Optional[Integer[0]]` + + + +Default value: `undef` + +##### `queue_sync_queue_files` + +Data type: `Boolean` + + + +Default value: `false` + +##### `queue_type` + +Data type: `Enum['FixedArray','LinkedList','Direct','Disk']` + + + +Default value: 'Direct' + +##### `queue_worker_threads` + +Data type: `Integer[0]` + + + +Default value: 1 + +##### `queue_timeout_shutdown` + +Data type: `Integer[0]` + + + +Default value: 0 + +##### `queue_timeout_action_completion` + +Data type: `Integer[0]` + + + +Default value: 1000 + +##### `queue_timeout_enqueue` + +Data type: `Integer[0]` + + + +Default value: 2000 + +##### `queue_timeout_worker_thread_shutdown` + +Data type: `Integer[0]` + + + +Default value: 60000 + +##### `queue_worker_thread_minimum_messages` + +Data type: `Integer[0]` + + + +Default value: 100 + +##### `queue_max_file_size` + +Data type: `String` + + + +Default value: '1m' + +##### `queue_save_on_shutdown` + +Data type: `Boolean` + + + +Default value: `false` + +##### `queue_dequeue_slowdown` + +Data type: `Integer[0]` + + + +Default value: 0 + +##### `queue_dequeue_time_begin` + +Data type: `Optional[Integer[0]]` + + + +Default value: `undef` + +##### `queue_dequeue_time_end` + +Data type: `Optional[Integer[0]]` + + + +Default value: `undef` + +##### `content` + +Data type: `Optional[String]` + +the **entire* content of the rsyslog::rule + +* If you do not specify this, ``$rule`` is a required variable + +* If you do specify this, ``$rule`` will be ignored + +Default value: `undef` + +### rsyslog::rule::other + +Adds an arbitrary rule + +The main reason to use this is to ensure proper ordering in the stack. If you +want to insert a rule anywhere, use the ``$rsyslog::rule`` Defined Type + +In general, the order will be: + + * Data Source Rules + * Console Rules + * Drop Rules + * Remote Rules + * Other/Miscellaneous Rules + * Local Rules + +fine: rsyslog::rule::other + +* **See also** +https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/s1-basic_configuration_of_rsyslog.html +Red Hat Basic Rsyslog Configuration +http://www.rsyslog.com/doc/expression.html +Expressions in Rsyslog +http://www.rsyslog.com/doc/rainerscript.html +RainerScript Documentation + +The filename that you will be dropping into place. + +#### Examples + +##### Send All ``local0`` Messages to ``1.2.3.4`` via TCP + +```puppet +rsyslog::rule::other { 'send_local0_away': + rule => "if prifilt('local0.*') then @@1.2.3.4" +} +``` + +#### Parameters + +The following parameters are available in the `rsyslog::rule::other` defined type. + +##### `name` + +Data type: `String` + +The filename that you will be dropping into place + +##### `rule` + +Data type: `String` + +The Rsyslog ``EXPRESSION`` to filter on + +### rsyslog::rule::remote + +Adds a rule to send messages to a remote system + +In general, the order will be: + + * Data Source Rules + * Console Rules + * Drop Rules + * Remote Rules + * Other/Miscellaneous Rules + * Local Rules + +If you wish to use TLS for forward RSyslog messages, you **MUST** configure it +via ``rsyslog::config``. Current EL versions of RSyslog 7 do not properly +support individual TLS settings via rulesets. + +------------------------------------------------------------------------ + +> **WARNING** +> +> If possible, this module will take pains to prevent adding a target that is +> equivalent to the current system to prevent syslog loops. +> +> Unfortunately, there is **no** foolproof method for getting this correct +> 100% of the time so please take care when setting your destination targets. +> +> **WARNING** + +------------------------------------------------------------------------ + + * This **must** be set if ``$content`` is left empty + +* **See also** +https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/s1-basic_configuration_of_rsyslog.html +Red Hat Basic Rsyslog Configuration +http://www.rsyslog.com/doc/expression.html +Expressions in Rsyslog +http://www.rsyslog.com/doc/rainerscript.html +RainerScript Documentation + +#### Examples + +##### Send All ``local0`` Messages to ``1.2.3.4`` via TCP + +```puppet +rsyslog::rule::remote { 'send_local0_away': + rule => "prifilt('local0.*')", + log_servers => ['1.2.3.4'] +} +``` + +#### Parameters + +The following parameters are available in the `rsyslog::rule::remote` defined type. + +##### `name` + +Data type: `String` + +The filename that you will be dropping into place + +##### `rule` + +Data type: `Optional[String]` + +The Rsyslog ``EXPRESSION`` to filter on + +* This should only be the matching part of the expression, the remaining + parameters take care of ensuring that the material is properly routed. + +* **NOTE:** Do **NOT** include the leading ``if/then`` + * Correct: ``rule => "prifilt('*.*')" + * Incorrect: ``rule => "if prifilt('*.*') then"`` + +Default value: `undef` + +##### `stop_processing` + +Data type: `Boolean` + +Do not forward logs to any further ``ruleset``s after processing this ``ruleset`` + +Default value: `false` + +##### `template` + +Data type: `Optional[String]` + +The template that should be used to format the content + +Default value: `undef` + +##### `dest` + +Data type: `Simplib::Netlist` + +If filled, logs matching ``$rule`` will be sent to **all hosts** in this Array. + +* **WARNING:** If using this, do **NOT** add a destination to your ``rule`` + +Default value: [] + +##### `dest_type` + +Data type: `Enum['tcp','udp','relp']` + +The destination type for all entries in ``$dest`` + +* At this time, if you wish to have different types per destination, you + will need to craft your own ruleset and leave ``$dest`` empty. + +Default value: 'tcp' + +##### `failover_log_servers` + +Data type: `Simplib::Netlist` + +The listed systems will be used as failover servers for all logs matching +this ``rule`` + +* Uses ``$dest_type`` above + +Default value: [] + +##### `tcp_framing` + +Data type: `Enum['traditional','octet-counted']` + + + +Default value: 'traditional' + +##### `zip_level` + +Data type: `Integer[0,9]` + + + +Default value: 0 + +##### `max_error_messages` + +Data type: `Integer[0]` + + + +Default value: 5 + +##### `compression_mode` + +Data type: `Enum['none','single','stream:always']` + + + +Default value: 'none' + +##### `compression_stream_flush_on_tx_end` + +Data type: `Boolean` + + + +Default value: `true` + +##### `rebind_interval` + +Data type: `Optional[Integer[0]]` + + + +Default value: `undef` + +##### `action_resume_interval` + +Data type: `Integer[0]` + + + +Default value: 30 + +##### `action_resume_retry_count` + +Data type: `Integer[-1]` + + + +Default value: - + +##### `stream_driver` + +Data type: `Optional[String]` + +This is overridden by the ``rsyslog::config::default_net_stream_driver`` + +* EL versions of Rsyslog 7 do not support this properly in rulesets but it + may be specified + +Default value: `undef` + +##### `stream_driver_mode` + +Data type: `Integer[0]` + +This is overridden by the ``rsyslog::config::action_send_stream_driver_mode`` + +* EL versions of Rsyslog 7 do not support this properly in rulesets but it + may be specified + +Default value: 1 + +##### `stream_driver_auth_mode` + +Data type: `String` + +This is overridden by the ``rsyslog::config::action_send_stream_driver_auth_mode`` + +* EL versions of Rsyslog 7 partially support this in rulesets and it may + have some effect + +Default value: 'x509/name' + +##### `stream_driver_permitted_peers` + +Data type: `String` + +This is overridden by the ``rsyslog::config::action_send_stream_driver_permitted_peers`` + +* EL versions of Rsyslog 7 partially support this in rulesets and it may + have some effect + +Default value: "*.${::domain}" + +##### `resend_last_msg_on_reconnect` + +Data type: `Boolean` + + + +Default value: `true` + +##### `udp_send_to_all` + +Data type: `Boolean` + + + +Default value: `false` + +##### `queue_filename` + +Data type: `Optional[String]` + + + +Default value: `undef` + +##### `queue_spool_directory` + +Data type: `Optional[Stdlib::Absolutepath]` + + + +Default value: `undef` + +##### `queue_size` + +Data type: `Optional[Integer[0]]` + + + +Default value: `undef` + +##### `queue_dequeue_batch_size` + +Data type: `Integer[0]` + + + +Default value: 16 + +##### `queue_max_disk_space` + +Data type: `Optional[Integer[0]]` + + + +Default value: `undef` + +##### `queue_high_watermark` + +Data type: `Optional[Integer[0]]` + + + +Default value: `undef` + +##### `queue_low_watermark` + +Data type: `Integer[0]` + + + +Default value: 2000 + +##### `queue_full_delay_mark` + +Data type: `Optional[Integer[0]]` + + + +Default value: `undef` + +##### `queue_light_delay_mark` + +Data type: `Optional[Integer[0]]` + + + +Default value: `undef` + +##### `queue_discard_mark` + +Data type: `Integer[0]` + + + +Default value: 9750 + +##### `queue_discard_severity` + +Data type: `Integer[0]` + + + +Default value: 8 + +##### `queue_checkpoint_interval` + +Data type: `Optional[Integer[0]]` + + + +Default value: `undef` + +##### `queue_sync_queue_files` + +Data type: `Boolean` + + + +Default value: `false` + +##### `queue_type` + +Data type: `Enum['LinkedList','FixedArray','Direct','Disk']` + + + +Default value: 'LinkedList' + +##### `queue_worker_threads` + +Data type: `Integer[0]` + + + +Default value: 1 + +##### `queue_timeout_shutdown` + +Data type: `Integer[0]` + + + +Default value: 0 + +##### `queue_timeout_action_completion` + +Data type: `Integer[0]` + + + +Default value: 1000 + +##### `queue_timeout_enqueue` + +Data type: `Integer[0]` + + + +Default value: 2000 + +##### `queue_timeout_worker_thread_shutdown` + +Data type: `Integer[0]` + + + +Default value: 60000 + +##### `queue_worker_thread_minimum_messages` + +Data type: `Integer[0]` + + + +Default value: 100 + +##### `queue_max_file_size` + +Data type: `String` + + + +Default value: '1m' + +##### `queue_save_on_shutdown` + +Data type: `Boolean` + + + +Default value: `true` + +##### `queue_dequeue_slowdown` + +Data type: `Integer[0]` + + + +Default value: 0 + +##### `queue_dequeue_time_begin` + +Data type: `Optional[Integer[0]]` + + + +Default value: `undef` + +##### `queue_dequeue_time_end` + +Data type: `Optional[Integer[0]]` + + + +Default value: `undef` + +##### `content` + +Data type: `Optional[String]` + +the **entire* content of the rsyslog::rule + +* If you do not specify this, ``$rule`` is a required variable + +* If you do specify this, ``$rule`` will be ignored + +Default value: `undef` + +### rsyslog::template::list + +Add a template list to the rsyslog configuration file. + +RSyslog list templates can contain properties and constants. In order to +capture this functionality, we have opted for making a hash of these. The +Hash will be ordered as given to the content variable. + +#### Examples + +##### Content Settings + +```puppet +$content_hash = { + 'constant' => 'values="Syslog MSG is: \'"', + 'property' => 'name="msg"' +} + +rsyslog::template::list { 'example_list': + $content => $content_hash +} + +### Produces: + +template(name="example_list" type="list") { + constant(value="Syslog MSG is: '") + property(name="msg") +} +``` + +#### Parameters + +The following parameters are available in the `rsyslog::template::list` defined type. + +##### `name` + +Data type: `String` + +The literal name (not path) of the ``file`` that will be written + +##### `content` + +Data type: `Hash[String,String,1]` + +The rsyslog list content that you wish to add to the system, as a Hash + +### rsyslog::template::plugin + +Add template plugins to the rsyslog configuration file. + +**NOTE:** Plugins are **as-is**. This means that you will only supply the +plugin name and assume that the plugin has already been loaded by RSyslog. + +#### Examples + +##### Adding the ``my_plugin`` Plugin to the System + +```puppet +rsyslog::template::string { 'example_plugin': + $plugin => 'my_plugin' +} + +### Produces: + +template(name="example_plugin" type="plugin" plugin="my_plugin") +``` + +#### Parameters + +The following parameters are available in the `rsyslog::template::plugin` defined type. + +##### `name` + +Data type: `String` + +The literal name of the ``file`` (not the full path) that will be used + +##### `plugin` + +Data type: `String` + +The rsyslog plugin content that you wish to add to the system + +* This is provided, without formatting, directly into the target file + +### rsyslog::template::string + +Add template strings to the rsyslog configuration + +You'll need to write the entire template line due to the complexity of the +rsyslog configuration parameters. + +Leading spaces will be removed. + +#### Examples + +##### Template String + +```puppet +rsyslog::template::string { 'example': + $content => '/var/log/hosts/%HOSTNAME%/example.log' +} + +### Produces: + +template(name="example" type="string" string="/var/log/hosts/%HOSTNAME%/example.log") +``` + +#### Parameters + +The following parameters are available in the `rsyslog::template::string` defined type. + +##### `name` + +Data type: `String` + +The literal name of the ``file`` (not file path) that will be used + +##### `string` + +Data type: `String` + +The rsyslog template string that you wish to add to the system + +* This is fed, without formatting, directly into the target file + +### rsyslog::template::subtree + +Add template subtrees to the rsyslog configuration + +You'll need to write the entire subtree line due to the complexity of the +rsyslog configuration parameters. + +#### Examples + +##### Subtree (From the Official RSyslog Docs) + +```puppet +rsyslog::template::subtree { 'example_subtree': + $variables => ['$!usr!tp12!msg = $msg;', '$!usr!tp12!dataflow = field($msg, 58, 2);'], + $subtree => '$!usr!tp12' +} + +### Produces: + +set $!usr!tp12!msg = $msg; +set $!usr!tp12!dataflow = field($msg, 58, 2); +template(name="example" type="subtree" subtree="$!usr!tp12") +``` + +#### Parameters + +The following parameters are available in the `rsyslog::template::subtree` defined type. + +##### `name` + +Data type: `String` + +The literal name of the ``file`` (not a path) that will be used + +##### `subtree` + +Data type: `String` + +The rsyslog subtree content that you wish to add to the system + +* This is fed, without formatting, directly into the subtree parameter + +##### `variables` + +Data type: `Array[String]` + +Variables to be set **prior** to the template being created + +Default value: [] + diff --git a/docs/_index.html b/docs/_index.html deleted file mode 100644 index ddd5081..0000000 --- a/docs/_index.html +++ /dev/null @@ -1,231 +0,0 @@ - - - - - - - Documentation by YARD 0.9.9 - - - - - - - - - - - - - - - - - - - -
- - -

Documentation by YARD 0.9.9

-
-

Alphabetic Index

- -

Puppet Class Listing A-Z

- - - - - - -
- - - - -
- - -

Defined Type Listing A-Z

- - - - - - -
- - - - -
- - - - - -

File Listing

- - -
- - -
- -
- - - -
- - \ No newline at end of file diff --git a/docs/css/common.css b/docs/css/common.css deleted file mode 100644 index d28b093..0000000 --- a/docs/css/common.css +++ /dev/null @@ -1,8 +0,0 @@ -/* Ensure the search bar doesn't overlap with links */ -.fixed_header { - padding-bottom: 25px; -} - -#full_list { - padding-top: 15px; -} diff --git a/docs/css/full_list.css b/docs/css/full_list.css deleted file mode 100644 index fa35982..0000000 --- a/docs/css/full_list.css +++ /dev/null @@ -1,58 +0,0 @@ -body { - margin: 0; - font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; - font-size: 13px; - height: 101%; - overflow-x: hidden; - background: #fafafa; -} - -h1 { padding: 12px 10px; padding-bottom: 0; margin: 0; font-size: 1.4em; } -.clear { clear: both; } -.fixed_header { position: fixed; background: #fff; width: 100%; padding-bottom: 10px; margin-top: 0; top: 0; z-index: 9999; height: 70px; } -#search { position: absolute; right: 5px; top: 9px; padding-left: 24px; } -#content.insearch #search, #content.insearch #noresults { background: url(data:image/gif;base64,R0lGODlhEAAQAPYAAP///wAAAPr6+pKSkoiIiO7u7sjIyNjY2J6engAAAI6OjsbGxjIyMlJSUuzs7KamppSUlPLy8oKCghwcHLKysqSkpJqamvT09Pj4+KioqM7OzkRERAwMDGBgYN7e3ujo6Ly8vCoqKjY2NkZGRtTU1MTExDw8PE5OTj4+PkhISNDQ0MrKylpaWrS0tOrq6nBwcKysrLi4uLq6ul5eXlxcXGJiYoaGhuDg4H5+fvz8/KKiohgYGCwsLFZWVgQEBFBQUMzMzDg4OFhYWBoaGvDw8NbW1pycnOLi4ubm5kBAQKqqqiQkJCAgIK6urnJyckpKSjQ0NGpqatLS0sDAwCYmJnx8fEJCQlRUVAoKCggICLCwsOTk5ExMTPb29ra2tmZmZmhoaNzc3KCgoBISEiIiIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCAAAACwAAAAAEAAQAAAHaIAAgoMgIiYlg4kACxIaACEJCSiKggYMCRselwkpghGJBJEcFgsjJyoAGBmfggcNEx0flBiKDhQFlIoCCA+5lAORFb4AJIihCRbDxQAFChAXw9HSqb60iREZ1omqrIPdJCTe0SWI09GBACH5BAkIAAAALAAAAAAQABAAAAdrgACCgwc0NTeDiYozCQkvOTo9GTmDKy8aFy+NOBA7CTswgywJDTIuEjYFIY0JNYMtKTEFiRU8Pjwygy4ws4owPyCKwsMAJSTEgiQlgsbIAMrO0dKDGMTViREZ14kYGRGK38nHguHEJcvTyIEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDAggPg4iJAAMJCRUAJRIqiRGCBI0WQEEJJkWDERkYAAUKEBc4Po1GiKKJHkJDNEeKig4URLS0ICImJZAkuQAhjSi/wQyNKcGDCyMnk8u5rYrTgqDVghgZlYjcACTA1sslvtHRgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCQARAtOUoQRGRiFD0kJUYWZhUhKT1OLhR8wBaaFBzQ1NwAlkIszCQkvsbOHL7Y4q4IuEjaqq0ZQD5+GEEsJTDCMmIUhtgk1lo6QFUwJVDKLiYJNUd6/hoEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4uen4ICCA+IkIsDCQkVACWmhwSpFqAABQoQF6ALTkWFnYMrVlhWvIKTlSAiJiVVPqlGhJkhqShHV1lCW4cMqSkAR1ofiwsjJyqGgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCSMhREZGIYYGY2ElYebi56fhyWQniSKAKKfpaCLFlAPhl0gXYNGEwkhGYREUywag1wJwSkHNDU3D0kJYIMZQwk8MjPBLx9eXwuETVEyAC/BOKsuEjYFhoEAIfkECQgAAAAsAAAAABAAEAAAB2eAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4ueICImip6CIQkJKJ4kigynKaqKCyMnKqSEK05StgAGQRxPYZaENqccFgIID4KXmQBhXFkzDgOnFYLNgltaSAAEpxa7BQoQF4aBACH5BAkIAAAALAAAAAAQABAAAAdogACCg4SFggJiPUqCJSWGgkZjCUwZACQkgxGEXAmdT4UYGZqCGWQ+IjKGGIUwPzGPhAc0NTewhDOdL7Ykji+dOLuOLhI2BbaFETICx4MlQitdqoUsCQ2vhKGjglNfU0SWmILaj43M5oEAOwAAAAAAAAAAAA==) no-repeat center left; } -#full_list { padding: 0; list-style: none; margin-left: 0; margin-top: 80px; font-size: 1.1em; } -#full_list ul { padding: 0; } -#full_list li { padding: 0; margin: 0; list-style: none; } -#full_list li .item { padding: 5px 5px 5px 12px; } -#noresults { padding: 7px 12px; background: #fff; } -#content.insearch #noresults { margin-left: 7px; } -li.collapsed ul { display: none; } -li a.toggle { cursor: default; position: relative; left: -5px; top: 4px; text-indent: -999px; width: 10px; height: 9px; margin-left: -10px; display: block; float: left; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK8AAACvABQqw0mAAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTM5jWRgMAAAAVdEVYdENyZWF0aW9uIFRpbWUAMy8xNC8wOeNZPpQAAAE2SURBVDiNrZTBccIwEEXfelIAHUA6CZ24BGaWO+FuzZAK4k6gg5QAdGAq+Bxs2Yqx7BzyL7Llp/VfzZeQhCTc/ezuGzKKnKSzpCxXJM8fwNXda3df5RZETlIt6YUzSQDs93sl8w3wBZxCCE10GM1OcWbWjB2mWgEH4Mfdyxm3PSepBHibgQE2wLe7r4HjEidpnXMYdQPKEMJcsZ4zs2POYQOcaPfwMVOo58zsAdMt18BuoVDPxUJRacELbXv3hUIX2vYmOUvi8C8ydz/ThjXrqKqqLbDIAdsCKBd+Wo7GWa7o9qzOQHVVVXeAbs+yHHCH4aTsaCOQqunmUy1yBUAXkdMIfMlgF5EXLo2OpV/c/Up7jG4hhHcYLgWzAZXUc2b2ixsfvc/RmNNfOXD3Q/oeL9axJE1yT9IOoUu6MGUkAAAAAElFTkSuQmCC) no-repeat bottom left; } -li.collapsed a.toggle { opacity: 0.5; cursor: default; background-position: top left; } -li { color: #888; cursor: pointer; } -li.deprecated { text-decoration: line-through; font-style: italic; } -li.odd { background: #f0f0f0; } -li.even { background: #fafafa; } -.item:hover { background: #ddd; } -li small:before { content: "("; } -li small:after { content: ")"; } -li small.search_info { display: none; } -a, a:visited { text-decoration: none; color: #05a; } -li.clicked > .item { background: #05a; color: #ccc; } -li.clicked > .item a, li.clicked > .item a:visited { color: #eee; } -li.clicked > .item a.toggle { opacity: 0.5; background-position: bottom right; } -li.collapsed.clicked a.toggle { background-position: top right; } -#search input { border: 1px solid #bbb; border-radius: 3px; } -#full_list_nav { margin-left: 10px; font-size: 0.9em; display: block; color: #aaa; } -#full_list_nav a, #nav a:visited { color: #358; } -#full_list_nav a:hover { background: transparent; color: #5af; } -#full_list_nav span:after { content: ' | '; } -#full_list_nav span:last-child:after { content: ''; } - -#content h1 { margin-top: 0; } -li { white-space: nowrap; cursor: normal; } -li small { display: block; font-size: 0.8em; } -li small:before { content: ""; } -li small:after { content: ""; } -li small.search_info { display: none; } -#search { width: 170px; position: static; margin: 3px; margin-left: 10px; font-size: 0.9em; color: #888; padding-left: 0; padding-right: 24px; } -#content.insearch #search { background-position: center right; } -#search input { width: 110px; } - -#full_list.insearch ul { display: block; } -#full_list.insearch .item { display: none; } -#full_list.insearch .found { display: block; padding-left: 11px !important; } -#full_list.insearch li a.toggle { display: none; } -#full_list.insearch li small.search_info { display: block; } diff --git a/docs/css/style.css b/docs/css/style.css deleted file mode 100644 index f682a69..0000000 --- a/docs/css/style.css +++ /dev/null @@ -1,492 +0,0 @@ -html { - width: 100%; - height: 100%; -} -body { - font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; - font-size: 13px; - width: 100%; - margin: 0; - padding: 0; - display: flex; - display: -webkit-flex; - display: -ms-flexbox; -} - -#nav { - position: relative; - width: 100%; - height: 100%; - border: 0; - border-right: 1px dotted #eee; - overflow: auto; -} -.nav_wrap { - margin: 0; - padding: 0; - width: 20%; - height: 100%; - position: relative; - display: flex; - display: -webkit-flex; - display: -ms-flexbox; - flex-shrink: 0; - -webkit-flex-shrink: 0; - -ms-flex: 1 0; -} -#resizer { - position: absolute; - right: -5px; - top: 0; - width: 10px; - height: 100%; - cursor: col-resize; - z-index: 9999; -} -#main { - flex: 5 1; - -webkit-flex: 5 1; - -ms-flex: 5 1; - outline: none; - position: relative; - background: #fff; - padding: 1.2em; - padding-top: 0.2em; -} - -@media (max-width: 920px) { - .nav_wrap { width: 100%; top: 0; right: 0; overflow: visible; position: absolute; } - #resizer { display: none; } - #nav { - z-index: 9999; - background: #fff; - display: none; - position: absolute; - top: 40px; - right: 12px; - width: 500px; - max-width: 80%; - height: 80%; - overflow-y: scroll; - border: 1px solid #999; - border-collapse: collapse; - box-shadow: -7px 5px 25px #aaa; - border-radius: 2px; - } -} - -@media (min-width: 920px) { - body { height: 100%; overflow: hidden; } - #main { height: 100%; overflow: auto; } - #search { display: none; } -} - -#main img { max-width: 100%; } -h1 { font-size: 25px; margin: 1em 0 0.5em; padding-top: 4px; border-top: 1px dotted #d5d5d5; } -h1.noborder { border-top: 0px; margin-top: 0; padding-top: 4px; } -h1.title { margin-bottom: 10px; } -h1.alphaindex { margin-top: 0; font-size: 22px; } -h2 { - padding: 0; - padding-bottom: 3px; - border-bottom: 1px #aaa solid; - font-size: 1.4em; - margin: 1.8em 0 0.5em; - position: relative; -} -h2 small { font-weight: normal; font-size: 0.7em; display: inline; position: absolute; right: 0; } -h2 small a { - display: block; - height: 20px; - border: 1px solid #aaa; - border-bottom: 0; - border-top-left-radius: 5px; - background: #f8f8f8; - position: relative; - padding: 2px 7px; -} -.clear { clear: both; } -.inline { display: inline; } -.inline p:first-child { display: inline; } -.docstring, .tags, #filecontents { font-size: 15px; line-height: 1.5145em; } -.docstring p > code, .docstring p > tt, .tags p > code, .tags p > tt { - color: #c7254e; background: #f9f2f4; padding: 2px 4px; font-size: 1em; - border-radius: 4px; -} -.docstring h1, .docstring h2, .docstring h3, .docstring h4 { padding: 0; border: 0; border-bottom: 1px dotted #bbb; } -.docstring h1 { font-size: 1.2em; } -.docstring h2 { font-size: 1.1em; } -.docstring h3, .docstring h4 { font-size: 1em; border-bottom: 0; padding-top: 10px; } -.summary_desc .object_link a, .docstring .object_link a { - font-family: monospace; font-size: 1.05em; - color: #05a; background: #EDF4FA; padding: 2px 4px; font-size: 1em; - border-radius: 4px; -} -.rdoc-term { padding-right: 25px; font-weight: bold; } -.rdoc-list p { margin: 0; padding: 0; margin-bottom: 4px; } -.summary_desc pre.code .object_link a, .docstring pre.code .object_link a { - padding: 0px; background: inherit; color: inherit; border-radius: inherit; -} - -/* style for */ -#filecontents table, .docstring table { border-collapse: collapse; } -#filecontents table th, #filecontents table td, -.docstring table th, .docstring table td { border: 1px solid #ccc; padding: 8px; padding-right: 17px; } -#filecontents table tr:nth-child(odd), -.docstring table tr:nth-child(odd) { background: #eee; } -#filecontents table tr:nth-child(even), -.docstring table tr:nth-child(even) { background: #fff; } -#filecontents table th, .docstring table th { background: #fff; } - -/* style for
a",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="
"+""+"
",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="
t
",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="
",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")}; -f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&i.push({elem:this,matches:d.slice(e)});for(j=0;j0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
","
"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function() -{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); \ No newline at end of file diff --git a/docs/puppet_class_list.html b/docs/puppet_class_list.html deleted file mode 100644 index c84f552..0000000 --- a/docs/puppet_class_list.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - Puppet Class List - - - -
-
-

Puppet Class List

- - - -
- - -
- - diff --git a/docs/puppet_classes/rsyslog.html b/docs/puppet_classes/rsyslog.html deleted file mode 100644 index feb4e20..0000000 --- a/docs/puppet_classes/rsyslog.html +++ /dev/null @@ -1,699 +0,0 @@ - - - - - - - Puppet Class: rsyslog - - — Documentation by YARD 0.9.9 - - - - - - - - - - - - - - - - - - - -
- - -

Puppet Class: rsyslog

-
- -
-
Inherits:
-
::rsyslog::params
-
- - -
-
Defined in:
-
- manifests/init.pp -
-
-
- -

Overview

-
-
- -

Set up rsyslog 7

- -

The configuration is particularly slanted toward the issues present in the -version of rsyslog included with Enterprise Linux systems. It should still -work on other systems but they may have different/other bugs that have not -been addressed.

- -
-
-
-

Parameters:

-
    - -
  • - - service_name - - - (String) - - - (defaults to: $::rsyslog::params::service_name) - - - — -
    -

    The name of the RSyslog service; typically rsyslog

    -
    - -
  • - -
  • - - package_name - - - (String) - - - (defaults to: $::rsyslog::params::package_name) - - - — -
    -

    The name of the Rsyslog package to install; typically rsyslog

    -
    - -
  • - -
  • - - tls_package_name - - - (String) - - - (defaults to: $::rsyslog::params::tls_package_name) - - - — -
    -

    The name of the Rsyslog package to install TLS utilities; typically -rsyslog-gnutls

    -
    - -
  • - -
  • - - trusted_nets - - - (Simplib::Netlist) - - - (defaults to: simplib::lookup('simp_options::trusted_nets', {'default_value' => ['127.0.0.1/32'] })) - - - — -
    -

    A whitelist of subnets (in CIDR notation) permitted access

    -
    • -

      This will be used in conjunction with IPTables (if enabled) to allow -connections from within the given subnets.

      -
    -
    - -
  • - -
  • - - enable_tls_logging - - - (Boolean) - - - (defaults to: false) - - - — -
    -

    Enable the TLS libraries where applicable

    -
    • -

      If enabled, clients will encrypt all log data being sent to the given log -servers. Also, all log servers specified to use TLS (see -rsyslog::server::tls_tcp_server) will load the -imtcp libraries and set the necessary global -NetStreamDriver information.

      -
    -
    - -
  • - -
  • - - log_servers - - - (Simplib::Netlist) - - - (defaults to: simplib::lookup('simp_options::syslog::log_servers', { 'default_value' => [] })) - - - — -
    -

    A list of primary RSyslog servers

    -
    • -

      All nodes in this list will get a copy of all logs if -remote logging is enabled.

      -
    -
    - -
  • - -
  • - - failover_log_servers - - - (Simplib::Netlist) - - - (defaults to: simplib::lookup('simp_options::syslog::failover_log_servers', { 'default_value' => [] })) - - - — -
    -

    A list of the failover RSyslog servers

    -
    • -

      This order-dependent list will serve as all of the -possible failover log servers for clients to send to if the servers in -log_servers are unavailable.

      -
    -
    - -
  • - -
  • - - queue_spool_directory - - - (Stdlib::Absolutepath) - - - (defaults to: '/var/spool/rsyslog') - - - — -
    -

    The path to the directory where RSyslog should store disk message queues

    -
    - -
  • - -
  • - - rule_dir - - - (Stdlib::Absolutepath) - - - (defaults to: '/etc/rsyslog.simp.d') - - - — -
    -

    The path at which all managed rules will begin

    -
    - -
  • - -
  • - - tcp_server - - - (Boolean) - - - (defaults to: false) - - - — -
    -

    Make this host listen for TCP connections

    -
    • -

      Ideally, all connections would be TLS enabled. Only enable -this if necessary.

      -
    -
    - -
  • - -
  • - - tcp_listen_port - - - (Simplib::Port) - - - (defaults to: 514) - - - — -
    -

    The port upon which to listen for regular TCP connections

    -
    - -
  • - -
  • - - tls_tcp_server - - - (Boolean) - - - (defaults to: false) - - - — -
    -

    Make this host listen for TLS enabled TCP -connections

    -
    - -
  • - -
  • - - tls_tcp_listen_port - - - (Simplib::Port) - - - (defaults to: 6514) - - - — -
    -

    The port upon which to listen for TLS enabled TCP -connections

    -
    - -
  • - -
  • - - udp_server - - - (Boolean) - - - (defaults to: false) - - - — -
    -

    Make this host listend for UDP connections

    -
    • -

      This really should not be enabled unless you have devices that cannot -speak TLS @param enable_logrotate

      -
    -
    - -
  • - -
  • - - udp_listen_address - - - (String) - - - (defaults to: '127.0.0.1') - - - — -
    -

    The address upon which to listen for UDP connections

    -
    • -

      The default of 127.0.0.1 is set primariliy for supporting Java -applications that cannot work with a modern method of logging.

      -
    -
    - -
  • - -
  • - - udp_listen_port - - - (Simplib::Port) - - - (defaults to: 514) - - - — -
    -

    The port upon which to listen for UDP connections

    -
    - -
  • - -
  • - - read_journald - - - (Boolean) - - - (defaults to: $::rsyslog::params::read_journald) - - - — -
    -

    Enable the processing of journald messages natively in Rsyslog

    -
    - -
  • - -
  • - - logrotate - - - (Boolean) - - - (defaults to: simplib::lookup('simp_options::logrotate', {'default_value' => false})) - - - — -
    -

    Ensure that logrotate is enabled on this system

    -
    • -

      You will need to configure specific logrotate settings via the -logrotate module.

      -
    -
    - -
  • - -
  • - - pki - - - (Variant[Boolean,Enum['simp']]) - - - (defaults to: simplib::lookup('simp_options::pki', {'default_value' => false})) - - - — -
    • -

      If 'simp', include SIMP's pki module and use pki::copy to -manage application certs in /etc/pki/simp_apps/rsyslog/x509

      -
    • -

      If true, do not include SIMP's pki module, but still use -pki::copy to manage certs in /etc/pki/simp_apps/rsyslog/x509

      -
    • -

      If false, do not include SIMP's pki module and do not use pki::copy to -manage certs. You will need to appropriately assign a subset of:

      -
    • -

      app_pki_dir

      -
    • -

      app_pki_key

      -
    • -

      app_pki_cert

      -
    • -

      app_pki_ca

      -
    • -

      app_pki_ca_dir

      -
    -
    - -
  • - -
  • - - app_pki_external_source - - - (Stdlib::Absolutepath) - - - (defaults to: simplib::lookup('simp_options::pki::source', {'default_value' => '/etc/pki/simp/x509'})) - - - — -
    • -

      If pki = 'simp' or true, this is the directory from which certs -will be copied, via pki::copy. Defaults to /etc/pki/simp/x509.

      -
    • -

      If pki = false, this variable has no effect.

      -
    -
    - -
  • - -
  • - - app_pki_dir - - - (Stdlib::Absolutepath) - - - (defaults to: '/etc/pki/simp_apps/rsyslog/x509') - - - — -
    -

    Basepath of $default_net_stream_driver_ca_file, -default_net_stream_driver_cert_file, and -$default_net_stream_driver_key_file

    -
    - -
  • - -
- -

Author:

- - -
-
- - - - -
-
-
-
-116
-117
-118
-119
-120
-121
-122
-123
-124
-125
-126
-127
-128
-129
-130
-131
-132
-133
-134
-135
-136
-137
-138
-139
-140
-141
-142
-143
-144
-145
-146
-147
-148
-149
-150
-151
-152
-153
-154
-
-
# File 'manifests/init.pp', line 116
-
-class rsyslog (
-  String                        $service_name            = $::rsyslog::params::service_name,
-  String                        $package_name            = $::rsyslog::params::package_name,
-  String                        $tls_package_name        = $::rsyslog::params::tls_package_name,
-  Simplib::Netlist              $trusted_nets            = simplib::lookup('simp_options::trusted_nets', {'default_value'                  => ['127.0.0.1/32'] }),
-  Boolean                       $enable_tls_logging      = false,
-  Simplib::Netlist              $log_servers             = simplib::lookup('simp_options::syslog::log_servers', { 'default_value'          => [] }),
-  Simplib::Netlist              $failover_log_servers    = simplib::lookup('simp_options::syslog::failover_log_servers', { 'default_value' => [] }),
-  Stdlib::Absolutepath          $queue_spool_directory   = '/var/spool/rsyslog',
-  Stdlib::Absolutepath          $rule_dir                = '/etc/rsyslog.simp.d',
-  Boolean                       $tcp_server              = false,
-  Simplib::Port                 $tcp_listen_port         = 514,
-  Boolean                       $tls_tcp_server          = false,
-  Simplib::Port                 $tls_tcp_listen_port     = 6514,
-  Boolean                       $udp_server              = false,
-  String                        $udp_listen_address      = '127.0.0.1',
-  Simplib::Port                 $udp_listen_port         = 514,
-  Boolean                       $read_journald           = $::rsyslog::params::read_journald,
-  Boolean                       $logrotate               = simplib::lookup('simp_options::logrotate', {'default_value'                     => false}),
-  Variant[Boolean,Enum['simp']] $pki                     = simplib::lookup('simp_options::pki', {'default_value'                           => false}),
-  Stdlib::Absolutepath          $app_pki_external_source = simplib::lookup('simp_options::pki::source', {'default_value'                   => '/etc/pki/simp/x509'}),
-  Stdlib::Absolutepath          $app_pki_dir             = '/etc/pki/simp_apps/rsyslog/x509'
-) inherits ::rsyslog::params {
-
-  contain '::rsyslog::install'
-  contain '::rsyslog::config'
-  contain '::rsyslog::service'
-
-  # lint:ignore:arrow_on_right_operand_line
-  Class['rsyslog::install'] ->
-  Class['rsyslog::config'] ~>
-  Class['rsyslog::service']
-  # lint:endignore
-
-  if $logrotate {
-    contain '::rsyslog::config::logrotate'
-    Class['rsyslog::service'] -> Class['rsyslog::config::logrotate']
-  }
-}
-
- - - - - - - - \ No newline at end of file diff --git a/docs/puppet_classes/rsyslog_3A_3Aconfig.html b/docs/puppet_classes/rsyslog_3A_3Aconfig.html deleted file mode 100644 index 5e9698f..0000000 --- a/docs/puppet_classes/rsyslog_3A_3Aconfig.html +++ /dev/null @@ -1,1424 +0,0 @@ - - - - - - - Puppet Class: rsyslog::config - - — Documentation by YARD 0.9.9 - - - - - - - - - - - - - - - - - - - -
- - -

Puppet Class: rsyslog::config

-
- - -
-
Defined in:
-
- manifests/config.pp -
-
-
- -

Overview

-
-
- -

NOTE: THIS IS A PRIVATE -CLASS

- -

Setup RSyslog configuration. Creates /etc/rsyslog.conf and includes all -SIMP config subdirectories in /etc/rsyslog.simp.d.

- -

NOTE Any undocumented parameters map directly to their -counterparts in the Rsyslog configuration files.

- -
-
-
-

Parameters:

-
    - -
  • - - umask - - - (String) - - - (defaults to: '0027') - - - — -
    -

    The umask that should be applied to the running process

    -
    - -
  • - -
  • - - localhostname - - - (String) - - - (defaults to: $facts['fqdn']) - - - — -
    -

    The Hostname that should be used on your syslog messages

    -
    - -
  • - -
  • - - preserve_fqdn - - - (Boolean) - - - (defaults to: true) - - - — -
    -

    Ensure that the fqdn of the originating host is preserved in -all log messages

    -
    - -
  • - -
  • - - control_character_escape_prefix - - - (String[1,1]) - - - (defaults to: '#') - - -
  • - -
  • - - drop_msgs_with_malicious_dns_ptr_records - - - (Enum['off','on']) - - - (defaults to: 'off') - - -
  • - -
  • - - escape_control_characters_on_receive - - - (Enum['off','on']) - - - (defaults to: 'on') - - -
  • - -
  • - - default_template - - - (String) - - - (defaults to: 'original') - - - — -
    -

    The default template to use to output to various services

    -
    • -

      The provided template has been designed to work with external parsing -tools that require the priority text

      -
    • -

      You can also choose from the following values in order to select from one -of the built-in rsyslogd formats.

      -
      • -

        forward -> RSYSLOG_Forward

        -
      • -

        original -> RSYSLOG_FileFormat

        -
      • -

        traditional -> RSYSLOG_TraditionalFileFormat

        -
      -
    -
    - -
  • - -
  • - - syssock_ignore_timestamp - - - (Boolean) - - - (defaults to: true) - - -
  • - -
  • - - syssock_ignore_own_messages - - - (Boolean) - - - (defaults to: true) - - -
  • - -
  • - - syssock_use - - - (Boolean) - - - (defaults to: true) - - -
  • - -
  • - - syssock_name - - - (Optional[String]) - - - (defaults to: undef) - - -
  • - -
  • - - syssock_flow_control - - - (Boolean) - - - (defaults to: false) - - -
  • - -
  • - - syssock_use_pid_from_system - - - (Boolean) - - - (defaults to: false) - - -
  • - -
  • - - syssock_rate_limit_interval - - - (Integer[0]) - - - (defaults to: 0) - - -
  • - -
  • - - syssock_rate_limit_burst - - - (Integer[0]) - - - (defaults to: 1000) - - -
  • - -
  • - - syssock_rate_limit_severity - - - (Integer[0]) - - - (defaults to: 5) - - -
  • - -
  • - - syssock_use_sys_timestamp - - - (Boolean) - - - (defaults to: true) - - -
  • - -
  • - - syssock_annotate - - - (Boolean) - - - (defaults to: false) - - -
  • - -
  • - - syssock_parse_trusted - - - (Boolean) - - - (defaults to: false) - - -
  • - -
  • - - syssock_unlink - - - (Boolean) - - - (defaults to: true) - - -
  • - -
  • - - main_msg_queue_type - - - (Enum['LinkedList','FixedArray']) - - - (defaults to: 'LinkedList') - - - — -
    -

    The type of queue that will be used

    -
    • -

      It is highly recommended that you leave this as -LinkedList unless you really know what you are doing.

      -
    -
    - -
  • - -
  • - - main_msg_queue_filename - - - (String) - - - (defaults to: 'main_msg_queue') - - -
  • - -
  • - - main_msg_queue_size - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - - — -
    -

    The size of the main (global) message queue

    -
    • -

      By default, the minimum of 1% of physical memory or 1G, based on a 512B -message size. The maximum number of messages that may be stored in the -memory queue.

      -
    -
    - -
  • - -
  • - - main_msg_queue_high_watermark - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - - — -
    -

    The point at which the queue will start writing messages to disk as a -number of messages

    -
    • -

      By default, 90% of $main_msg_queue_size

      -
    -
    - -
  • - -
  • - - main_msg_queue_low_watermark - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - - — -
    -

    The point at which the queue will stop writing messages to disk as a number -of messages

    -
    • -

      NOTE: This must be lower than -$main_msg_queue_high_watermark

      -
    • -

      By default, 70% of $main_msg_queue_size

      -
    -
    - -
  • - -
  • - - main_msg_queue_discardmark - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - - — -
    -

    The point at which the queue will discard messages

    -
    • -

      By default, 98% of $main_msg_queue_size

      -
    -
    - -
  • - -
  • - - main_msg_queue_worker_thread_minimum_messages - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - - — -
    -

    The minimum number of messages in the queue before a new thread can be -spawned

    -
    • -

      If left empty (the default), will calculate the value based on the -following formula: $main_msg_queue_size/(($processorcount - -1)*4)

      -
    -
    - -
  • - -
  • - - main_msg_queue_worker_threads - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - - — -
    -

    The maximum number of threads to spawn on the system

    -
    • -

      By default, $processorcount - 1

      -
    -
    - -
  • - -
  • - - main_msg_queue_worker_timeout_thread_shutdown - - - (Integer[0]) - - - (defaults to: 5000) - - -
  • - -
  • - - main_msg_queue_timeout_enqueue - - - (Integer[0]) - - - (defaults to: 100) - - -
  • - -
  • - - main_msg_queue_dequeue_slowdown - - - (Integer[0]) - - - (defaults to: 0) - - -
  • - -
  • - - main_msg_queue_save_on_shutdown - - - (Enum['on','off']) - - - (defaults to: 'on') - - -
  • - -
  • - - main_msg_queue_max_disk_space - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - - — -
    -

    The maximum amount of disk space to use for the disk queue.

    -
    • -

      Specified as a digit followed by a unit specifier. For example:

      -
      • -

        100 -> 100 Bytes

        -
      • -

        100K -> 100 Kilobytes

        -
      • -

        100M -> 100 Megabytes

        -
      • -

        100G -> 100 Gigabytes

        -
      • -

        100T -> 100 Terabytes

        -
      • -

        100P -> 100 Petabytes

        -
      -
    • -

      If not specified, will default to $main_msg_queue_size * 1024

      -
    -
    - -
  • - -
  • - - main_msg_queue_max_file_size - - - (Integer[0]) - - - (defaults to: 5) - - - — -
    -

    The maximum file size, in Megabytes, that should be created when buffering -to disk.

    -
    • -

      NOTE: It is not recommended to make this excessively large

      -
    -
    - -
  • - -
  • - - repeated_msg_reduction - - - (Enum['on','off']) - - - (defaults to: 'on') - - -
  • - -
  • - - work_directory - - - (Stdlib::Absolutepath) - - - (defaults to: '/var/spool/rsyslog') - - -
  • - -
  • - - interval - - - (Integer[0]) - - - (defaults to: 0) - - - — -
    -

    The mark interval

    -
    - -
  • - -
  • - - tls_tcp_max_sessions - - - (Integer[0]) - - - (defaults to: 200) - - - — -
    -

    The maximum number of sessions to support

    -
    - -
  • - -
  • - - tls_input_tcp_server_stream_driver_permitted_peers - - - (Array[String]) - - - (defaults to: ["*.${::domain}"]) - - - — -
    -

    A wildcard-capable Array of domains that should be allowed to talk -to the server over TLS

    -
    - -
  • - -
  • - - default_net_stream_driver - - - (Enum['gtls','ptcp']) - - - (defaults to: 'gtls') - - -
  • - -
  • - - default_net_stream_driver_ca_file - - - (Stdlib::Absolutepath) - - - (defaults to: "${::rsyslog::app_pki_dir}/cacerts/cacerts.pem") - - -
  • - -
  • - - default_net_stream_driver_cert_file - - - (Stdlib::Absolutepath) - - - (defaults to: "${::rsyslog::app_pki_dir}/public/${::fqdn}.pub") - - -
  • - -
  • - - default_net_stream_driver_key_file - - - (Stdlib::Absolutepath) - - - (defaults to: "${::rsyslog::app_pki_dir}/private/${::fqdn}.pem") - - -
  • - -
  • - - action_send_stream_driver_mode - - - (Enum['1','0']) - - - (defaults to: () - - -
  • - -
  • - - action_send_stream_driver_auth_mode - - - (Optional[String]) - - - (defaults to: undef) - - -
  • - -
  • - - action_send_stream_driver_permitted_peers - - - (Array[String]) - - - (defaults to: $::rsyslog::log_servers) - - -
  • - -
  • - - ulimit_max_open_files - - - (Variant[Enum['unlimited'],Integer[0]]) - - - (defaults to: 'unlimited') - - - — -
    -

    The maximum open files limit that should be set for the syslog server

    -
    • -

      1024 is fine for most purposes, but a collection server should -bump this way up.

      -
    -
    - -
  • - -
  • - - host_list - - - (Array[String]) - - - (defaults to: []) - - - — -
    -

    Hosts that should be logged with their simple hostname

    -
    • -

      See the -l option in rsyslogd(8) for more -information

      -
    -
    - -
  • - -
  • - - domain_list - - - (Array[String]) - - - (defaults to: []) - - - — -
    -

    Array of domains that should be stripped off before logging

    -
    • -

      See the -s option in rsyslogd(8) for more -information

      -
    -
    - -
  • - -
  • - - suppress_noauth_warn - - - (Boolean) - - - (defaults to: false) - - - — -
    -

    Suppress warnings due to hosts not in the ACL

    -
    • -

      See the -w option in rsyslogd(8) for more -information

      -
    -
    - -
  • - -
  • - - disable_remote_dns - - - (Boolean) - - - (defaults to: false) - - - — -
    -

    Disable DNS lookups for remote messages

    -
    • -

      See the -x option in rsyslogd(8) for more -information

      -
    -
    - -
  • - -
  • - - enable_default_rules - - - (Boolean) - - - (defaults to: true) - - - — -
    -

    Enables default rules for logging common services (e.g., iptables, puppet, -slapd_auditd)

    -
    - -
  • - -
  • - - read_journald - - - (Boolean) - - - (defaults to: $::rsyslog::read_journald) - - - — -
    -

    Enable the forwarding of the systemd journal to syslog

    -
    - -
  • - -
  • - - include_rsyslog_d - - - (Boolean) - - - (defaults to: false) - - - — -
    -

    Include all configuration files in the system-standard -/etc/rsyslog.d

    -
    • -

      This will place the configuration files after the global -configuration but before the SIMP applied configurations.

      -
    -
    - -
  • - -
- - -
- - - - - -
-
-
-
-179
-180
-181
-182
-183
-184
-185
-186
-187
-188
-189
-190
-191
-192
-193
-194
-195
-196
-197
-198
-199
-200
-201
-202
-203
-204
-205
-206
-207
-208
-209
-210
-211
-212
-213
-214
-215
-216
-217
-218
-219
-220
-221
-222
-223
-224
-225
-226
-227
-228
-229
-230
-231
-232
-233
-234
-235
-236
-237
-238
-239
-240
-241
-242
-243
-244
-245
-246
-247
-248
-249
-250
-251
-252
-253
-254
-255
-256
-257
-258
-259
-260
-261
-262
-263
-264
-265
-266
-267
-268
-269
-270
-271
-272
-273
-274
-275
-276
-277
-278
-279
-280
-281
-282
-283
-284
-285
-286
-287
-288
-289
-290
-291
-292
-293
-294
-295
-296
-297
-298
-299
-300
-301
-302
-303
-304
-305
-306
-307
-308
-309
-310
-311
-312
-313
-314
-315
-316
-317
-318
-319
-320
-321
-322
-323
-324
-325
-326
-327
-328
-329
-330
-331
-332
-333
-334
-335
-336
-337
-338
-339
-340
-341
-342
-343
-344
-345
-346
-347
-348
-349
-350
-351
-352
-353
-354
-355
-356
-357
-358
-359
-360
-361
-362
-363
-364
-365
-366
-367
-368
-369
-370
-
-
# File 'manifests/config.pp', line 179
-
-class rsyslog::config (
-  String                                $umask                                              = '0027',
-  String                                $localhostname                                      = $facts['fqdn'],
-  Boolean                               $preserve_fqdn                                      = true,
-  String[1,1]                           $control_character_escape_prefix                    = '#',
-  Enum['off','on']                      $drop_msgs_with_malicious_dns_ptr_records           = 'off',
-  Enum['off','on']                      $escape_control_characters_on_receive               = 'on',
-  String                                $default_template                                   = 'original',
-
-  # Parameters for imuxsock with sensible defaults
-  Boolean                               $syssock_ignore_timestamp                           = true,
-  Boolean                               $syssock_ignore_own_messages                        = true,
-  Boolean                               $syssock_use                                        = true,
-  Optional[String]                      $syssock_name                                       = undef,
-  Boolean                               $syssock_flow_control                               = false,
-  Boolean                               $syssock_use_pid_from_system                        = false,
-  Integer[0]                            $syssock_rate_limit_interval                        = 0,
-  Integer[0]                            $syssock_rate_limit_burst                           = 1000,
-  Integer[0]                            $syssock_rate_limit_severity                        = 5,
-  Boolean                               $syssock_use_sys_timestamp                          = true,
-  Boolean                               $syssock_annotate                                   = false,
-  Boolean                               $syssock_parse_trusted                              = false,
-  Boolean                               $syssock_unlink                                     = true,
-
-  # Main message queue global defaults
-  Enum['LinkedList','FixedArray']       $main_msg_queue_type                                = 'LinkedList',
-  String                                $main_msg_queue_filename                            = 'main_msg_queue',
-  Integer[0]                            $main_msg_queue_max_file_size                       = 5,
-  Optional[Integer[0]]                  $main_msg_queue_size                                = undef,
-  Optional[Integer[0]]                  $main_msg_queue_high_watermark                      = undef,
-  Optional[Integer[0]]                  $main_msg_queue_low_watermark                       = undef,
-  Optional[Integer[0]]                  $main_msg_queue_discardmark                         = undef,
-  Optional[Integer[0]]                  $main_msg_queue_worker_thread_minimum_messages      = undef,
-  Optional[Integer[0]]                  $main_msg_queue_worker_threads                      = undef,
-  Integer[0]                            $main_msg_queue_worker_timeout_thread_shutdown      = 5000,
-  Integer[0]                            $main_msg_queue_timeout_enqueue                     = 100,
-  Integer[0]                            $main_msg_queue_dequeue_slowdown                    = 0,
-  Enum['on','off']                      $main_msg_queue_save_on_shutdown                    = 'on',
-  Optional[Integer[0]]                  $main_msg_queue_max_disk_space                      = undef,
-
-  Enum['on','off']                      $repeated_msg_reduction                             = 'on',
-  Stdlib::Absolutepath                  $work_directory                                     = '/var/spool/rsyslog',
-  Integer[0]                            $interval                                           = 0,
-  Integer[0]                            $tls_tcp_max_sessions                               = 200,
-  Array[String]                         $tls_input_tcp_server_stream_driver_permitted_peers = ["*.${::domain}"],
-
-  Enum['gtls','ptcp']                   $default_net_stream_driver                          = 'gtls',
-  Stdlib::Absolutepath                  $default_net_stream_driver_ca_file                  = "${::rsyslog::app_pki_dir}/cacerts/cacerts.pem",
-  Stdlib::Absolutepath                  $default_net_stream_driver_cert_file                = "${::rsyslog::app_pki_dir}/public/${::fqdn}.pub",
-  Stdlib::Absolutepath                  $default_net_stream_driver_key_file                 = "${::rsyslog::app_pki_dir}/private/${::fqdn}.pem",
-
-  Enum['1','0']                         $action_send_stream_driver_mode                     = ($::rsyslog::pki or $::rsyslog::tls_tcp_server or $::rsyslog::enable_tls_logging) ? { true => '1', default => '0' },
-  Optional[String]                      $action_send_stream_driver_auth_mode                = undef,
-  Array[String]                         $action_send_stream_driver_permitted_peers          = $::rsyslog::log_servers,
-
-  Variant[Enum['unlimited'],Integer[0]] $ulimit_max_open_files                              = 'unlimited',
-  Array[String]                         $host_list                                          = [],
-  Array[String]                         $domain_list                                        = [],
-  Boolean                               $suppress_noauth_warn                               = false,
-  Boolean                               $disable_remote_dns                                 = false,
-  Boolean                               $enable_default_rules                               = true,
-  Boolean                               $read_journald                                      = $::rsyslog::read_journald,
-  Boolean                               $include_rsyslog_d                                  = false
-) {
-  assert_private()
-
-  $_tcp_server = pick($::rsyslog::tcp_server, false)
-  $_tls_tcp_server = pick($::rsyslog::tls_tcp_server, false)
-  $_tcp_listen_port = pick($::rsyslog::tcp_listen_port, '514')
-  $_tls_tcp_listen_port = pick($::rsyslog::tls_tcp_listen_port, '6514')
-  $_udp_server = pick($::rsyslog::udp_server, false)
-  $_udp_listen_port = pick($::rsyslog::udp_listen_port, '514')
-  $_enable_tls_logging = pick($::rsyslog::enable_tls_logging, false)
-
-  if $::rsyslog::pki {
-    pki::copy { 'rsyslog':
-      source => $::rsyslog::app_pki_external_source,
-      pki    => $::rsyslog::pki
-    }
-  }
-
-  if $read_journald and member($facts['init_systems'], 'systemd') {
-    $_read_journald = true
-  }
-  else {
-    $_read_journald = false
-  }
-
-  # set the driver auth_mode based on the mode
-  if $action_send_stream_driver_auth_mode {
-    $_action_send_stream_driver_auth_mode = $action_send_stream_driver_auth_mode
-  }
-  else {
-    $_action_send_stream_driver_auth_mode = $action_send_stream_driver_mode ? {
-      '0'     => 'anon',
-      default => 'x509/name'
-    }
-  }
-
-  $_default_template = $default_template ? {
-    'traditional' => 'RSYSLOG_TraditionalFormat',
-    'original'    => 'RSYSLOG_FileFormat',
-    'forward'     => 'RSYSLOG_ForwardFormat',
-    default       => $default_template
-  }
-
-  # This is where the custom rules will go. They will be purged if not managed!
-  file { $::rsyslog::rule_dir:
-    ensure  => 'directory',
-    owner   => 'root',
-    group   => 'root',
-    recurse => true,
-    purge   => true,
-    force   => true,
-    mode    => '0750'
-  }
-
-  file { '/etc/rsyslog.d':
-    ensure => 'directory',
-    owner  => 'root',
-    group  => 'root',
-    mode   => '0755'
-  }
-
-  file { '/etc/rsyslog.d/README_SIMP.conf':
-    ensure  => 'file',
-    owner   => 'root',
-    group   => 'root',
-    mode    => '0644',
-    content => '# Place ".conf" files that rsyslog should process independently of SIMP into this directory.\n'
-  }
-
-  file { '/var/spool/rsyslog':
-    ensure => 'directory',
-    owner  => 'root',
-    group  => 'root',
-    mode   => '0700'
-  }
-
-  if $enable_default_rules {
-    rsyslog::rule { '99_simp_local/ZZ_default.conf':
-      content => file("${module_name}/config/rsyslog.default")
-    }
-  }
-
-  file { '/etc/rsyslog.conf':
-    ensure  => 'present',
-    owner   => 'root',
-    group   => 'root',
-    mode    => '0600',
-    content => "\$IncludeConfig ${::rsyslog::rule_dir}/*.conf"
-  }
-
-  file { '/etc/sysconfig/rsyslog':
-    owner   => 'root',
-    group   => 'root',
-    mode    => '0640',
-    content => template("${module_name}/sysconfig.erb")
-  }
-
-  rsyslog::rule { '00_simp_pre_logging/global.conf':
-    content => template("${module_name}/config/pre_logging.conf.erb")
-  }
-
-  rsyslog::rule { '09_failover_hack/failover_hack.conf':
-    # lint:ignore:variable_scope
-    content => @(EOM)
-      # For failover to be defined and parse properly, we must place it somewhere
-      # after the first rule is defined. Therefore, we are creating this noop rule.
-
-      if $syslogfacility == 'local0' and $msg startswith 'placeholder_rule' then continue
-      |EOM
-    # lint:endignore
-  }
-
-  if $include_rsyslog_d {
-    rsyslog::rule { '15_include_default_rsyslog/include_default_rsyslog.conf':
-      content => '$IncludeConfig /etc/rsyslog.d/'
-    }
-  }
-
-  rsyslog::template::string { 'defaultTemplate':
-    string => $_default_template
-  }
-
-  # Set the maximum number of open files in the init script.
-  init_ulimit { 'mod_open_files_rsyslog':
-    target => 'rsyslog',
-    item   => 'max_open_files',
-    value  => $ulimit_max_open_files
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/docs/puppet_classes/rsyslog_3A_3Aconfig_3A_3Alogrotate.html b/docs/puppet_classes/rsyslog_3A_3Aconfig_3A_3Alogrotate.html deleted file mode 100644 index e8d95e8..0000000 --- a/docs/puppet_classes/rsyslog_3A_3Aconfig_3A_3Alogrotate.html +++ /dev/null @@ -1,234 +0,0 @@ - - - - - - - Puppet Class: rsyslog::config::logrotate - - — Documentation by YARD 0.9.9 - - - - - - - - - - - - - - - - - - - -
- - -

Puppet Class: rsyslog::config::logrotate

-
- - -
-
Defined in:
-
- manifests/config/logrotate.pp -
-
-
- -

Overview

-
-
- -

NOTE: THIS IS A PRIVATE -CLASS

- -

Default log rotation for RSyslog

- -

The list that is managed here matches the list of default files that are -managed on the system by this module.

- -
-
-
-

Parameters:

-
    - -
  • - - rotate_period - - - (Enum['daily','weekly','monthly','yearly']) - - - (defaults to: 'daily') - - - — -
    -

    How often to rotate the logs

    -
    - -
  • - -
  • - - rotate_preserve - - - (Integer[0]) - - - (defaults to: 7) - - - — -
    -

    How many rotated logs to keep

    -
    - -
  • - -
  • - - rotate_size - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - - — -
    -

    The maximum size of a log file

    -
    • -

      $rotate_period will be ignored if this is specified

      -
    -
    - -
  • - -
- - -
- - - - - -
-
-
-
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-
-
# File 'manifests/config/logrotate.pp', line 19
-
-class rsyslog::config::logrotate (
-  Enum['daily','weekly','monthly','yearly'] $rotate_period   = 'daily',
-  Integer[0]                                $rotate_preserve = 7,
-  Optional[Integer[0]]                      $rotate_size     = undef
-){
-  assert_private()
-
-  include '::logrotate'
-
-  logrotate::rule { 'syslog':
-    log_files                 => [
-      '/var/log/boot.log',
-      '/var/log/cron',
-      '/var/log/iptables.log',
-      '/var/log/maillog',
-      '/var/log/messages',
-      '/var/log/puppet*.log',
-      '/var/log/secure',
-      '/var/log/slapd*.log',
-      '/var/log/spooler'
-    ],
-    size                      => $rotate_size,
-    rotate_period             => $rotate_period,
-    rotate                    => $rotate_preserve,
-    lastaction_restart_logger => true,
-    missingok                 => true
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/docs/puppet_classes/rsyslog_3A_3Ainstall.html b/docs/puppet_classes/rsyslog_3A_3Ainstall.html deleted file mode 100644 index c859d55..0000000 --- a/docs/puppet_classes/rsyslog_3A_3Ainstall.html +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - - Puppet Class: rsyslog::install - - — Documentation by YARD 0.9.9 - - - - - - - - - - - - - - - - - - - -
- - -

Puppet Class: rsyslog::install

-
- - -
-
Defined in:
-
- manifests/install.pp -
-
-
- -

Overview

-
-
- -

NOTE: THIS IS A PRIVATE -CLASS

- -

Installs the packages necessary for use of RSyslog

- -
-
-
-

Parameters:

-
    - -
  • - - ensure - - - (String) - - - (defaults to: 'latest') - - - — -
    -

    How to install the packages

    -
    • -

      Accepts the same values as the Package resource's -ensure parameter

      -
    -
    - -
  • - -
- - -
- - - - - -
-
-
-
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-
-
# File 'manifests/install.pp', line 11
-
-class rsyslog::install (
-  String $ensure = 'latest'
-) {
-  assert_private()
-
-  $_full_rsyslog_package = "${::rsyslog::package_name}.${facts['hardwaremodel']}"
-
-  package { $_full_rsyslog_package: ensure => $ensure }
-
-  # remove existing/conflicting packages
-  if $::rsyslog::package_name == 'rsyslog7' {
-    package { "rsyslog.${facts['hardwaremodel']}":
-      ensure            => 'absent',
-      uninstall_options => ['--nodeps'],
-      provider          => 'rpm',
-      before            => Package[$_full_rsyslog_package]
-    }
-  }
-
-  # Some hackery to remove the i386 version of rsyslog if you're on a x86_64
-  # system.
-  if $facts['hardwaremodel'] == 'x86_64' {
-    package { "${::rsyslog::package_name}.i386":
-      ensure => 'absent',
-      before => Package[$_full_rsyslog_package]
-    }
-  }
-
-  if ( $::rsyslog::enable_tls_logging or $::rsyslog::tls_tcp_server ) {
-    package { $::rsyslog::tls_package_name:
-      ensure  => $ensure,
-      require => Package[$_full_rsyslog_package]
-    }
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/docs/puppet_classes/rsyslog_3A_3Aparams.html b/docs/puppet_classes/rsyslog_3A_3Aparams.html deleted file mode 100644 index 5bacfc2..0000000 --- a/docs/puppet_classes/rsyslog_3A_3Aparams.html +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - - Puppet Class: rsyslog::params - - — Documentation by YARD 0.9.9 - - - - - - - - - - - - - - - - - - - -
- - -

Puppet Class: rsyslog::params

-
- - -
-
Defined in:
-
- manifests/params.pp -
-
-
- -

Overview

-
-
- -

A list of the parameters and their default values for RSyslog.

- -
-
-
-

Parameters:

-
    - -
  • - - service_name - - - (String) - - - - — -
    -

    The name of the rsyslog service

    -
    - -
  • - -
  • - - package_name - - - (String) - - - - — -
    -

    The name of the rsyslog package

    -
    - -
  • - -
  • - - tls_package_name - - - (String) - - - - — -
    -

    The name of the rsyslog package providing GNUTLS support

    -
    - -
  • - -
  • - - read_journald - - - (Boolean) - - - - — -
    -

    Tie in the reading of journald if available

    -
    - -
  • - -
- -

Author:

- - -
- - - - - -
-
-
-
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-
-
# File 'manifests/params.pp', line 17
-
-class rsyslog::params {
-  $service_name       = 'rsyslog'
-  if ($facts['os']['name'] in ['RedHat','CentOS']) and ($facts['os']['release']['major'] == '6') {
-    $package_name  = 'rsyslog7'
-    $read_journald = false
-  }
-  else {
-    $package_name  = 'rsyslog'
-    $read_journald = true
-  }
-
-  $tls_package_name = "${package_name}-gnutls"
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/docs/puppet_classes/rsyslog_3A_3Aserver.html b/docs/puppet_classes/rsyslog_3A_3Aserver.html deleted file mode 100644 index d33f6af..0000000 --- a/docs/puppet_classes/rsyslog_3A_3Aserver.html +++ /dev/null @@ -1,222 +0,0 @@ - - - - - - - Puppet Class: rsyslog::server - - — Documentation by YARD 0.9.9 - - - - - - - - - - - - - - - - - - - -
- - -

Puppet Class: rsyslog::server

-
- - -
-
Defined in:
-
- manifests/server.pp -
-
-
- -

Overview

-
-
- -

Sets up the RSyslog server

- -

This class is designed to configure the externally facing interfaces for a -RSyslog system. If you do not need external connectivity, you should just -use the stock ::rsyslog Class.

- -
-
-
-

Parameters:

-
    - -
  • - - enable_firewall - - - (Boolean) - - - (defaults to: simplib::lookup('simp_options::firewall', { 'default_value' => false })) - - - — -
    -

    Enable the SIMP firewall rules for RSyslog

    -
    - -
  • - -
  • - - enable_selinux - - - (Optional[Boolean]) - - - (defaults to: $facts['selinux_enforced']) - - - — -
    -

    Enable the SIMP SELinux rules for RSyslog

    -
    - -
  • - -
  • - - enable_tcpwrappers - - - (Boolean) - - - (defaults to: simplib::lookup('simp_options::tcpwrappers', { 'default_value' => false })) - - - — -
    -

    Enable the SIMP TCPWrapper rules for RSyslog

    -
    - -
  • - -
- - -
- - - - - -
-
-
-
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-
-
# File 'manifests/server.pp', line 16
-
-class rsyslog::server (
-  Boolean           $enable_firewall    = simplib::lookup('simp_options::firewall', { 'default_value' => false }),
-  Optional[Boolean] $enable_selinux     = $facts['selinux_enforced'],
-  Boolean           $enable_tcpwrappers = simplib::lookup('simp_options::tcpwrappers', { 'default_value' => false })
-) {
-  include '::rsyslog'
-
-  if $enable_firewall {
-    contain '::rsyslog::server::firewall'
-
-    Class['rsyslog::service'] -> Class['rsyslog::server::firewall']
-  }
-
-  if $enable_selinux {
-    contain '::rsyslog::server::selinux'
-
-    Class['rsyslog::server::selinux'] -> Class['rsyslog::service']
-  }
-
-  if $enable_tcpwrappers {
-    contain '::rsyslog::server::tcpwrappers'
-
-    Class['rsyslog::service'] -> Class['rsyslog::server::tcpwrappers']
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/docs/puppet_classes/rsyslog_3A_3Aserver_3A_3Afirewall.html b/docs/puppet_classes/rsyslog_3A_3Aserver_3A_3Afirewall.html deleted file mode 100644 index d84db5b..0000000 --- a/docs/puppet_classes/rsyslog_3A_3Aserver_3A_3Afirewall.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - Puppet Class: rsyslog::server::firewall - - — Documentation by YARD 0.9.9 - - - - - - - - - - - - - - - - - - - -
- - -

Puppet Class: rsyslog::server::firewall

-
- - -
-
Defined in:
-
- manifests/server/firewall.pp -
-
-
- -

Overview

-
-
- -

NOTE: THIS IS A PRIVATE -CLASS

- -

Sets up the firewall rules for RSyslog with IPTables

- -

In ports will be openened for all systems inside of the -$::rsyslog::trusted_nets Array.

- -
-
-
- - -
- - - - - -
-
-
-
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-
-
# File 'manifests/server/firewall.pp', line 8
-
-class rsyslog::server::firewall {
-  assert_private()
-
-  if $::rsyslog::tls_tcp_server {
-    iptables::listen::tcp_stateful { 'syslog_tls_tcp':
-      trusted_nets => $::rsyslog::trusted_nets,
-      dports       => $::rsyslog::tls_tcp_listen_port
-    }
-  }
-
-  if $::rsyslog::tcp_server {
-    iptables::listen::tcp_stateful { 'syslog_tcp':
-      trusted_nets => $::rsyslog::trusted_nets,
-      dports       => $::rsyslog::tcp_listen_port
-    }
-  }
-
-  if $::rsyslog::udp_server {
-    iptables::listen::udp { 'syslog_udp':
-      trusted_nets => $::rsyslog::trusted_nets,
-      dports       => $::rsyslog::udp_listen_port
-    }
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/docs/puppet_classes/rsyslog_3A_3Aserver_3A_3Aselinux.html b/docs/puppet_classes/rsyslog_3A_3Aserver_3A_3Aselinux.html deleted file mode 100644 index cb9c261..0000000 --- a/docs/puppet_classes/rsyslog_3A_3Aserver_3A_3Aselinux.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - Puppet Class: rsyslog::server::selinux - - — Documentation by YARD 0.9.9 - - - - - - - - - - - - - - - - - - - -
- - -

Puppet Class: rsyslog::server::selinux

-
- - -
-
Defined in:
-
- manifests/server/selinux.pp -
-
-
- -

Overview

-
-
- -

NOTE: THIS IS A PRIVATE -CLASS

- -

Sets up SELinux for RSyslog

- -

Switches on the nis_enabled SELinux Boolean since this is -required for successful RSyslog connections.

- -
-
-
- - -
- - - - - -
-
-
-
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-
-
# File 'manifests/server/selinux.pp', line 10
-
-class rsyslog::server::selinux {
-  assert_private()
-
-  if ($facts['os']['name'] in ['RedHat','CentOS']) and ($facts['os']['release']['major'] > '6') {
-    if $facts['selinux_current_mode'] and $facts['selinux_current_mode'] != 'disabled' {
-      selboolean { 'nis_enabled':
-        persistent => true,
-        value      => 'on'
-      }
-    }
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/docs/puppet_classes/rsyslog_3A_3Aserver_3A_3Atcpwrappers.html b/docs/puppet_classes/rsyslog_3A_3Aserver_3A_3Atcpwrappers.html deleted file mode 100644 index 4f8566e..0000000 --- a/docs/puppet_classes/rsyslog_3A_3Aserver_3A_3Atcpwrappers.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - Puppet Class: rsyslog::server::tcpwrappers - - — Documentation by YARD 0.9.9 - - - - - - - - - - - - - - - - - - - -
- - -

Puppet Class: rsyslog::server::tcpwrappers

-
- - -
-
Defined in:
-
- manifests/server/tcpwrappers.pp -
-
-
- -

Overview

-
-
- -

NOTE: THIS IS A PRIVATE -CLASS

- -

Sets up TCPWrappers for RSyslog both plain TCP and TCP over TLS as -necessary

- -

NOTE: This actually opens the TCPWrappers -rules for RSyslog since testing has shown that it was prone to some odd -connectivity errors. Both IPTables and an internal allow list protect -RSyslog connections.

- -
-
-
- - -
- - - - - -
-
-
-
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-
-
# File 'manifests/server/tcpwrappers.pp', line 9
-
-class rsyslog::server::tcpwrappers {
-  assert_private()
-
-  include '::tcpwrappers'
-
-  if $::rsyslog::tcp_server {
-    tcpwrappers::allow { 'syslog':
-      pattern => 'ALL'
-    }
-  }
-
-  if $::rsyslog::tls_tcp_server {
-    tcpwrappers::allow { 'syslog_tls':
-      pattern => 'ALL'
-    }
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/docs/puppet_classes/rsyslog_3A_3Aservice.html b/docs/puppet_classes/rsyslog_3A_3Aservice.html deleted file mode 100644 index c777b3d..0000000 --- a/docs/puppet_classes/rsyslog_3A_3Aservice.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - Puppet Class: rsyslog::service - - — Documentation by YARD 0.9.9 - - - - - - - - - - - - - - - - - - - -
- - -

Puppet Class: rsyslog::service

-
- - -
-
Defined in:
-
- manifests/service.pp -
-
-
- -

Overview

-
-
- -

NOTE: THIS IS A PRIVATE -CLASS

- -

Manage the RSyslog service

- -
-
-
-

Parameters:

-
    - -
  • - - enable - - - (Boolean) - - - (defaults to: true) - - - — -
    -

    Enable the rsyslog service

    -
    - -
  • - -
- - -
- - - - - -
-
-
-
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-
-
# File 'manifests/service.pp', line 8
-
-class rsyslog::service(
-  Boolean $enable = true
-){
-  assert_private()
-
-  if $enable {
-    $_ensure = 'running'
-  }
-  else {
-    $_ensure = 'stopped'
-  }
-
-  service { $::rsyslog::service_name:
-    ensure     => $_ensure,
-    enable     => $enable,
-    hasrestart => true,
-    hasstatus  => true
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/docs/puppet_defined_type_list.html b/docs/puppet_defined_type_list.html deleted file mode 100644 index d4ebc9f..0000000 --- a/docs/puppet_defined_type_list.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - Defined Type List - - - -
-
-

Defined Type List

- - - -
- - -
- - diff --git a/docs/puppet_defined_types/rsyslog_3A_3Arule.html b/docs/puppet_defined_types/rsyslog_3A_3Arule.html deleted file mode 100644 index 524c270..0000000 --- a/docs/puppet_defined_types/rsyslog_3A_3Arule.html +++ /dev/null @@ -1,297 +0,0 @@ - - - - - - - Defined Type: rsyslog::rule - - — Documentation by YARD 0.9.9 - - - - - - - - - - - - - - - - - - - -
- - -

Defined Type: rsyslog::rule

-
-
-
Defined in:
-
- manifests/rule.pp -
-
-
- -

Overview

-
-
- -

Adds a rule

- -

This is used by the various rsyslog::rule::* Defined Types to -apply rules to the system.

- -

Feel free to use this Defined Type to add your own rules but remember that -order matters!

- -

In general, the order will be:

-
  • -

    05 - Data Source Rules

    -
  • -

    06 - Console Rules

    -
  • -

    07 - Drop Rules

    -
  • -

    10 - Remote Rules

    -
  • -

    20 - Other/Miscellaneous Rules

    -
  • -

    99 - Local Rules

    -
- -
-
-
- -
-

Examples:

- - -

-

Collect All kern.err Messages

-

- -
rsyslog::rule { '99_collect_kernel_errors.conf':
-  rule =>  "if prifilt('kern.err') then /var/log/kernel_errors.log"
-}
- - -

-

Discard All info Messages

-

- -
rsyslog::rule::other { '98_discard_info.conf':
-  rule =>  "if prifilt('*.info') then stop"
-}
- -
-

Parameters:

-
    - -
  • - - name - - - (Pattern['^[^/]\S+/\S+\.conf$']) - - - - — -
    -

    The filename that you will be dropping into place

    -
    • -

      WARNING: This must NOT be an absolute -path!

      -
    -
    - -
  • - -
  • - - content - - - (String) - - - - — -
    -

    The exact content of the rule to place in the target file

    -
    - -
  • - -
- - -

See Also:

- - -
- - - - - -
-
-
-
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-
-
# File 'manifests/rule.pp', line 42
-
-define rsyslog::rule (
-  String $content
-) {
-  if $name !~ Pattern['^[^/]\S+/\S+\.conf$'] {
-    fail('The $name must be a valid un-pathed configuration file')
-  }
-  if !empty(grep([$name],'/.*/')) {
-    fail('Error: You cannot have two slashes in the $name')
-  }
-
-  include '::rsyslog'
-
-  $_name_array = split($name,'/')
-  $_base_directory = "${::rsyslog::rule_dir}/${_name_array[0]}"
-
-  if !defined(File[$_base_directory]) {
-    file { $_base_directory:
-      ensure  => 'directory',
-      owner   => 'root',
-      group   => 'root',
-      recurse => true,
-      purge   => true,
-      force   => true,
-      mode    => '0640'
-    }
-  }
-
-  if !defined(File["${_base_directory}.conf"]) {
-    file { "${_base_directory}.conf":
-      ensure  => 'file',
-      owner   => 'root',
-      group   => 'root',
-      mode    => '0640',
-      content => "\$IncludeConfig ${_base_directory}/*.conf\n",
-      notify  => Class['rsyslog::service']
-    }
-  }
-
-  file { "${::rsyslog::rule_dir}/${name}":
-    ensure  => 'file',
-    owner   => 'root',
-    group   => 'root',
-    mode    => '0640',
-    content => $content,
-    notify  => Class['rsyslog::service']
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/docs/puppet_defined_types/rsyslog_3A_3Arule_3A_3Aconsole.html b/docs/puppet_defined_types/rsyslog_3A_3Arule_3A_3Aconsole.html deleted file mode 100644 index 619ed86..0000000 --- a/docs/puppet_defined_types/rsyslog_3A_3Arule_3A_3Aconsole.html +++ /dev/null @@ -1,227 +0,0 @@ - - - - - - - Defined Type: rsyslog::rule::console - - — Documentation by YARD 0.9.9 - - - - - - - - - - - - - - - - - - - -
- - -

Defined Type: rsyslog::rule::console

-
-
-
Defined in:
-
- manifests/rule/console.pp -
-
-
- -

Overview

-
-
- -

Add a rule for writing logs to the console

- -

These rules first in priority. In general, the order will be:

-
  • -

    Data Source Rules

    -
  • -

    Console Rules

    -
  • -

    Drop Rules

    -
  • -

    Remote Rules

    -
  • -

    Other/Miscellaneous Rules

    -
  • -

    Local Rules

    -
- -
-
-
- -
-

Examples:

- - -

-

Log Emergency Messages to the Console

-

- -
rsyslog::rule::console { 'emergency_rule':
-  rule  => 'prifilt(\'*.emerg\'),
-  users => ['*']
-}
- -
-

Parameters:

-
    - -
  • - - name - - - (String) - - - - — -
    -

    The filename that you will be dropping into place

    -
    - -
  • - -
  • - - rule - - - (String) - - - - — -
    -

    The Rsyslog EXPRESSION to filter on

    -
    - -
  • - -
  • - - users - - - (Array[String]) - - - - — -
    -

    Users to which to send the console messages

    -
    - -
  • - -
- - -

See Also:

- - -
- - - - - -
-
-
-
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-
-
# File 'manifests/rule/console.pp', line 33
-
-define rsyslog::rule::console (
-  String        $rule,
-  Array[String] $users
-) {
-  $_safe_name = regsubst($name,'/','__')
-
-  rsyslog::rule { "06_simp_console/${_safe_name}.conf":
-    content => inline_template('if (<%= @rule.split("\n").collect{ |x| x.sub(/^\s+/,"") }.join("\n") %>) then action( type="omusrmsg"
-  <%= @users.sort.map{|x| user = %(Users="#{x}")}.join("\n  ") %>
-)'
-    )
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/docs/puppet_defined_types/rsyslog_3A_3Arule_3A_3Adata_source.html b/docs/puppet_defined_types/rsyslog_3A_3Arule_3A_3Adata_source.html deleted file mode 100644 index 0ebb1fe..0000000 --- a/docs/puppet_defined_types/rsyslog_3A_3Arule_3A_3Adata_source.html +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - - Defined Type: rsyslog::rule::data_source - - — Documentation by YARD 0.9.9 - - - - - - - - - - - - - - - - - - - -
- - -

Defined Type: rsyslog::rule::data_source

-
-
-
Defined in:
-
- manifests/rule/data_source.pp -
-
-
- -

Overview

-
-
- -

Add a rule for collecting logs from files on the system

- -

In general, the order will be:

-
  • -

    Data Source Rules

    -
  • -

    Console Rules

    -
  • -

    Drop Rules

    -
  • -

    Remote Rules

    -
  • -

    Other/Miscellaneous Rules

    -
  • -

    Local Rules

    -
- -
-
-
- -
-

Examples:

- - -

-

Collect Logs From /opt/log/my_app

-

- -
rsyslog::rule::data_source { 'new_input':
-  rule => @(EOM)
-    input(type="imfile"
-      File="/opt/log/my_app"
-      StateFile="my_app"
-      Tag="my_app"
-      Facility="local6"
-      Severity="notice"
-    )
-    |EOM
-}
- -
-

Parameters:

-
    - -
  • - - name - - - (String) - - - - — -
    -

    The filename that you will be dropping into place

    -
    - -
  • - -
  • - - rule - - - (String) - - - - — -
    -

    The Rsyslog EXPRESSION to filter on

    -
    - -
  • - -
- - -

See Also:

- - -
- - - - - -
-
-
-
-39
-40
-41
-42
-43
-44
-45
-46
-47
-
-
# File 'manifests/rule/data_source.pp', line 39
-
-define rsyslog::rule::data_source(
-  String $rule
-) {
-  $_safe_name = regsubst($name,'/','__')
-
-  rsyslog::rule { "05_simp_data_sources/${_safe_name}.conf":
-    content => inline_template('<%= @rule.split("\n").collect{ |x| x.sub(/^\s+/,"") }.join("\n") %>')
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/docs/puppet_defined_types/rsyslog_3A_3Arule_3A_3Adrop.html b/docs/puppet_defined_types/rsyslog_3A_3Arule_3A_3Adrop.html deleted file mode 100644 index 9b86c93..0000000 --- a/docs/puppet_defined_types/rsyslog_3A_3Arule_3A_3Adrop.html +++ /dev/null @@ -1,202 +0,0 @@ - - - - - - - Defined Type: rsyslog::rule::drop - - — Documentation by YARD 0.9.9 - - - - - - - - - - - - - - - - - - - -
- - -

Defined Type: rsyslog::rule::drop

-
-
-
Defined in:
-
- manifests/rule/drop.pp -
-
-
- -

Overview

-
-
- -

Add a rule to drop content

- -

In general, the order will be:

-
  • -

    Data Source Rules

    -
  • -

    Console Rules

    -
  • -

    Drop Rules

    -
  • -

    Remote Rules

    -
  • -

    Other/Miscellanious Rules

    -
  • -

    Local Rules

    -
- -
-
-
- -
-

Examples:

- - -

-

Drop Logs Matching ^.bad_stuff.$

-

- -
rsyslog::rule::drop { 'drop_bad_stuff':
-  rule => 're_match($msg, '^.*bad_stuff.*$')'
-}
- -
-

Parameters:

-
    - -
  • - - name - - - (String) - - - - — -
    -

    The filename that you will be dropping into place

    -
    - -
  • - -
  • - - rule - - - (String) - - - - — -
    -

    The Rsyslog EXPRESSION to filter on

    -
    - -
  • - -
- - -

See Also:

- - -
- - - - - -
-
-
-
-31
-32
-33
-34
-35
-36
-37
-38
-39
-
-
# File 'manifests/rule/drop.pp', line 31
-
-define rsyslog::rule::drop (
-  String $rule
-) {
-  $_safe_name = regsubst($name,'/','__')
-
-  rsyslog::rule { "07_simp_drop_rules/${_safe_name}.conf":
-    content => inline_template('if (<%= @rule.split("\n").collect{ |x| x.sub(/^\s+/,"") }.join("\n") + ") then stop\n" %>')
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/docs/puppet_defined_types/rsyslog_3A_3Arule_3A_3Alocal.html b/docs/puppet_defined_types/rsyslog_3A_3Arule_3A_3Alocal.html deleted file mode 100644 index 10a8316..0000000 --- a/docs/puppet_defined_types/rsyslog_3A_3Arule_3A_3Alocal.html +++ /dev/null @@ -1,1074 +0,0 @@ - - - - - - - Defined Type: rsyslog::rule::local - - — Documentation by YARD 0.9.9 - - - - - - - - - - - - - - - - - - - -
- - -

Defined Type: rsyslog::rule::local

-
-
-
Defined in:
-
- manifests/rule/local.pp -
-
-
- -

Overview

-
-
- -

Add a rule targeting writing local system logs

- -

NOTE: Any option that is not explicitly documented here -matches the ruleset options in the Rsyslog documentation.

- -

In general, the order will be:

-
  • -

    Data Source Rules

    -
  • -

    Console Rules

    -
  • -

    Drop Rules

    -
  • -

    Remote Rules

    -
  • -

    Other/Miscellaneous Rules

    -
  • -

    Local Rules

    -
- -
-
-
- -
-

Examples:

- - -

-

Capture OpenLDAP Logs Then Stop Processing

-

- -
rsyslog::rule::local { 'collect_openldap':
-  rule            => "prifilt('local4.*')",
-  target_log_file => '/var/log/slapd.log',
-  stop_processing => true
-}
- -
-

Parameters:

-
    - -
  • - - name - - - (String) - - - - — -
    -

    The filename that you will be dropping into place

    -
    - -
  • - -
  • - - rule - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

    The Rsyslog EXPRESSION to filter on

    -
    • -

      NOTE: Do NOT include the leading -if/then

      -
      • -

        Correct: "rule => "prifilt('.')"

        -
      • -

        Incorrect: rule => "if prifilt('.') -then"

        -
      • -

        Correct: "rule => "prifilt('.')"

        -
      • -

        Incorrect: rule => "if prifilt('.') -then"

        -
      -
    • -

      This must be set if $content is left empty

      -
    -
    - -
  • - -
  • - - target_log_file - - - (Optional[Stdlib::Absolutepath]) - - - (defaults to: undef) - - - — -
    -

    The target log file that omfile will be writing to

    -
    • -

      This must be set if $dyna_file is left empty

      -
    -
    - -
  • - -
  • - - stop_processing - - - (Boolean) - - - (defaults to: false) - - - — -
    -

    Do not forward logs to any further rulesets after processing -this ruleset

    -
    - -
  • - -
  • - - dyna_file - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

    Set a dynamic filename using the property replacer rules

    -
    • -

      NOTE: If you make this the filename path itself, a -template will automatically be created for you. Otherwise, you must make -sure to have a rsyslog template in place and pass the name of the -template to this option

      -
    • -

      Rsyslog templates can be created using the -rsyslog::template::* defined types

      -
    -
    - -
  • - -
  • - - template - - - (Optional[String]) - - - (defaults to: undef) - - -
  • - -
  • - - dyna_file_cache_size - - - (Integer[0]) - - - (defaults to: 10) - - -
  • - -
  • - - zip_level - - - (Integer[0,9]) - - - (defaults to: 0) - - -
  • - -
  • - - very_robust_zip - - - (Boolean) - - - (defaults to: true) - - -
  • - -
  • - - flush_interval - - - (Integer[0]) - - - (defaults to: 0) - - -
  • - -
  • - - async_writing - - - (Boolean) - - - (defaults to: false) - - -
  • - -
  • - - flush_on_tx_end - - - (Boolean) - - - (defaults to: true) - - -
  • - -
  • - - io_buffer_size - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - -
  • - -
  • - - dir_owner - - - (Optional[String]) - - - (defaults to: undef) - - -
  • - -
  • - - dir_owner_num - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - -
  • - -
  • - - dir_group - - - (Optional[String]) - - - (defaults to: undef) - - -
  • - -
  • - - dir_group_num - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - -
  • - -
  • - - file_owner - - - (Optional[String]) - - - (defaults to: undef) - - -
  • - -
  • - - file_owner_num - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - -
  • - -
  • - - file_group - - - (Optional[String]) - - - (defaults to: undef) - - -
  • - -
  • - - file_group_num - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - -
  • - -
  • - - file_create_mode - - - (String) - - - (defaults to: '0644') - - -
  • - -
  • - - dir_create_mode - - - (String) - - - (defaults to: '0700') - - -
  • - -
  • - - fail_on_chown_failure - - - (Boolean) - - - (defaults to: true) - - -
  • - -
  • - - create_dirs - - - (Boolean) - - - (defaults to: true) - - -
  • - -
  • - - sync - - - (Boolean) - - - (defaults to: false) - - -
  • - -
  • - - sig_provider - - - (Optional[String]) - - - (defaults to: undef) - - -
  • - -
  • - - cry_provider - - - (Optional[String]) - - - (defaults to: undef) - - -
  • - -
  • - - queue_filename - - - (Optional[Stdlib::Absolutepath]) - - - (defaults to: undef) - - -
  • - -
  • - - queue_spool_directory - - - (Optional[Stdlib::Absolutepath]) - - - (defaults to: undef) - - -
  • - -
  • - - queue_size - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - -
  • - -
  • - - queue_dequeue_batch_size - - - (Integer[0]) - - - (defaults to: 16) - - -
  • - -
  • - - queue_max_disk_space - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - -
  • - -
  • - - queue_high_watermark - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - -
  • - -
  • - - queue_low_watermark - - - (Integer[0]) - - - (defaults to: 2000) - - -
  • - -
  • - - queue_full_delay_mark - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - -
  • - -
  • - - queue_light_delay_mark - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - -
  • - -
  • - - queue_discard_mark - - - (Integer[0]) - - - (defaults to: 9750) - - -
  • - -
  • - - queue_discard_severity - - - (Integer[0]) - - - (defaults to: 8) - - -
  • - -
  • - - queue_checkpoint_interval - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - -
  • - -
  • - - queue_sync_queue_files - - - (Boolean) - - - (defaults to: false) - - -
  • - -
  • - - queue_type - - - (Enum['FixedArray','LinkedList','Direct','Disk']) - - - (defaults to: 'Direct') - - -
  • - -
  • - - queue_worker_threads - - - (Integer[0]) - - - (defaults to: 1) - - -
  • - -
  • - - queue_timeout_shutdown - - - (Integer[0]) - - - (defaults to: 0) - - -
  • - -
  • - - queue_timeout_action_completion - - - (Integer[0]) - - - (defaults to: 1000) - - -
  • - -
  • - - queue_timeout_enqueue - - - (Integer[0]) - - - (defaults to: 2000) - - -
  • - -
  • - - queue_timeout_worker_thread_shutdown - - - (Integer[0]) - - - (defaults to: 60000) - - -
  • - -
  • - - queue_worker_thread_minimum_messages - - - (Integer[0]) - - - (defaults to: 100) - - -
  • - -
  • - - queue_max_file_size - - - (String) - - - (defaults to: '1m') - - -
  • - -
  • - - queue_save_on_shutdown - - - (Boolean) - - - (defaults to: false) - - -
  • - -
  • - - queue_dequeue_slowdown - - - (Integer[0]) - - - (defaults to: 0) - - -
  • - -
  • - - queue_dequeue_time_begin - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - -
  • - -
  • - - queue_dequeue_time_end - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - -
  • - -
  • - - content - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

    the *entire content of the rsyslog::rule

    -
    • -

      If you do not specify this, $rule is a required variable

      -
    • -

      If you do specify this, $rule will be ignored

      -
    -
    - -
  • - -
- - -

See Also:

- - -
- - - - - -
-
-
-
-115
-116
-117
-118
-119
-120
-121
-122
-123
-124
-125
-126
-127
-128
-129
-130
-131
-132
-133
-134
-135
-136
-137
-138
-139
-140
-141
-142
-143
-144
-145
-146
-147
-148
-149
-150
-151
-152
-153
-154
-155
-156
-157
-158
-159
-160
-161
-162
-163
-164
-165
-166
-167
-168
-169
-170
-171
-172
-173
-174
-175
-176
-177
-178
-179
-180
-181
-182
-183
-184
-185
-186
-187
-188
-189
-190
-
-
# File 'manifests/rule/local.pp', line 115
-
-define rsyslog::rule::local (
-  Optional[String]                                $rule                                 = undef,
-  Optional[Stdlib::Absolutepath]                  $target_log_file                      = undef,
-  Boolean                                         $stop_processing                      = false,
-  Optional[String]                                $dyna_file                            = undef,
-  Optional[String]                                $template                             = undef,
-  Integer[0]                                      $dyna_file_cache_size                 = 10,
-  Integer[0,9]                                    $zip_level                            = 0,
-  Boolean                                         $very_robust_zip                      = true,
-  Integer[0]                                      $flush_interval                       = 0,
-  Boolean                                         $async_writing                        = false,
-  Boolean                                         $flush_on_tx_end                      = true,
-  Optional[Integer[0]]                            $io_buffer_size                       = undef,
-  Optional[String]                                $dir_owner                            = undef,
-  Optional[Integer[0]]                            $dir_owner_num                        = undef,
-  Optional[String]                                $dir_group                            = undef,
-  Optional[Integer[0]]                            $dir_group_num                        = undef,
-  Optional[String]                                $file_owner                           = undef,
-  Optional[Integer[0]]                            $file_owner_num                       = undef,
-  Optional[String]                                $file_group                           = undef,
-  Optional[Integer[0]]                            $file_group_num                       = undef,
-  String                                          $file_create_mode                     = '0644',
-  String                                          $dir_create_mode                      = '0700',
-  Boolean                                         $fail_on_chown_failure                = true,
-  Boolean                                         $create_dirs                          = true,
-  Boolean                                         $sync                                 = false,
-  Optional[String]                                $sig_provider                         = undef,
-  Optional[String]                                $cry_provider                         = undef,
-  Optional[Stdlib::Absolutepath]                  $queue_filename                       = undef,
-  Optional[Stdlib::Absolutepath]                  $queue_spool_directory                = undef,
-  Optional[Integer[0]]                            $queue_size                           = undef,
-  Integer[0]                                      $queue_dequeue_batch_size             = 16,
-  Optional[Integer[0]]                            $queue_max_disk_space                 = undef,
-  Optional[Integer[0]]                            $queue_high_watermark                 = undef,
-  Integer[0]                                      $queue_low_watermark                  = 2000,
-  Optional[Integer[0]]                            $queue_full_delay_mark                = undef,
-  Optional[Integer[0]]                            $queue_light_delay_mark               = undef,
-  Integer[0]                                      $queue_discard_mark                   = 9750,
-  Integer[0]                                      $queue_discard_severity               = 8,
-  Optional[Integer[0]]                            $queue_checkpoint_interval            = undef,
-  Boolean                                         $queue_sync_queue_files               = false,
-  Enum['FixedArray','LinkedList','Direct','Disk'] $queue_type                           = 'Direct',
-  Integer[0]                                      $queue_worker_threads                 = 1,
-  Integer[0]                                      $queue_timeout_shutdown               = 0,
-  Integer[0]                                      $queue_timeout_action_completion      = 1000,
-  Integer[0]                                      $queue_timeout_enqueue                = 2000,
-  Integer[0]                                      $queue_timeout_worker_thread_shutdown = 60000,
-  Integer[0]                                      $queue_worker_thread_minimum_messages = 100,
-  String                                          $queue_max_file_size                  = '1m',
-  Boolean                                         $queue_save_on_shutdown               = false,
-  Integer[0]                                      $queue_dequeue_slowdown               = 0,
-  Optional[Integer[0]]                            $queue_dequeue_time_begin             = undef,
-  Optional[Integer[0]]                            $queue_dequeue_time_end               = undef,
-  Optional[String]                                $content                              = undef
-) {
-
-  unless ($rule or $content) {
-    fail('You must specify "$rule" if you are not specifying "$content"')
-  }
-
-  $_safe_name = regsubst($name,'/','__')
-
-  if $content {
-    $_content = $content
-  }
-  else {
-    if !($dyna_file or $target_log_file) {
-      fail('You must specify one of $dyna_file or $target_log_file')
-    }
-    $_content = template("${module_name}/rule/local.erb")
-  }
-
-  rsyslog::rule { "99_simp_local/${_safe_name}.conf":
-    content => $_content
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/docs/puppet_defined_types/rsyslog_3A_3Arule_3A_3Aother.html b/docs/puppet_defined_types/rsyslog_3A_3Arule_3A_3Aother.html deleted file mode 100644 index 4740de4..0000000 --- a/docs/puppet_defined_types/rsyslog_3A_3Arule_3A_3Aother.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - - Defined Type: rsyslog::rule::other - - — Documentation by YARD 0.9.9 - - - - - - - - - - - - - - - - - - - -
- - -

Defined Type: rsyslog::rule::other

-
-
-
Defined in:
-
- manifests/rule/other.pp -
-
-
- -

Overview

-
-
- -

Adds an arbitrary rule

- -

The main reason to use this is to ensure proper ordering in the stack. If -you want to insert a rule anywhere, use the $rsyslog::rule -Defined Type

- -

In general, the order will be:

-
  • -

    Data Source Rules

    -
  • -

    Console Rules

    -
  • -

    Drop Rules

    -
  • -

    Remote Rules

    -
  • -

    Other/Miscellaneous Rules

    -
  • -

    Local Rules

    -
- -

fine: rsyslog::rule::other

- -
-
-
- -
-

Examples:

- - -

-

Send All local0 Messages to 1.2.3.4 via TCP

-

- -
rsyslog::rule::other { 'send_local0_away':
-  rule =>  "if prifilt('local0.*') then @@1.2.3.4"
-}
- -
-

Parameters:

-
    - -
  • - - name - - - (String) - - - - — -
    -

    The filename that you will be dropping into place

    -
    - -
  • - -
  • - - rule - - - (String) - - - - — -
    -

    The Rsyslog EXPRESSION to filter on

    -
    - -
  • - -
- - -

See Also:

- - -
- - - - - -
-
-
-
-35
-36
-37
-38
-39
-40
-41
-42
-43
-
-
# File 'manifests/rule/other.pp', line 35
-
-define rsyslog::rule::other (
-  String $rule
-) {
-  $_safe_name = regsubst($name,'/','__')
-
-  rsyslog::rule { "20_simp_other/${_safe_name}.conf":
-    content => inline_template('<%= @rule.split("\n").collect{ |x| x.sub(/^\s+/,"") }.join("\n") %>')
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/docs/puppet_defined_types/rsyslog_3A_3Arule_3A_3Aremote.html b/docs/puppet_defined_types/rsyslog_3A_3Arule_3A_3Aremote.html deleted file mode 100644 index 3bef4b4..0000000 --- a/docs/puppet_defined_types/rsyslog_3A_3Arule_3A_3Aremote.html +++ /dev/null @@ -1,1079 +0,0 @@ - - - - - - - Defined Type: rsyslog::rule::remote - - — Documentation by YARD 0.9.9 - - - - - - - - - - - - - - - - - - - -
- - -

Defined Type: rsyslog::rule::remote

-
-
-
Defined in:
-
- manifests/rule/remote.pp -
-
-
- -

Overview

-
-
- -

Adds a rule to send messages to a remote system

- -

In general, the order will be:

-
  • -

    Data Source Rules

    -
  • -

    Console Rules

    -
  • -

    Drop Rules

    -
  • -

    Remote Rules

    -
  • -

    Other/Miscellaneous Rules

    -
  • -

    Local Rules

    -
- -

If you wish to use TLS for forward RSyslog messages, you -MUST configure it via rsyslog::config. -Current EL versions of RSyslog 7 do not properly support individual TLS -settings via rulesets.

-
- -
-

WARNING

- -

If possible, this module will take pains to prevent adding a target that is -equivalent to the current system to prevent syslog loops.

- -

Unfortunately, there is no foolproof method for getting -this correct 100% of the time so please take care when setting your -destination targets.

- -

WARNING

-
-
-
  • -

    This must be set if $content is left empty

    -
- -
-
-
- -
-

Examples:

- - -

-

Send All local0 Messages to 1.2.3.4 via TCP

-

- -
rsyslog::rule::remote { 'send_local0_away':
-  rule        => "prifilt('local0.*')",
-  log_servers => ['1.2.3.4']
-}
- -
-

Parameters:

-
    - -
  • - - name - - - (String) - - - - — -
    -

    The filename that you will be dropping into place

    -
    - -
  • - -
  • - - rule - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

    The Rsyslog EXPRESSION to filter on

    -
    • -

      This should only be the matching part of the expression, the remaining -parameters take care of ensuring that the material is properly routed.

      -
    • -

      NOTE: Do NOT include the leading -if/then

      -
      • -

        Correct: "rule => "prifilt('.')"

        -
      • -

        Incorrect: rule => "if prifilt('.') -then"

        -
      -
    -
    - -
  • - -
  • - - stop_processing - - - (Boolean) - - - (defaults to: false) - - - — -
    -

    Do not forward logs to any further rulesets after processing -this ruleset

    -
    - -
  • - -
  • - - template - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

    The template that should be used to format the content

    -
    - -
  • - -
  • - - dest - - - (Simplib::Netlist) - - - (defaults to: []) - - - — -
    -

    If filled, logs matching $rule will be sent to all -hosts in this Array.

    -
    • -

      WARNING: If using this, do NOT add a -destination to your rule

      -
    -
    - -
  • - -
  • - - dest_type - - - (Enum['tcp','udp','relp']) - - - (defaults to: 'tcp') - - - — -
    -

    The destination type for all entries in $dest

    -
    • -

      At this time, if you wish to have different types per destination, you -will need to craft your own ruleset and leave $dest empty.

      -
    -
    - -
  • - -
  • - - failover_log_servers - - - (Simplib::Netlist) - - - (defaults to: []) - - - — -
    -

    The listed systems will be used as failover servers for all logs matching -this rule

    -
    • -

      Uses $dest_type above

      -
    -
    - -
  • - -
  • - - tcp_framing - - - (Enum['traditional','octet-counted']) - - - (defaults to: 'traditional') - - -
  • - -
  • - - zip_level - - - (Integer[0,9]) - - - (defaults to: 0) - - -
  • - -
  • - - max_error_messages - - - (Integer[0]) - - - (defaults to: 5) - - -
  • - -
  • - - compression_mode - - - (Enum['none','single','stream:always']) - - - (defaults to: 'none') - - -
  • - -
  • - - compression_stream_flush_on_tx_end - - - (Boolean) - - - (defaults to: true) - - -
  • - -
  • - - rebind_interval - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - -
  • - -
  • - - action_resume_interval - - - (Integer[0]) - - - (defaults to: 30) - - -
  • - -
  • - - action_resume_retry_count - - - (Integer[-1]) - - - (defaults to: -) - - -
  • - -
  • - - stream_driver - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

    This is overridden by the -rsyslog::config::default_net_stream_driver

    -
    • -

      EL versions of Rsyslog 7 do not support this properly in rulesets but it -may be specified

      -
    -
    - -
  • - -
  • - - stream_driver_mode - - - (Integer[0]) - - - (defaults to: 1) - - - — -
    -

    This is overridden by the -rsyslog::config::action_send_stream_driver_mode

    -
    • -

      EL versions of Rsyslog 7 do not support this properly in rulesets but it -may be specified

      -
    -
    - -
  • - -
  • - - stream_driver_auth_mode - - - (String) - - - (defaults to: 'x509/name') - - - — -
    -

    This is overridden by the -rsyslog::config::action_send_stream_driver_auth_mode

    -
    • -

      EL versions of Rsyslog 7 partially support this in rulesets and it may -have some effect

      -
    -
    - -
  • - -
  • - - stream_driver_permitted_peers - - - (String) - - - (defaults to: "*.${::domain}") - - - — -
    -

    This is overridden by the -rsyslog::config::action_send_stream_driver_permitted_peers

    -
    • -

      EL versions of Rsyslog 7 partially support this in rulesets and it may -have some effect

      -
    -
    - -
  • - -
  • - - resend_last_msg_on_reconnect - - - (Boolean) - - - (defaults to: true) - - -
  • - -
  • - - udp_send_to_all - - - (Boolean) - - - (defaults to: false) - - -
  • - -
  • - - queue_filename - - - (Optional[String]) - - - (defaults to: undef) - - -
  • - -
  • - - queue_spool_directory - - - (Optional[Stdlib::Absolutepath]) - - - (defaults to: undef) - - -
  • - -
  • - - queue_size - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - -
  • - -
  • - - queue_dequeue_batch_size - - - (Integer[0]) - - - (defaults to: 16) - - -
  • - -
  • - - queue_max_disk_space - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - -
  • - -
  • - - queue_high_watermark - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - -
  • - -
  • - - queue_low_watermark - - - (Integer[0]) - - - (defaults to: 2000) - - -
  • - -
  • - - queue_full_delay_mark - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - -
  • - -
  • - - queue_light_delay_mark - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - -
  • - -
  • - - queue_discard_mark - - - (Integer[0]) - - - (defaults to: 9750) - - -
  • - -
  • - - queue_discard_severity - - - (Integer[0]) - - - (defaults to: 8) - - -
  • - -
  • - - queue_checkpoint_interval - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - -
  • - -
  • - - queue_sync_queue_files - - - (Boolean) - - - (defaults to: false) - - -
  • - -
  • - - queue_type - - - (Enum['LinkedList','FixedArray','Direct','Disk']) - - - (defaults to: 'LinkedList') - - -
  • - -
  • - - queue_worker_threads - - - (Integer[0]) - - - (defaults to: 1) - - -
  • - -
  • - - queue_timeout_shutdown - - - (Integer[0]) - - - (defaults to: 0) - - -
  • - -
  • - - queue_timeout_action_completion - - - (Integer[0]) - - - (defaults to: 1000) - - -
  • - -
  • - - queue_timeout_enqueue - - - (Integer[0]) - - - (defaults to: 2000) - - -
  • - -
  • - - queue_timeout_worker_thread_shutdown - - - (Integer[0]) - - - (defaults to: 60000) - - -
  • - -
  • - - queue_worker_thread_minimum_messages - - - (Integer[0]) - - - (defaults to: 100) - - -
  • - -
  • - - queue_max_file_size - - - (String) - - - (defaults to: '1m') - - -
  • - -
  • - - queue_save_on_shutdown - - - (Boolean) - - - (defaults to: true) - - -
  • - -
  • - - queue_dequeue_slowdown - - - (Integer[0]) - - - (defaults to: 0) - - -
  • - -
  • - - queue_dequeue_time_begin - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - -
  • - -
  • - - queue_dequeue_time_end - - - (Optional[Integer[0]]) - - - (defaults to: undef) - - -
  • - -
  • - - content - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

    the *entire content of the rsyslog::rule

    -
    • -

      If you do not specify this, $rule is a required variable

      -
    • -

      If you do specify this, $rule will be ignored

      -
    -
    - -
  • - -
- - -

See Also:

- - -
- - - - - -
-
-
-
-148
-149
-150
-151
-152
-153
-154
-155
-156
-157
-158
-159
-160
-161
-162
-163
-164
-165
-166
-167
-168
-169
-170
-171
-172
-173
-174
-175
-176
-177
-178
-179
-180
-181
-182
-183
-184
-185
-186
-187
-188
-189
-190
-191
-192
-193
-194
-195
-196
-197
-198
-199
-200
-201
-202
-203
-204
-205
-206
-207
-208
-209
-210
-211
-212
-213
-214
-215
-216
-217
-218
-219
-220
-221
-222
-223
-224
-225
-226
-227
-228
-229
-230
-231
-232
-233
-234
-235
-236
-237
-238
-
-
# File 'manifests/rule/remote.pp', line 148
-
-define rsyslog::rule::remote (
-  Optional[String]                                 $rule                                 = undef,
-  Boolean                                          $stop_processing                      = false,
-  Optional[String]                                 $template                             = undef,
-  Simplib::Netlist                                 $dest                                 = [],
-  Enum['tcp','udp','relp']                         $dest_type                            = 'tcp',
-  Simplib::Netlist                                 $failover_log_servers                 = [],
-  Enum['traditional','octet-counted']              $tcp_framing                          = 'traditional',
-  Integer[0,9]                                     $zip_level                            = 0,
-  Integer[0]                                       $max_error_messages                   = 5,
-  Enum['none','single','stream:always']            $compression_mode                     = 'none',
-  Boolean                                          $compression_stream_flush_on_tx_end   = true,
-  Optional[Integer[0]]                             $rebind_interval                      = undef,
-  Integer[0]                                       $action_resume_interval               = 30,
-  Integer[-1]                                      $action_resume_retry_count            = -1,
-  Optional[String]                                 $stream_driver                        = undef,
-  Integer[0]                                       $stream_driver_mode                   = 1,
-  String                                           $stream_driver_auth_mode              = 'x509/name',
-  String                                           $stream_driver_permitted_peers        = "*.${::domain}",
-  Boolean                                          $resend_last_msg_on_reconnect         = true,
-  Boolean                                          $udp_send_to_all                      = false,
-  Optional[String]                                 $queue_filename                       = undef,
-  Optional[Stdlib::Absolutepath]                   $queue_spool_directory                = undef,
-  Optional[Integer[0]]                             $queue_size                           = undef,
-  Integer[0]                                       $queue_dequeue_batch_size             = 16,
-  Optional[Integer[0]]                             $queue_max_disk_space                 = undef,
-  Optional[Integer[0]]                             $queue_high_watermark                 = undef,
-  Integer[0]                                       $queue_low_watermark                  = 2000,
-  Optional[Integer[0]]                             $queue_full_delay_mark                = undef,
-  Optional[Integer[0]]                             $queue_light_delay_mark               = undef,
-  Integer[0]                                       $queue_discard_mark                   = 9750,
-  Integer[0]                                       $queue_discard_severity               = 8,
-  Optional[Integer[0]]                             $queue_checkpoint_interval            = undef,
-  Boolean                                          $queue_sync_queue_files               = false,
-  Enum['LinkedList','FixedArray','Direct','Disk']  $queue_type                           = 'LinkedList',
-  Integer[0]                                       $queue_worker_threads                 = 1,
-  Integer[0]                                       $queue_timeout_shutdown               = 0,
-  Integer[0]                                       $queue_timeout_action_completion      = 1000,
-  Integer[0]                                       $queue_timeout_enqueue                = 2000,
-  Integer[0]                                       $queue_timeout_worker_thread_shutdown = 60000,
-  Integer[0]                                       $queue_worker_thread_minimum_messages = 100,
-  String                                           $queue_max_file_size                  = '1m',
-  Boolean                                          $queue_save_on_shutdown               = true,
-  Integer[0]                                       $queue_dequeue_slowdown               = 0,
-  Optional[Integer[0]]                             $queue_dequeue_time_begin             = undef,
-  Optional[Integer[0]]                             $queue_dequeue_time_end               = undef,
-  Optional[String]                                 $content                              = undef
-) {
-  include '::rsyslog'
-
-  $_safe_name = regsubst($name,'/','__')
-
-  unless ($rule or $content) {
-    fail('You must specify "$rule" if you are not specifying "$content"')
-  }
-
-  if $content {
-    $_content = $content
-  }
-  else {
-    if empty($dest) {
-      $_dest = $::rsyslog::log_servers
-    }
-    else {
-      $_dest = $dest
-    }
-
-    if empty($_dest) { fail('You must pass a destination array for $dest') }
-
-    if $queue_spool_directory {
-      $_queue_spool_directory = $queue_spool_directory
-    }
-    else {
-      $_queue_spool_directory = $::rsyslog::queue_spool_directory
-    }
-
-    $_use_tls = ( $::rsyslog::enable_tls_logging and $dest_type != 'udp' )
-
-    if empty($failover_log_servers) {
-      $_failover_servers = $::rsyslog::failover_log_servers
-    }
-    else {
-      $_failover_servers = $failover_log_servers
-    }
-    $_content = template("${module_name}/rule/remote.erb")
-  }
-
-  rsyslog::rule { "10_simp_remote/${_safe_name}.conf":
-    content => $_content
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/docs/puppet_defined_types/rsyslog_3A_3Atemplate_3A_3Alist.html b/docs/puppet_defined_types/rsyslog_3A_3Atemplate_3A_3Alist.html deleted file mode 100644 index b33525d..0000000 --- a/docs/puppet_defined_types/rsyslog_3A_3Atemplate_3A_3Alist.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - - Defined Type: rsyslog::template::list - - — Documentation by YARD 0.9.9 - - - - - - - - - - - - - - - - - - - -
- - -

Defined Type: rsyslog::template::list

-
-
-
Defined in:
-
- manifests/template/list.pp -
-
-
- -

Overview

-
-
- -

Add a template list to the rsyslog configuration file.

- -

RSyslog list templates can contain properties and constants. In order to -capture this functionality, we have opted for making a hash of these. The -Hash will be ordered as given to the content variable.

- -
-
-
- -
-

Examples:

- - -

-

Content Settings

-

- -
$content_hash = {
-  'constant' => 'values="Syslog MSG is: \'"',
-  'property' => 'name="msg"'
-}
-
-rsyslog::template::list { 'example_list':
-  $content => $content_hash
-}
-
-### Produces:
-
-template(name="example_list" type="list") {
-  constant(value="Syslog MSG is: '")
-  property(name="msg")
-}
- -
-

Parameters:

-
    - -
  • - - name - - - (String) - - - - — -
    -

    The literal name (not path) of the file that will be written

    -
    - -
  • - -
  • - - content - - - (Hash[String,String,1]) - - - - — -
    -

    The rsyslog list content that you wish to add to the system, as a Hash

    -
    - -
  • - -
- - -
- - - - - -
-
-
-
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-
-
# File 'manifests/template/list.pp', line 30
-
-define rsyslog::template::list (
-  Hash[String,String,1] $content
-) {
-  $_safe_name = regsubst($name,'/','__')
-
-  $_content = join(map($content) |$key, $value| { "${key}(${value})" }, "\n  ")
-
-  rsyslog::rule { "05_simp_templates/${_safe_name}.conf":
-    # lint:ignore:variables_not_enclosed
-    content => @("EOM")
-      template(name="${name}" type="list") {
-        $_content
-      }
-      |EOM
-    # lint:endignore
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/docs/puppet_defined_types/rsyslog_3A_3Atemplate_3A_3Aplugin.html b/docs/puppet_defined_types/rsyslog_3A_3Atemplate_3A_3Aplugin.html deleted file mode 100644 index 15a9c07..0000000 --- a/docs/puppet_defined_types/rsyslog_3A_3Atemplate_3A_3Aplugin.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - - Defined Type: rsyslog::template::plugin - - — Documentation by YARD 0.9.9 - - - - - - - - - - - - - - - - - - - -
- - -

Defined Type: rsyslog::template::plugin

-
-
-
Defined in:
-
- manifests/template/plugin.pp -
-
-
- -

Overview

-
-
- -

Add template plugins to the rsyslog configuration file.

- -

NOTE: Plugins are as-is. This means that -you will only supply the plugin name and assume that the plugin has already -been loaded by RSyslog.

- -
-
-
- -
-

Examples:

- - -

-

Adding the my_plugin Plugin to the System

-

- -
rsyslog::template::string { 'example_plugin':
-  $plugin => 'my_plugin'
-}
-
-### Produces:
-
-template(name="example_plugin" type="plugin" plugin="my_plugin")
- -
-

Parameters:

-
    - -
  • - - name - - - (String) - - - - — -
    -

    The literal name of the file (not the full path) that will be -used

    -
    - -
  • - -
  • - - plugin - - - (String) - - - - — -
    -

    The rsyslog plugin content that you wish to add to the system

    -
    • -

      This is provided, without formatting, directly into the target file

      -
    -
    - -
  • - -
- - -
- - - - - -
-
-
-
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-
-
# File 'manifests/template/plugin.pp', line 23
-
-define rsyslog::template::plugin (
-  String $plugin,
-) {
-  $_safe_name = regsubst($name,'/','__')
-
-  rsyslog::rule { "05_simp_templates/${_safe_name}.conf":
-    # lint:ignore:double_quoted_strings lint:ignore:only_variable_string
-    content => @("EOM")
-      template(name="${_safe_name}" plugin="string" plugin="${plugin}")
-      |EOM
-    # lint:endignore
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/docs/puppet_defined_types/rsyslog_3A_3Atemplate_3A_3Astring.html b/docs/puppet_defined_types/rsyslog_3A_3Atemplate_3A_3Astring.html deleted file mode 100644 index 10e588d..0000000 --- a/docs/puppet_defined_types/rsyslog_3A_3Atemplate_3A_3Astring.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - - Defined Type: rsyslog::template::string - - — Documentation by YARD 0.9.9 - - - - - - - - - - - - - - - - - - - -
- - -

Defined Type: rsyslog::template::string

-
-
-
Defined in:
-
- manifests/template/string.pp -
-
-
- -

Overview

-
-
- -

Add template strings to the rsyslog configuration

- -

You'll need to write the entire template line due to the complexity of -the rsyslog configuration parameters.

- -

Leading spaces will be removed.

- -
-
-
- -
-

Examples:

- - -

-

Template String

-

- -
rsyslog::template::string { 'example':
-  $content => '/var/log/hosts/%HOSTNAME%/example.log'
-}
-
-### Produces:
-
-template(name="example" type="string" string="/var/log/hosts/%HOSTNAME%/example.log")
- -
-

Parameters:

-
    - -
  • - - name - - - (String) - - - - — -
    -

    The literal name of the file (not file path) that will be used

    -
    - -
  • - -
  • - - string - - - (String) - - - - — -
    -

    The rsyslog template string that you wish to add to the system

    -
    • -

      This is fed, without formatting, directly into the target file

      -
    -
    - -
  • - -
- - -
- - - - - -
-
-
-
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-
-
# File 'manifests/template/string.pp', line 25
-
-define rsyslog::template::string (
-  String $string
-) {
-  $_safe_name = regsubst($name,'/','__')
-
-  rsyslog::rule { "05_simp_templates/${_safe_name}.conf":
-    # lint:ignore:double_quoted_strings lint:ignore:only_variable_string
-    content => @("EOM")
-      template(name="${_safe_name}" type="string" string="${string}")
-      |EOM
-    #lint:endignore
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/docs/puppet_defined_types/rsyslog_3A_3Atemplate_3A_3Asubtree.html b/docs/puppet_defined_types/rsyslog_3A_3Atemplate_3A_3Asubtree.html deleted file mode 100644 index 6d6d8b6..0000000 --- a/docs/puppet_defined_types/rsyslog_3A_3Atemplate_3A_3Asubtree.html +++ /dev/null @@ -1,225 +0,0 @@ - - - - - - - Defined Type: rsyslog::template::subtree - - — Documentation by YARD 0.9.9 - - - - - - - - - - - - - - - - - - - -
- - -

Defined Type: rsyslog::template::subtree

-
-
-
Defined in:
-
- manifests/template/subtree.pp -
-
-
- -

Overview

-
-
- -

Add template subtrees to the rsyslog configuration

- -

You'll need to write the entire subtree line due to the complexity of -the rsyslog configuration parameters.

- -
-
-
- -
-

Examples:

- - -

-

Subtree (From the Official RSyslog Docs)

-

- -
rsyslog::template::subtree { 'example_subtree':
-  $variables => ['$!usr!tp12!msg = $msg;', '$!usr!tp12!dataflow = field($msg, 58, 2);'],
-  $subtree   => '$!usr!tp12'
-}
-
-### Produces:
-
-set $!usr!tp12!msg = $msg;
-set $!usr!tp12!dataflow = field($msg, 58, 2);
-template(name="example" type="subtree" subtree="$!usr!tp12")
- -
-

Parameters:

-
    - -
  • - - name - - - (String) - - - - — -
    -

    The literal name of the file (not a path) that will be used

    -
    - -
  • - -
  • - - subtree - - - (String) - - - - — -
    -

    The rsyslog subtree content that you wish to add to the system

    -
    • -

      This is fed, without formatting, directly into the subtree parameter

      -
    -
    - -
  • - -
  • - - variables - - - (Array[String]) - - - (defaults to: []) - - - — -
    -

    Variables to be set prior to the template being created

    -
    - -
  • - -
- - -
- - - - - -
-
-
-
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-
-
# File 'manifests/template/subtree.pp', line 29
-
-define rsyslog::template::subtree (
-  String        $subtree,
-  Array[String] $variables = []
-) {
-  $_safe_name = regsubst($name,'/','__')
-
-  $_variables = join($variables,"\n")
-
-  rsyslog::rule { "05_simp_templates/${_safe_name}.conf":
-    # lint:ignore:variables_not_enclosed
-    content => @("EOM")
-      $_variables
-
-      template(name="${name}" type="subtree" subtree="${subtree}")
-      |EOM
-    # lint:endignore
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/docs/top-level-namespace.html b/docs/top-level-namespace.html deleted file mode 100644 index ac4531d..0000000 --- a/docs/top-level-namespace.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - Top Level Namespace - - — Documentation by YARD 0.9.9 - - - - - - - - - - - - - - - - - - - -
- - -

Top Level Namespace - - - -

-
- - - - - - - - - - - -
- - - - - - - - - - -
- - - -
- - \ No newline at end of file diff --git a/metadata.json b/metadata.json index 31e4feb..32abd38 100644 --- a/metadata.json +++ b/metadata.json @@ -1,6 +1,6 @@ { "name": "simp-rsyslog", - "version": "7.1.2", + "version": "7.1.3", "author": "SIMP Team", "summary": "A puppet module to support RSyslog versions 7 and higher using new style RainerScript.", "license": "Apache-2.0",