Version information
This version is compatible with:
- Puppet Enterprise 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x
- Puppet >= 6.1.0 < 8.0.0
- , , , , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'puppet-splunk', '9.0.0'
Learn more about managing modules with a PuppetfileDocumentation
Puppet Module For Splunk
Table of Contents
- Overview
- Module Description - What the module does and why it is useful
- Setup - The basics of getting started with splunk
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
Overview
This module provides a method to deploy Splunk Enterprise or Splunk Universal Forwarder with common configurations and ensure the services maintain a running state. It provides types/providers to interact with the various Splunk/Forwarder configuration files.
Module Description
This module does not configure firewall rules. Firewall rules will need to be configured separately in order to allow for correct operation of Splunk and the Splunk Universal Forwarder. Additionally, this module does not supply Splunk or Splunk Universal Forwarder installation media. Installation media will need to be aquired seperately, and the module configured to use it. Users can use yum or apt to install these components if they're self-hosted.
Setup
What splunk affects
- Installs the Splunk/Forwarder package and manages their config files. It does not purge them by default.
- The module will set up both Splunk Enterprise and Splunk Forwarder to run as the 'root' user on POSIX platforms.
- By default, enables Splunk Enterprise and Splunk Forwarder boot-start, and uses the vendor-generated service file to manage the splunk service.
Setup Requirements
To begin using this module, use the Puppet Module Tool (PMT) from the command line to install this module:
puppet module install puppet-splunk
This will place the module into your primary module path if you do not utilize the --target-dir directive.
You can also use r10k or code-manager to deploy the module so ensure that you have the correct entry in your Puppetfile.
Once the module is in place, there is just a little setup needed.
First, you will need to place your downloaded splunk installers into the files
directory, <module_path>/splunk/files/
. If you're using r10k or code-manager
you'll need to override the splunk::params::src_root
parameter to point at a
modulepath outside of the Splunk module because each deploy will overwrite the
files.
The files must be placed according to directory structure example given below.
The expected directory structure is:
$root_url/
└── products/
├── universalforwarder/
│ └── releases/
| └── $version/
| └── $platform/
| └── splunkforwarder-${version}-${build}-${additl}
└── splunk/
└── releases/
└── $version/
└── $platform/
└── splunk-${version}-${build}-${additl}
A semi-populated example files directory might then contain:
$root_url/
└── products/
├── universalforwarder/
│ └── releases/
| └── 7.0.0/
| ├── linux/
| | ├── splunkforwarder-7.0.0-c8a78efdd40f-linux-2.6-amd64.deb
| | ├── splunkforwarder-7.0.0-c8a78efdd40f-linux-2.6-intel.deb
| | └── splunkforwarder-7.0.0-c8a78efdd40f-linux-2.6-x86_64.rpm
| ├── solaris/
| └── windows/
| └── splunkforwarder-7.0.0-c8a78efdd40f-x64-release.msi
└── splunk/
└── releases/
└── 7.0.0/
└── linux/
├── splunk-7.0.0-c8a78efdd40f-linux-2.6-amd64.deb
├── splunk-7.0.0-c8a78efdd40f-linux-2.6-intel.deb
└── splunk-7.0.0-c8a78efdd40f-linux-2.6-x86_64.rpm
Second, you will need to supply the splunk::params
class with three critical
pieces of information.
- The version of Splunk you are using
- The build of Splunk you are using
- The root URL to use to retrieve the packages
In the example given above, the version is 7.0.0, the build is c8a78efdd40f, and the root URL is puppet:///modules/splunk. See the splunk::params class documentation for more information.
Beginning with splunk
Once the Splunk packages are hosted in the users repository or hosted by the Puppet Server in the modulepath the module is ready to deploy.
Usage
If a user is installing Splunk Enterprise with packages provided from their modulepath, this is the most basic way of installing Splunk Server with default settings:
include ::splunk::enterprise
This is the most basic way of installing the Splunk Universal Forwarder with default settings:
class { '::splunk::params':
server => $my_splunk_server,
}
include ::splunk::forwarder
Once both Splunk Enterprise and Splunk Universal Forwarder have been deployed on their respective nodes, the Forwarder is ready to start sending logs.
In order to start sending some log data, users can take advantage of the
Splunkforwarder_input
type. Here is a basic example of adding an input to
start sending Puppet Server logs:
@splunkforwarder_input { 'puppetserver-sourcetype':
section => 'monitor:///var/log/puppetlabs/puppetserver/puppetserver.log',
setting => 'sourcetype',
value => 'puppetserver',
tag => 'splunk_forwarder'
}
This virtual resource will get collected by the ::splunk::forwarder
class if
it is tagged with splunk_forwarder
and will add the appropriate setting to
the inputs.conf file and refresh the service.
Setting the admin
user's password
The module has the facility to set Splunk Enterprise's admin
password at installation time by leveraging the user-seed.conf method described as a best practice in the Splunk docs. The way Splunk implements this prevents Puppet from managing the password in an idempotent way but makes resetting the password through the web console possible. You can also use Puppet to do a one time reset too by setting the appropriate parameters on splunk::enterprise
but leaving these parameters set to true
will cause corrective change on each run of the Puppet Agent.
class { 'splunk::enterprise':
seed_password => true,
password_hash => '$6$jxSX7ra2SNzeJbYE$J95eTTMJjFr/lBoGYvuJUSNKvR7befnBwZUOvr/ky86QGqDXwEwdbgPMfCxW1/PuB/IkC94QLNravkABBkVkV1',
}
Alternatively the the splunk::enterprise::password::seed
class can be used independently of the Puppet Agent through a Bolt Plan apply block.
Upgrade splunk and splunkforwarder packages
This module has the ability to install and upgrade the splunk and splunkforwarder packages. All you have to do is declare package_ensure => 'latest'
when calling the ::splunk
or ::splunk::forwarder
classes.
Upgrades from 7.0.X to >= 7.0.X are not tested.
Upgrade Example
The following code will install the 6.6.8 version of the splunk forwarder. Then comment out the 6.6.8 version and build values and uncomment the 7.1.2 version and build values. Running puppet again will perform the following:
- splunk forwarder package is upgraded
- splunk service is stopped as part of the package upgrade process
- new license agreement is automatically accepted
- license agreement must be accepted or the splunk service will fail to start
- splunk service is started
# Tell the module to get packages directly from Splunk.
class { '::splunk::params':
version => '6.6.8',
build => '6c27a8439c1e',
#version => '7.1.2',
#build => 'a0c72a66db66',
src_root => 'https://download.splunk.com',
}
# Specifying package_ensure => 'latest' will ensure that the splunk and
# splunkforwarder packages will be upgraded when you specify newer values for
# version and build.
class { '::splunk::forwarder':
package_ensure => 'latest',
}
Reference
See in file REFERENCE.md.
Limitations
- Currently tested manually on Centos 7, but we will eventually add automated testing and are targeting compatibility with other platforms.
- Tested with Puppet 5.x
- New installations of splunk up to version 7.2.X are supported, but upgrades from 7.0.X to >= 7.0.X are not fully tested
- Enabling boot-start will fail if the unit file already exists. Splunk does not remove unit files during uninstallation, so you may be required to manually remove existing unit files before re installing and enabling boot-start.
Development
Learn how to get involved in this and other Vox Pupuli module development on our docs site.
Release Notes/Contributors/Etc
See the CHANGELOG.md or list of contributors.
Reference
Table of Contents
Classes
splunk
: This class is unused and doesn't do anything but make default data accessiblesplunk::enterprise
: Install and configure an instance of Splunk Enterprisesplunk::enterprise::config
: Private class declared by Class[splunk::enterprise] to contain all the configuration needed for a base install of Splunk Enterprisesplunk::enterprise::install
: Private class declared by Class[splunk::enterprise] to contain or define through additional platform specific sub-class, the required steps for successfully installing Splunk Enterprisesplunk::enterprise::install::nix
: Private class declared by Class[splunk::enterprise::install] to provide platform specific installation steps on Linux or Unix type systems.splunk::enterprise::password::manage
: Implements the direct management of the Splunk Enterprise admin password so it can be used outside of regular management of the whole stack to facilitate admin password resets through Bolt Plans.
Note: Entirely done to make this implementation consistent with the method used to manage admin password seeding.
splunk::enterprise::password::seed
: Implements the seeding and reseeding of the Splunk Enterprise admin password so it can be used outside of regular management of the whole stack to facilitate admin password resets through Bolt Planssplunk::enterprise::service
: Private class declared by Class[splunk::enterprise] to define a service as its understood by Puppet using a dynamic set of data or platform specific sub-classessplunk::enterprise::service::nix
: Private class declared by Class[splunk::enterprise::service] to provide platform specific service management on Linux or Unix type systems.splunk::forwarder
: Install and configure an instance of Splunk Universal Forwardersplunk::forwarder::config
: Private class declared by Class[splunk::forwarder] to contain all the configuration needed for a base install of the Splunk Universal Forwardersplunk::forwarder::install
: Private class declared by Class[splunk::forwarder] to contain or define through additional platform specific sub-class, the required steps for successfully installing the Splunk Universal Forwardersplunk::forwarder::password::manage
: Implements the direct management of the Splunk Forwarder admin password so it can be used outside of regular management of the whole stack to facilitate admin password resets through Bolt Plans.
Note: Entirely done to make this implementation consistent with the method used to manage admin password seeding.
splunk::forwarder::password::seed
: Implements the seeding and reseeding of the Splunk Forwarder admin password so it can be used outside of regular management of the whole stack to facilitate admin password resets through Bolt Planssplunk::forwarder::service
: Private class declared by Class[splunk::forwarder] to define a service as its understood by Puppet using a dynamic set of data or platform specific sub-classessplunk::forwarder::service::nix
: Private class declared by Class[splunk::forwarder::service] to provide platform specific service management on Linux or Unix type systems.splunk::params
: This class takes a small number of arguments (can be set through Hiera) and generates sane default values installation media names and locations. Default ports can also be specified here. This is a parameters class, and contributes no resources to the graph. Rather, it only sets values for parameters to be consumed by child classes.
Defined types
splunk::addon
: Defined type for deploying Splunk Add-ons and Apps from either OS packages or via splunkbase compatible archives
Resource types
splunk_alert_actions
: Manage splunk alert_actions settings in alert_actions.confsplunk_authentication
: Manage splunk authentication settings in authentication.confsplunk_authorize
: Manage splunk authorize settings in authorize.confsplunk_config
: splunk configsplunk_deploymentclient
: Manage splunk deploymentclient entries in deploymentclient.confsplunk_distsearch
: Manage distsearch entries in distsearch.confsplunk_indexes
: Manage splunk index settings in indexes.confsplunk_input
: Manage splunk input settings in inputs.confsplunk_limits
: Manage splunk limits settings in limits.confsplunk_metadata
: Manage metadata entries in {default,local}.metasplunk_output
: Manage splunk output settings in outputs.confsplunk_props
: Manage splunk prop settings in props.confsplunk_server
: Manage splunk server settings in server.confsplunk_serverclass
: Manage splunk serverclass entries in serverclass.confsplunk_transforms
: Manage splunk transforms settings in transforms.confsplunk_uiprefs
: Manage splunk web ui settings in ui-prefs.confsplunk_web
: Manage splunk web settings in web.confsplunkforwarder_deploymentclient
: Manage splunkforwarder deploymentclient entries in deploymentclient.confsplunkforwarder_input
: Manage splunkforwarder input settings in inputs.confsplunkforwarder_limits
: Manage splunkforwarder limit settings in limits.confsplunkforwarder_output
: Manage splunkforwarder output settings in outputs.confsplunkforwarder_props
: Manage splunkforwarder props settings in props.confsplunkforwarder_server
: Manage splunkforwarder server settings in server.confsplunkforwarder_transforms
: Manage splunkforwarder transforms settings in transforms.confsplunkforwarder_web
: Manage splunkforwarder web settings in web.conf
Classes
splunk
This class is unused and doesn't do anything but make default data accessible
- Note If you were expecting this class to setup an instance of Splunk Enterprise then please look to Class[splunk::enterprise].
splunk::enterprise
Install and configure an instance of Splunk Enterprise
Examples
Basic usage
include splunk::enterprise
Install specific version and build with admin passord management
class { 'splunk::params':
version => '7.2.5',
build => '088f49762779',
}
class { 'splunk::enterprise':
package_ensure => latest,
manage_password => true,
}
Parameters
The following parameters are available in the splunk::enterprise
class.
version
Data type: String[1]
Specifies the version of Splunk Enterprise the module should install and manage.
Default value: $splunk::params::version
package_name
Data type: String[1]
The name of the package(s) Puppet will use to install Splunk.
Default value: $splunk::params::enterprise_package_name
package_ensure
Data type: String[1]
Ensure parameter which will get passed to the Splunk package resource.
Default value: $splunk::params::enterprise_package_ensure
staging_dir
Data type: String[1]
Root of the archive path to host the Splunk package.
Default value: $splunk::params::staging_dir
path_delimiter
Data type: String[1]
The path separator used in the archived path of the Splunk package.
Default value: $splunk::params::path_delimiter
enterprise_package_src
Data type: String[1]
The source URL for the splunk installation media (typically an RPM, MSI,
etc). If a $src_root
parameter is set in splunk::params, this will be
automatically supplied. Otherwise it is required. The URL can be of any
protocol supported by the pupept/archive module. On Windows, this can be
a UNC path to the MSI.
Default value: $splunk::params::enterprise_package_src
package_provider
Data type: Optional[String[1]]
The package management system used to host the Splunk packages.
Default value: $splunk::params::package_provider
manage_package_source
Data type: Boolean
Whether or not to use the supplied enterprise_package_src
param.
Default value: true
package_source
Data type: Optional[String[1]]
Optional The source URL for the splunk installation media (typically an RPM,
MSI, etc). If enterprise_package_src
parameter is set in splunk::params and
manage_package_source
is true, this will be automatically supplied. Otherwise
it is required. The URL can be of any protocol supported by the puppet/archive
module. On Windows, this can be a UNC path to the MSI.
Default value: undef
install_options
Data type: Splunk::Entinstalloptions
This variable is passed to the package resources' install_options parameter.
Default value: $splunk::params::enterprise_install_options
splunk_user
Data type: String[1]
The user to run Splunk as.
Default value: $splunk::params::splunk_user
enterprise_homedir
Data type: Stdlib::Absolutepath
Specifies the Splunk Enterprise home directory.
Default value: $splunk::params::enterprise_homedir
enterprise_confdir
Data type: Stdlib::Absolutepath
Specifies the Splunk Enterprise configuration directory.
Default value: $splunk::params::enterprise_confdir
service_name
Data type: String[1]
The name of the Splunk Enterprise service.
Default value: $splunk::params::enterprise_service
service_file
Data type: Stdlib::Absolutepath
The path to the Splunk Enterprise service file.
Default value: $splunk::params::enterprise_service_file
boot_start
Data type: Boolean
Whether or not to enable splunk boot-start, which generates a service file to manage the Splunk Enterprise service.
Default value: $splunk::params::boot_start
manage_net_tools
Data type: Boolean
Whether or not to declare the resource Package[net-tools].
The package net-tools
is required by Splunk 7.2.2+ to be installed on the system.
By default this module manages the resource Package[net-tools], if this resource is
already declared on your code base, you can set this flag to false
.
Default value: $splunk::params::manage_net_tools
use_default_config
Data type: Boolean
Whether or not the module should manage a default set of Splunk Enterprise configuration parameters.
Default value: true
input_default_host
Data type: String[1]
Part of the default config. Sets the splunk_input
default host.
Default value: $facts['fqdn']
input_connection_host
Data type: String[1]
Part of the default config. Sets the splunk_input
connection host.
Default value: 'dns'
splunkd_listen
Data type: Stdlib::IP::Address
The address on which splunkd should listen.
Default value: '127.0.0.1'
logging_port
Data type: Stdlib::Port
The port to receive TCP logs on.
Default value: $splunk::params::logging_port
splunkd_port
Data type: Stdlib::Port
The management port for Splunk.
Default value: $splunk::params::splunkd_port
web_port
The port on which to service the Splunk Web interface.
purge_inputs
Data type: Boolean
If set to true, inputs.conf will be purged of configuration that is
no longer managed by the splunk_input
type.
Default value: false
purge_outputs
Data type: Boolean
If set to true, outputs.conf will be purged of configuration that is
no longer managed by the splunk_output
type.
Default value: false
purge_authentication
Data type: Boolean
If set to true, authentication.conf will be purged of configuration
that is no longer managed by the splunk_authentication
type.
Default value: false
purge_authorize
Data type: Boolean
If set to true, authorize.conf will be purged of configuration that
is no longer managed by the splunk_authorize
type.
Default value: false
purge_distsearch
Data type: Boolean
If set to true, distsearch.conf will be purged of configuration that
is no longer managed by the splunk_distsearch
type.
Default value: false
purge_indexes
Data type: Boolean
If set to true, indexes.conf will be purged of configuration that is
no longer managed by the splunk_indexes
type.
Default value: false
purge_limits
Data type: Boolean
If set to true, limits.conf will be purged of configuration that is
no longer managed by the splunk_limits
type.
Default value: false
purge_props
Data type: Boolean
If set to true, props.conf will be purged of configuration that is
no longer managed by the splunk_props
type.
Default value: false
purge_server
Data type: Boolean
If set to true, server.conf will be purged of configuration that is
no longer managed by the splunk_server
type.
Default value: false
purge_transforms
Data type: Boolean
If set to true, transforms.conf will be purged of configuration that
is no longer managed by the splunk_transforms
type.
Default value: false
purge_web
Data type: Boolean
If set to true, web.conf will be purged of configuration that is no
longer managed by the splunk_web type
.
Default value: false
manage_password
Data type: Boolean
If set to true, Manage the contents of splunk.secret and passwd.
Default value: $splunk::params::manage_password
seed_password
Data type: Boolean
If set to true, Manage the contents of splunk.secret and user-seed.conf.
Default value: $splunk::params::seed_password
reset_seed_password
If set to true, deletes password_config_file
to trigger Splunk's password
import process on restart of the Splunk services.
password_config_file
Data type: Stdlib::Absolutepath
Which file to put the password in i.e. in linux it would be
/opt/splunk/etc/passwd
.
Default value: $splunk::params::enterprise_password_config_file
seed_config_file
Data type: Stdlib::Absolutepath
Which file to place the admin password hash in so its imported by Splunk on restart.
Default value: $splunk::params::enterprise_seed_config_file
password_content
Data type: String[1]
The hashed password username/details for the user.
Default value: $splunk::params::password_content
password_hash
Data type: String[1]
The hashed password for the admin user.
Default value: $splunk::params::password_hash
secret_file
Data type: Stdlib::Absolutepath
Which file we should put the secret in.
Default value: $splunk::params::enterprise_secret_file
secret
Data type: String[1]
The secret used to salt the splunk password.
Default value: $splunk::params::secret
web_httpport
Data type: Stdlib::Port
Default value: 8000
purge_alert_actions
Data type: Boolean
Default value: false
purge_deploymentclient
Data type: Boolean
Default value: false
purge_serverclass
Data type: Boolean
Default value: false
purge_uiprefs
Data type: Boolean
Default value: false
reset_seeded_password
Data type: Boolean
Default value: $splunk::params::reset_seeded_password
splunk::enterprise::config
Private class declared by Class[splunk::enterprise] to contain all the configuration needed for a base install of Splunk Enterprise
splunk::enterprise::install
Private class declared by Class[splunk::enterprise] to contain or define through additional platform specific sub-class, the required steps for successfully installing Splunk Enterprise
splunk::enterprise::install::nix
Private class declared by Class[splunk::enterprise::install] to provide platform specific installation steps on Linux or Unix type systems.
splunk::enterprise::password::manage
Implements the direct management of the Splunk Enterprise admin password so it can be used outside of regular management of the whole stack to facilitate admin password resets through Bolt Plans.
Note: Entirely done to make this implementation consistent with the method used to manage admin password seeding.
Parameters
The following parameters are available in the splunk::enterprise::password::manage
class.
manage_password
Data type: Boolean
If set to true, Manage the contents of splunk.secret and passwd.
Default value: $splunk::params::manage_password
password_config_file
Data type: Stdlib::Absolutepath
Which file to put the password in i.e. in linux it would be
/opt/splunk/etc/passwd
.
Default value: $splunk::params::forwarder_password_config_file
password_content
Data type: String[1]
The hashed password username/details for the user.
Default value: $splunk::params::password_content
secret_file
Data type: Stdlib::Absolutepath
Which file we should put the secret in.
Default value: $splunk::params::forwarder_secret_file
secret
Data type: String[1]
The secret used to salt the splunk password.
Default value: $splunk::params::secret
splunk_user
Data type: String[1]
Default value: $splunk::params::splunk_user
service
Data type: String[1]
Default value: $splunk::params::enterprise_service
mode
Data type: Enum['agent', 'bolt']
Default value: 'bolt'
splunk::enterprise::password::seed
Implements the seeding and reseeding of the Splunk Enterprise admin password so it can be used outside of regular management of the whole stack to facilitate admin password resets through Bolt Plans
Parameters
The following parameters are available in the splunk::enterprise::password::seed
class.
seed_password
If set to true, Manage the contents of splunk.secret and user-seed.conf.
reset_seed_password
If set to true, deletes password_config_file
to trigger Splunk's password
import process on restart of the Splunk services.
password_config_file
Data type: Stdlib::Absolutepath
Which file to put the password in i.e. in linux it would be
/opt/splunk/etc/passwd
.
Default value: $splunk::params::enterprise_password_config_file
seed_config_file
Data type: Stdlib::Absolutepath
Which file to place the admin password hash in so its imported by Splunk on restart.
Default value: $splunk::params::enterprise_seed_config_file
password_hash
Data type: String[1]
The hashed password for the admin user.
Default value: $splunk::params::password_hash
secret_file
Data type: Stdlib::Absolutepath
Which file we should put the secret in.
Default value: $splunk::params::enterprise_secret_file
secret
Data type: String[1]
The secret used to salt the splunk password.
Default value: $splunk::params::secret
reset_seeded_password
Data type: Boolean
Default value: $splunk::params::reset_seeded_password
splunk_user
Data type: String[1]
Default value: $splunk::params::splunk_user
service
Data type: String[1]
Default value: $splunk::params::enterprise_service
mode
Data type: Enum['agent', 'bolt']
Default value: 'bolt'
splunk::enterprise::service
Private class declared by Class[splunk::enterprise] to define a service as its understood by Puppet using a dynamic set of data or platform specific sub-classes
splunk::enterprise::service::nix
Private class declared by Class[splunk::enterprise::service] to provide platform specific service management on Linux or Unix type systems.
splunk::forwarder
Install and configure an instance of Splunk Universal Forwarder
Examples
Basic usage
include splunk::forwarder
Install specific version and build with admin passord management
class { 'splunk::params':
version => '7.2.5',
build => '088f49762779',
}
class { 'splunk::forwarder':
package_ensure => latest,
manage_password => true,
}
Parameters
The following parameters are available in the splunk::forwarder
class.
server
Data type: String[1]
The fqdn or IP address of the Splunk server.
Default value: $splunk::params::server
`version``
Specifies the version of Splunk Forwarder the module should install and manage.
package_name
Data type: String[1]
The name of the package(s) Puppet will use to install Splunk Forwarder.
Default value: $splunk::params::forwarder_package_name
package_ensure
Data type: String[1]
Ensure parameter which will get passed to the Splunk package resource.
Default value: $splunk::params::forwarder_package_ensure
staging_dir
Data type: String[1]
Root of the archive path to host the Splunk package.
Default value: $splunk::params::staging_dir
path_delimiter
Data type: String[1]
The path separator used in the archived path of the Splunk package.
Default value: $splunk::params::path_delimiter
forwarder_package_src
Data type: String[1]
The source URL for the splunk installation media (typically an RPM, MSI,
etc). If a $src_root
parameter is set in splunk::params, this will be
automatically supplied. Otherwise it is required. The URL can be of any
protocol supported by the puppet/archive module. On Windows, this can be
a UNC path to the MSI.
Default value: $splunk::params::forwarder_package_src
package_provider
Data type: Optional[String[1]]
The package management system used to host the Splunk packages.
Default value: $splunk::params::package_provider
manage_package_source
Data type: Boolean
Whether or not to use the supplied forwarder_package_src
param.
Default value: true
package_source
Data type: Optional[String[1]]
Optional The source URL for the splunk installation media (typically an RPM,
MSI, etc). If enterprise_package_src
parameter is set in splunk::params and
manage_package_source
is true, this will be automatically supplied. Otherwise
it is required. The URL can be of any protocol supported by the puppet/archive
module. On Windows, this can be a UNC path to the MSI.
Default value: undef
install_options
Data type: Splunk::Fwdinstalloptions
This variable is passed to the package resources' install_options parameter.
Default value: $splunk::params::forwarder_install_options
splunk_user
Data type: String[1]
The user to run Splunk as.
Default value: $splunk::params::splunk_user
forwarder_homedir
Data type: Stdlib::Absolutepath
Specifies the Splunk Forwarder home directory.
Default value: $splunk::params::forwarder_homedir
forwarder_confdir
Data type: Stdlib::Absolutepath
Specifies the Splunk Forwarder configuration directory.
Default value: $splunk::params::forwarder_confdir
service_name
Data type: String[1]
The name of the Splunk Forwarder service.
Default value: $splunk::params::forwarder_service
service_file
Data type: Stdlib::Absolutepath
The path to the Splunk Forwarder service file.
Default value: $splunk::params::forwarder_service_file
boot_start
Data type: Boolean
Whether or not to enable splunk boot-start, which generates a service file to manage the Splunk Forwarder service.
Default value: $splunk::params::boot_start
manage_net_tools
Data type: Boolean
Whether or not to declare the resource Package[net-tools].
The package net-tools
is required by Splunk 7.2.2+ to be installed on the system.
By default this module manages the resource Package[net-tools], if this resource is
already declared on your code base, you can set this flag to false
.
Default value: $splunk::params::manage_net_tools
use_default_config
Data type: Boolean
Whether or not the module should manage a default set of Splunk Forwarder configuration parameters.
Default value: true
splunkd_listen
Data type: Stdlib::IP::Address
The address on which splunkd should listen.
Default value: '127.0.0.1'
splunkd_port
Data type: Stdlib::Port
The management port for Splunk.
Default value: $splunk::params::splunkd_port
logging_port
Data type: Stdlib::Port
The port on which to send and listen for logs.
Default value: $splunk::params::logging_port
purge_inputs
Data type: Boolean
Optional If set to true, inputs.conf will be purged of configuration that is
no longer managed by the splunkforwarder_input
type.
Default value: false
purge_outputs
Data type: Boolean
Optional If set to true, outputs.conf will be purged of configuration that is
no longer managed by the splunk_output
type.
Default value: false
purge_props
Data type: Boolean
Optional If set to true, props.conf will be purged of configuration that is
no longer managed by the splunk_props
type.
Default value: false
purge_transforms
Data type: Boolean
Optional If set to true, transforms.conf will be purged of configuration that is
no longer managed by the splunk_transforms
type.
Default value: false
purge_web
Data type: Boolean
Optional If set to true, web.conf will be purged of configuration that is
no longer managed by the splunk_web
type.
Default value: false
forwarder_input
Data type: Hash
Used to override the default forwarder_input
type defined in splunk::params.
Default value: $splunk::params::forwarder_input
forwarder_output
Data type: Hash
Used to override the default forwarder_output
type defined in splunk::params.
Default value: $splunk::params::forwarder_output
manage_password
Data type: Boolean
If set to true, Manage the contents of splunk.secret and passwd.
Default value: $splunk::params::manage_password
seed_password
Data type: Boolean
If set to true, Manage the contents of splunk.secret and user-seed.conf.
Default value: $splunk::params::seed_password
reset_seed_password
If set to true, deletes password_config_file
to trigger Splunk's password
import process on restart of the Splunk services.
password_config_file
Data type: Stdlib::Absolutepath
Which file to put the password in i.e. in linux it would be
/opt/splunkforwarder/etc/passwd
.
Default value: $splunk::params::forwarder_password_config_file
seed_config_file
Data type: Stdlib::Absolutepath
Which file to place the admin password hash in so its imported by Splunk on restart.
Default value: $splunk::params::forwarder_seed_config_file
password_content
Data type: String[1]
The hashed password username/details for the user.
Default value: $splunk::params::password_content
password_hash
Data type: String[1]
The hashed password for the admin user.
Default value: $splunk::params::password_hash
secret_file
Data type: Stdlib::Absolutepath
Which file we should put the secret in.
Default value: $splunk::params::forwarder_secret_file
secret
Data type: String[1]
The secret used to salt the splunk password.
Default value: $splunk::params::secret
addons
Data type: Hash
Manage a splunk addons, see splunk::addons
.
Default value: {}
version
Data type: String[1]
Default value: $splunk::params::version
purge_deploymentclient
Data type: Boolean
Default value: false
reset_seeded_password
Data type: Boolean
Default value: $splunk::params::reset_seeded_password
splunk::forwarder::config
Private class declared by Class[splunk::forwarder] to contain all the configuration needed for a base install of the Splunk Universal Forwarder
splunk::forwarder::install
Private class declared by Class[splunk::forwarder] to contain or define through additional platform specific sub-class, the required steps for successfully installing the Splunk Universal Forwarder
splunk::forwarder::password::manage
Implements the direct management of the Splunk Forwarder admin password so it can be used outside of regular management of the whole stack to facilitate admin password resets through Bolt Plans.
Note: Entirely done to make this implementation consistent with the method used to manage admin password seeding.
Parameters
The following parameters are available in the splunk::forwarder::password::manage
class.
manage_password
Data type: Boolean
If set to true, Manage the contents of splunk.secret and passwd.
Default value: $splunk::params::manage_password
password_config_file
Data type: Stdlib::Absolutepath
Which file to put the password in i.e. in linux it would be
/opt/splunkforwarder/etc/passwd
.
Default value: $splunk::params::enterprise_password_config_file
password_content
Data type: String[1]
The hashed password username/details for the user.
Default value: $splunk::params::password_content
secret_file
Data type: Stdlib::Absolutepath
Which file we should put the secret in.
Default value: $splunk::params::enterprise_secret_file
secret
Data type: String[1]
The secret used to salt the splunk password.
Default value: $splunk::params::secret
splunk_user
Data type: String[1]
Default value: $splunk::params::splunk_user
service
Data type: String[1]
Default value: $splunk::params::forwarder_service
mode
Data type: Enum['agent', 'bolt']
Default value: 'bolt'
splunk::forwarder::password::seed
Implements the seeding and reseeding of the Splunk Forwarder admin password so it can be used outside of regular management of the whole stack to facilitate admin password resets through Bolt Plans
Parameters
The following parameters are available in the splunk::forwarder::password::seed
class.
seed_password
If set to true, Manage the contents of splunk.secret and user-seed.conf.
reset_seed_password
If set to true, deletes password_config_file
to trigger Splunk's password
import process on restart of the Splunk services.
password_config_file
Data type: Stdlib::Absolutepath
Which file to put the password in i.e. in linux it would be
/opt/splunkforwarder/etc/passwd
.
Default value: $splunk::params::forwarder_password_config_file
seed_config_file
Data type: Stdlib::Absolutepath
Which file to place the admin password hash in so its imported by Splunk on restart.
Default value: $splunk::params::forwarder_seed_config_file
password_hash
Data type: String[1]
The hashed password for the admin user.
Default value: $splunk::params::password_hash
secret_file
Data type: Stdlib::Absolutepath
Which file we should put the secret in.
Default value: $splunk::params::forwarder_secret_file
secret
Data type: String[1]
The secret used to salt the splunk password.
Default value: $splunk::params::secret
reset_seeded_password
Data type: Boolean
Default value: $splunk::params::reset_seeded_password
splunk_user
Data type: String[1]
Default value: $splunk::params::splunk_user
service
Data type: String[1]
Default value: $splunk::params::forwarder_service
mode
Data type: Enum['agent', 'bolt']
Default value: 'bolt'
splunk::forwarder::service
Private class declared by Class[splunk::forwarder] to define a service as its understood by Puppet using a dynamic set of data or platform specific sub-classes
splunk::forwarder::service::nix
Private class declared by Class[splunk::forwarder::service] to provide platform specific service management on Linux or Unix type systems.
splunk::params
This class takes a small number of arguments (can be set through Hiera) and generates sane default values installation media names and locations. Default ports can also be specified here. This is a parameters class, and contributes no resources to the graph. Rather, it only sets values for parameters to be consumed by child classes.
Parameters
The following parameters are available in the splunk::params
class.
version
Data type: String[1]
The version of Splunk to install. This will be in the form x.y.z; e.g. "4.3.2".
Default value: '7.2.4.2'
build
Data type: String[1]
Splunk packages are typically named based on the platform, architecture, version, and build. Puppet can determine the platform information automatically but a build number must be supplied in order to correctly construct the path to the packages. A build number will be six digits; e.g. "123586".
Default value: 'fb30470262e3'
splunkd_port
Data type: Stdlib::Port
The splunkd port.
Default value: 8089
logging_port
Data type: Stdlib::Port
The port on which to send logs, and listen for logs.
Default value: 9997
server
Data type: String[1]
Optional fqdn or IP of the Splunk Enterprise server. Used for setting up the default TCP output and input.
Default value: 'splunk'
splunk_user
Data type: String[1]
The user that splunk runs as.
Default value: $facts['os']['family']
src_root
Data type: String[1]
The root URL at which to find the splunk packages. The sane-default logic assumes that the packages are located under this URL in the same way that they are placed on download.splunk.com. The URL can be any protocol that the puppet/archive module supports. This includes both puppet:// and http://.
The expected directory structure is:
$root_url/
└── products/
├── universalforwarder/
│ └── releases/
| └── $version/
| └── $platform/
| └── splunkforwarder-${version}-${build}-${additl}
└── splunk/
└── releases/
└── $version/
└── $platform/
└── splunk-${version}-${build}-${additl}
A semi-populated example of src_root
contains:
$root_url/
└── products/
├── universalforwarder/
│ └── releases/
| └── 7.2.4.2/
| ├── linux/
| | ├── splunkforwarder-7.2.4.2-fb30470262e3-linux-2.6-amd64.deb
| | ├── splunkforwarder-7.2.4.2-fb30470262e3-linux-2.6-intel.deb
| | └── splunkforwarder-7.2.4.2-fb30470262e3-linux-2.6-x86_64.rpm
| ├── solaris/
| └── windows/
| └── splunkforwarder-7.2.4.2-fb30470262e3-x64-release.msi
└── splunk/
└── releases/
└── 7.2.4.2/
└── linux/
├── splunk-7.2.4.2-fb30470262e3-linux-2.6-amd64.deb
├── splunk-7.2.4.2-fb30470262e3-linux-2.6-intel.deb
└── splunk-7.2.4.2-fb30470262e3-linux-2.6-x86_64.rpm
Default value: 'https://download.splunk.com'
boot_start
Data type: Boolean
Enable Splunk to start at boot, create a system service file.
WARNING: Toggling boot_start
from false
to true
will cause a restart of
Splunk Enterprise and Forwarder services.
Default value: true
manage_net_tools
Data type: Boolean
Whether or not to declare the resource Package[net-tools].
The package net-tools
is required by Splunk 7.2.2+ to be installed on the system.
By default this module manages the resource Package[net-tools], if this resource is
already declared on your code base, you can set this flag to false
.
Default value: true
forwarder_installdir
Data type: Optional[String[1]]
Optional directory in which to install and manage Splunk Forwarder
Default value: undef
enterprise_installdir
Data type: Optional[String[1]]
Optional directory in which to install and manage Splunk Enterprise
Default value: undef
Defined types
splunk::addon
Defined type for deploying Splunk Add-ons and Apps from either OS packages or via splunkbase compatible archives
Examples
Basic usage
splunk::addon { 'Splunk_TA_nix':
splunkbase_source => 'puppet:///modules/splunk_qd/addons/splunk-add-on-for-unix-and-linux_602.tgz',
inputs => {
'monitor:///var/log' => {
'whitelist' => '(\.log|log$|messages|secure|auth|mesg$|cron$|acpid$|\.out)',
'blacklist' => '(lastlog|anaconda\.syslog)',
'disabled' => 'false'
},
'script://./bin/uptime.sh' => {
'disabled' => 'false',
'interval' => '86400',
'source' => 'Unix:Uptime',
'sourcetype' => 'Unix:Uptime'
}
}
}
Parameters
The following parameters are available in the splunk::addon
defined type.
splunk_home
Data type: Optional[Stdlib::Absolutepath]
Overrides the default Splunk installation target values from Class[splunk::params]
Default value: undef
package_manage
Data type: Boolean
If a package should be installed as part of declaring a new instance of Splunk::Addon
Default value: true
splunkbase_source
Data type: Optional[String[1]]
When set the add-on will be installed from a splunkbase compatible archive instead of OS packages
Default value: undef
package_name
Data type: Optional[String[1]]
The OS package to install if you are not installing via splunk compatible archive
Default value: undef
owner
Data type: String[1]
The user that files are owned by when they are created as part of add-on installation
Default value: 'splunk'
inputs
Data type: Hash
A hash of inputs to be configured as part of add-on installation, alterntively you can also define splunk_input or splunkforwarder_input resouces seperately
Default value: {}
Resource types
splunk_alert_actions
Manage splunk alert_actions settings in alert_actions.conf
splunk_authentication
Manage splunk authentication settings in authentication.conf
splunk_authorize
Manage splunk authorize settings in authorize.conf
splunk_config
splunk config
Parameters
The following parameters are available in the splunk_config
type.
name
namevar
splunk config
forwarder_installdir
forwarder_confdir
server_installdir
server_confdir
splunk_deploymentclient
Manage splunk deploymentclient entries in deploymentclient.conf
splunk_distsearch
Manage distsearch entries in distsearch.conf
splunk_indexes
Manage splunk index settings in indexes.conf
splunk_input
Manage splunk input settings in inputs.conf
splunk_limits
Manage splunk limits settings in limits.conf
splunk_metadata
Manage metadata entries in {default,local}.meta
splunk_output
Manage splunk output settings in outputs.conf
splunk_props
Manage splunk prop settings in props.conf
splunk_server
Manage splunk server settings in server.conf
splunk_serverclass
Manage splunk serverclass entries in serverclass.conf
splunk_transforms
Manage splunk transforms settings in transforms.conf
splunk_uiprefs
Manage splunk web ui settings in ui-prefs.conf
splunk_web
Manage splunk web settings in web.conf
splunkforwarder_deploymentclient
Manage splunkforwarder deploymentclient entries in deploymentclient.conf
splunkforwarder_input
Manage splunkforwarder input settings in inputs.conf
splunkforwarder_limits
Manage splunkforwarder limit settings in limits.conf
splunkforwarder_output
Manage splunkforwarder output settings in outputs.conf
splunkforwarder_props
Manage splunkforwarder props settings in props.conf
splunkforwarder_server
Manage splunkforwarder server settings in server.conf
splunkforwarder_transforms
Manage splunkforwarder transforms settings in transforms.conf
splunkforwarder_web
Manage splunkforwarder web settings in web.conf
Changelog
All notable changes to this project will be documented in this file. Each new release typically also includes the latest modulesync defaults. These should not affect the functionality of the module.
v9.0.0 (2021-08-09)
Breaking changes:
- Drop Puppet 5, add Puppet 7 support #313 (smortex)
- Drop EOL Debian 8; Add Debian 9/10 support #306 (bastelfreak)
- Drop CentOS 6 support #305 (bastelfreak)
Implemented enhancements:
- puppet/archive: allow 5.x #309 (bastelfreak)
- Add Ubuntu 18.04/20.04 support #307 (bastelfreak)
- add option to manage net-tools package #303 (mcmartins)
- Add support for FreeBSD #282 (martijndegouw)
- Add support for OpenSUSE #281 (martijndegouw)
- Add ability to override default-host configuration #279 (dave-pollock)
Fixed bugs:
- Corrupt MSI installer #311
- Fix systemd service file locations to documented locations #297 (martijndegouw)
- Workaround a change in behavior of ensure_packages with stdlib #296 (martijndegouw)
- Check if splunk forwarder was already installed when seeding password. #278 (mattk42)
Closed issues:
- child class splunk::forwarder::password::seed has a typo in the fact #289
- Hard coded dependency net-tools #275
- Cant figure out how to set the index that splunk-forwarder sends to #205
Merged pull requests:
- Allow latest dependencies #316 (bastelfreak)
- update puppet-strings documentation #302 (bastelfreak)
- Use a more concise rspec-puppet syntax #301 (ekohl)
- adopt test to newer rspec-puppet syntax #300 (bastelfreak)
- Correct web_httpport field name #299 (thebeanogamer)
- modulesync 3.0.0 & puppet-lint updates #293 (bastelfreak)
- (docs) cleaned up the TBD sections. #291 (binford2k)
- Support ppc64le #290 (treydock)
- changing fact name #288 (jose-lmax)
- Use voxpupuli-acceptance #283 (ekohl)
v8.0.0 (2020-02-12)
Breaking changes:
- drop Ubuntu 14.04 support #267 (bastelfreak)
- Add 7.2 support and refactor module #215 (nick-markowski)
- modulesync 2.5.1 and drop puppet 4 #211 (bastelfreak)
Implemented enhancements:
- Support upgrading splunk forwarding and accepting ToS #269 (treydock)
- Setup admin account through user-seed.conf #242 (ody)
- Set user and group for addon installation #241 (ody)
- Refactor defined type Splunk::Addon #224 (ody)
- Compare decrypted values to see if they are insync #221 (alexjfisher)
- Add the ability to override package_source #209 (beezly)
Fixed bugs:
- Purging of inputs and outputs don't work on forwarder #157
- Fix flaky acceptance tests #260 (ody)
- Windows fixes #234 (kreeuwijk)
- Fix purging of resources #220 (alexjfisher)
Closed issues:
- Install package updates happen before service changes #263
- Install of systemd unit file doesn't actually work #262
- How to point splunk forwarder to a deploymentserver which listening on 8089? #248
- Error with ini_file autoload #239
- I think $service_name is missing under params.pp. I think we need to add $service_name = [ 'splunk', 'splunkd', 'splunkweb' ] #229
- Setting up splunk admin could be easier #226
- Optionally manage splunk user/group #223
- Splunk_serverclass exists but is not documented #218
- Module does not work with Splunk 7.1.x or 7.2.x #213
- Unable to create symlink #212
- Unable to set user for forwarder service #210
- Strange issues during unit tests with Puppet 5.3.2 #156
Merged pull requests:
- allow puppetlabs/inifile 4.x #268 (bastelfreak)
- Fix systemd support and service subclass ordering #265 (treydock)
- Clean up acceptance spec helper #261 (ekohl)
- add secret_file parameter to Windows #254 (kreeuwijk)
- Allow puppetlabs/concat 6.x and puppet/archive 4.x #240 (alexjfisher)
- Allow
puppetlabs/stdlib
6.x #236 (alexjfisher) - fix osfamily = 'windows' and kernel = 'windows' in lowercase #233 (kreeuwijk)
- Allow puppetlabs/inifile 3.x #231 (dhoppe)
- Documentation style updates #227 (ody)
- Address post-merge comments on PR #224 #225 (ody)
- Add splunk_serverclass documentation to README #219 (rbclark)
- Add documentation for two file types. #207 (dafydd2277)
- Add splunkforwarder_version fact #206 (treydock)
v7.3.0 (2018-10-19)
Implemented enhancements:
Fixed bugs:
- file_path not set for splunkforwarder_limits resource #202
- Fixes #202 #203 (Renelast)
- Improve ftr license agreement #199 (Joshua-Snapp)
Merged pull requests:
- Allow empty local and outputs files to keep centralized Splunk happier. #201 (gregswift)
- modulesync 2.2.0 and allow puppet 6.x #200 (bastelfreak)
- Allow puppetlabs/stdlib 5.x and puppetlabs/concat 5.x #193 (bastelfreak)
v7.2.1 (2018-08-20)
Fixed bugs:
Closed issues:
- Module does not seem to work with splunkforwarder 7.X #186
v7.2.0 (2018-06-14)
Implemented enhancements:
- New Custom Type For Managing .meta files #176 (michaelweiser)
Fixed bugs:
- fix unknown variable: staged_package #179 (bastelfreak)
Closed issues:
- Bump dependency constraint for the puppetlabs/inifile module #172
Merged pull requests:
- Allow this module to be installed with puppet-archive 3.0.0 #184 (mpdude)
- Allow forwarder to fully support alternate install directories #183 (Nekototori)
- drop EOL OSs; fix puppet version range #182 (bastelfreak)
- Rely on beaker-hostgenerator for docker nodesets #181 (ekohl)
- bump puppet to latest supported version 4.10.0 #178 (bastelfreak)
- Remove unsupported use of proc in title patterns #174 (treydock)
- (maint) Bumping inifile dependency from > 2.0.0 to > 3.0.0 #173 (TraGicCode)
v7.1.0 (2017-12-09)
Implemented enhancements:
- Update splunk installer directory structure + enable automated tests #149
Fixed bugs:
Closed issues:
- Agent run fails: no parameter named 'purge_forwarder_deploymentclient' #158
- Allow /opt/splunkforwarder/var/run/splunk splunkd.pid to run as splunk #154
- Erro deploying Splunk both Server and Forwarder #76
- Need a
splunkforwarder_input
defined resource type #75
Merged pull requests:
- Update README #162 (arjenz)
- replace validate_string with assert_type #161 (bastelfreak)
v7.0.0 (2017-10-04)
Breaking changes:
- BREAKING: Ability to download from download.splunk.com #150 (TraGicCode)
Implemented enhancements:
- Add serverclass type #147 (TraGicCode)
Closed issues:
- Create a type to manage deployment server "ServerClasses" #146
Merged pull requests:
- v7.0.0 Release #152 (TraGicCode)
v6.3.1 (2017-09-26)
Fixed bugs:
- Fix config file location for splunkforwarder_deploymentclient, deployment client, and alert_actions. #144 (treydock)
Merged pull requests:
- Release v6.3.1 #145 (TraGicCode)
v6.3.0 (2017-09-25)
Implemented enhancements:
- Add splunk_alert_actions type. #142 (TraGicCode)
- Add deploymentclient types #141 (TraGicCode)
- Add Purge + File Management for splunk_uiprefs #124 (treydock)
Closed issues:
- Add Windows Server 2016 + Ubuntu 16.04 to Supported OS's #137
Merged pull requests:
- v6.3.0 release #143 (TraGicCode)
v6.2.0 (2017-09-24)
Implemented enhancements:
- Replace Staging with archive module #127
Closed issues:
- Evaluation Error: Unknown variable: 'splunk::params::forwarder_install_options' #97
Merged pull requests:
- 6.2.0 Release #139 (TraGicCode)
- Added ubuntu 16.04 & 2016 + 2008R2 support. #138 (TraGicCode)
- Replace staging module with archive module #128 (TraGicCode)
v6.1.0 (2017-09-20)
Implemented enhancements:
- Ability to manage ui-prefs.conf #103
- Added splunkforwarder_server and splunkforwarder_limits providers/types. #118 (nicholaspearson)
- Allow redirecting of settings into custom contexts #87 (michaelweiser)
Fixed bugs:
- splunkd_port not defined for forwarder #133
- concat dependency is missing from metadata.json #122
- splunkforwarder_server not working #121
- Fix .conf file modes for Windows forwarders #114 (natemccurdy)
- Allow for installing packages from UNC paths on Windows #113 (natemccurdy)
- Fix resource ordering in splunk class so that splunk types will properly notify services #91 (treydock)
Closed issues:
- Ruby load error when using splunk::forwarder on Windows #110
Merged pull requests:
- Release v6.1.0 #135 (TraGicCode)
- SplunkForwarder has no concept of a splunkd_port #134 (TraGicCode)
- Remove unused spec_helper_system.rb #132 (wyardley)
- SplunkForwarder has no concept of a server_service. #130 (TraGicCode)
- Update missing concat dependency in acceptance tests. #129 (TraGicCode)
- wire up splunkforwarder_server type #126 (alexcreek)
- Added missing concat dependency to metadata.json + .fixtures.yml #123 (TraGicCode)
- Fix typo in extension filename #117 (gregoirefra)
- This commit adds the pkg_provider 'chocolatey' to the module #108 (ralfbosz)
- Ability to configure ui-prefs.conf #104 (TraGicCode)
- Set
forwarder_install_options
to beundef
for OS other than Windows. #99 (shadow999)
v6.0.0 (2017-05-25)
Fixed bugs:
- Fix Windows Forwarder Installdir #102 (TraGicCode)
Closed issues:
- Support .conf files in non-standard locations #88
- Warnings produced when splunk resources are in catalog #86
Merged pull requests:
- Bump release for 6.0.0 #112 (petems)
- Add LICENSE file #109 (alexjfisher)
- This commit sets the splunk_user for Windows to 'administrator' #107 (ralfbosz)
- Lint fixes #101 (treydock)
- types: Fix purging when section contains '//' #96 (iamjamestl)
- splunk_config: Only load other splunk types #95 (iamjamestl)
- Remove unneded blank lines #93 (roidelapluie)
- Allow splunk server services to be overridden #90 (treydock)
- Ensure /etc/init.d/splunk is created before splunk services #89 (treydock)
- Update README.md from puppetlabs-splunk #85 (Cinderhaze)
- Modulesync 0.18.0 #83 (bastelfreak)
v5.1.0 (2017-01-12)
Closed issues:
- module doesn't notify splunk restart when changing an input #63
Merged pull requests:
- release 5.1.0 #82 (bastelfreak)
- modulesync 0.16.7 #81 (bastelfreak)
- Bump min version_requirement for Puppet + deps #80 (juniorsysadmin)
- modulesync 0.16.6 #79 (bastelfreak)
- modulesync 0.16.4 #78 (bastelfreak)
- modulesync 0.16.3 #74 (bastelfreak)
- Make the file reference use the variable and not a fixed path #73 (ralfbosz)
- modulesync 0.15.0 #72 (bastelfreak)
- Revert "Release deprecated version" #70 (hunner)
- Add missing badges #66 (dhoppe)
- Update based on voxpupuli/modulesync_config 0.14.1. This might fix #62 #64 (dhoppe)
v5.0.2 (2016-10-05)
Fixed bugs:
Closed issues:
- Invalid parameter key_val_separator #4
- inheritence and version overrides #3
- Add ability to upgrade universal forwarders and servers #1
Merged pull requests:
v5.0.1 (2016-10-04)
Fixed bugs:
Merged pull requests:
v5.0.0 (2016-10-03)
Closed issues:
- Add other supported OSes to metadata.json #54
Merged pull requests:
- prepped 5.0.0 #56 (crayfishx)
- Added rspec tests for types and splunk_config and other bugfixes #55 (crayfishx)
- Bug fixes, lint, rubocop, spec tests etc. #53 (alexjfisher)
- Add 'Build Status' badge #52 (alexjfisher)
- Modulesync 0.12.7 #51 (bastelfreak)
- Fixed service restarts with forwarders #50 (crayfishx)
- [REVIEW] [MODULES-3520] refactored types and providers and added purging #49 (crayfishx)
- (maint) Fix resource order for installing splunk forwarders #47 (briancain)
4.0.0 (2016-04-11)
Merged pull requests:
- (maint) Release prep. #45 (bmjen)
- Fix typo in README. #44 (Ziaunys)
- Update README with type documentation. #43 (Ziaunys)
- Fix module errors discovered while testing. #42 (Ziaunys)
- Add acceptance test skeleton. #41 (Ziaunys)
- Change file mode to string. #40 (Ziaunys)
- Add a more modern version of our README template with updates. #39 (Ziaunys)
- Various updates and fixes #38 (Ziaunys)
- Update the resource ordering for the new Splunk types. #37 (Ziaunys)
- Add conditional logic for using the staging module #36 (Ziaunys)
- Create additional Splunk types/providers #35 (Ziaunys)
- Add splunk_server type and provider #34 (Ziaunys)
- Correct the descriptions of existing splunk types #33 (Ziaunys)
- Actually use the variable somewhere #32 (kyledecot)
- Server ensure #31 (kyledecot)
- Adds param for ensuring forwarder can be the latest argument #30 (bmjen)
- forwarder::pkg_provider should default to $splunk::params::pkg_provider #29 (hunner)
- Fix dependencies #28 (mpdude)
- (MODULES-2953) fix order of assignments #27 (DavidS)
- added technology addon feature #26 (crayfishx)
- config items are collected with tag - make sure it exists #25 (asquelt)
- Expose splunk forwarder windows install options #14 (nanliu)
3.2.1 (2015-09-08)
Merged pull requests:
- 3.2.1 prep #24 (underscorgan)
- MODULES-2448 - Improved collector compatibility #23 (underscorgan)
3.2.0 (2015-07-21)
Merged pull requests:
- Release 3.2.0 #19 (hunner)
- Update splunkforwarder_output #18 (hunner)
- Repository and password changes #17 (ckyriakidou)
- (MODULES-2096) Move default cases last #16 (DavidS)
3.1.1 (2014-12-18)
Merged pull requests:
- 3.1.1 prep #13 (underscorgan)
- Fix lint issues #12 (underscorgan)
- Add solaris sparc parameters. #10 (nanliu)
3.1.0 (2014-08-06)
Merged pull requests:
- 3.1.0 prep #11 (underscorgan)
- Update the name of the module for PMT install. #8 (metcalfc)
- Add integration tests and fix forwarder bug #7 (hunner)
- Add T&Ps for Splunk indexer and forwarder props and transforms #6 (hunner)
- Add dependency on stdlib >= 2.4.0 #5 (hunner)
3.0.1 (2013-12-02)
3.0.0 (2013-11-22)
2.0.1 (2013-10-25)
2.0.0 (2013-09-30)
0.3.0 (2013-08-27)
Merged pull requests:
- typo in puppet module install command #2 (fiddyspence)
0.2.0 (2012-12-18)
* This Changelog was automatically generated by github_changelog_generator
Dependencies
- puppetlabs-stdlib (>= 4.25.0 < 8.0.0)
- puppetlabs-inifile (>= 1.4.1 < 6.0.0)
- puppetlabs-concat (>= 4.2.1 < 8.0.0)
- puppet-archive (>= 2.0.0 < 6.0.0)
Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.