This file is used to list changes made in each version of the splunk cookbook.
- Align index name validation in splunk_monitor and splunk_index resources with Splunk docs
- Add SUSE support
- Require Chef 16 for Chef Vault functionality
- Remove
systemd?
method and use internal one instead - Fix and update ChefSpec
- resolved cookstyle error: libraries/helpers.rb:127:10 refactor:
Chef/Modernize/UseChefLanguageSystemdHelper
- resolved cookstyle error: libraries/helpers.rb:272:7 refactor:
Chef/Modernize/UseChefLanguageSystemdHelper
- resolved cookstyle error: metadata.rb:20:1 refactor:
Chef/Modernize/DependsOnChefVaultCookbook
- resolved cookstyle error: recipes/service.rb:95:32 refactor:
Chef/Modernize/UseChefLanguageSystemdHelper
- resolved cookstyle error: resources/splunk_app.rb:1:1 refactor:
Chef/Deprecations/ResourceWithoutUnifiedTrue
- resolved cookstyle error: resources/splunk_index.rb:1:1 refactor:
Chef/Deprecations/ResourceWithoutUnifiedTrue
- resolved cookstyle error: resources/splunk_installer.rb:1:1 refactor:
Chef/Deprecations/ResourceWithoutUnifiedTrue
- resolved cookstyle error: resources/splunk_monitor.rb:1:1 refactor:
Chef/Deprecations/ResourceWithoutUnifiedTrue
- resolved cookstyle error: recipes/setup_shclustering.rb:114:5: refactor:
Chef/Correctness/NodeNormal
- Standardise files with files in sous-chefs/repo-management
- Standardise files with files in sous-chefs/repo-management
- Sous Chefs Adoption
- Re-vamp inspec tests for test-kitchen
- Various cookstyle & spec fixes
- Adds cookbook dependency on ec2-tags-ohai-plugin to read EC2 tags as a secondary detection method for rotating Splunk secrets
- Fixes Issue #128 logic in
#shcluster_members?
helper method with a better match
- Fix centos-6 and Amazon linux convergence by adding an only_if to only create systemd symlinks on systemd systems.
- Adds clarification text to README.md regarding chef-vault fallback to encrypted data bags
- Changes the build status badge to track Actions status
- Moves most tests back to dokken and only run suites that change splunk user from root in vagrant.
- sets umask when executing the
execute[splunk enable boot-start]
resource - adds new attribute,
default['splunk']['enable_boot_start_umask']
for umask setting applied toexecute[splunk enable boot-start]
(Default: '18') #splunk_cmd
now requires a dynamic array of arguments that will be appended to the splunk commandsplunk.service
is symlinked to the systemd unit- adds a kitchen-vagrant config to run inside Github Actions
- enhancements to the
:remove
action forsplunk_installer
resource to ensure a complete uninstall for both Splunk Enterprise Server and Universal Forwarder
- Fixes an issue running Splunk and the Splunk Universal Forwarder as a non-root user
- Fixes Test Kitchen configuration to test running Splunk as non-root user
- Helper methods in
libraries/helper.rb
are moved to their own module space:ChefSplunk::Helpers
- Disables Splunk management port (8089) when installing the Universal Forwarder
- Fixes Issue #185
- a startup issue was resolved for SplunkForwarder installations with an improved systemd unit file (fix below)
- Adds Inspec tests to verify from SplunkForwarder starts (thanks, @jjm)
- Fixes Issue #187
- the systemd unit file is now relegated to the
splunk enable boot-start
command to manage
- the systemd unit file is now relegated to the
- Adds Inspec tests and sets the verifier in Test Kitchen for some test suites; some are still in serverspec
- Render the user-seed.conf with a file resource rather than a template
- The default recipe no longer includes the disable recipe; to disable splunk, add
recipe[chef-splunk::disabled]
to a run list explicitly - Disabling splunk will no longer uninstall Splunk Enterprise nor the Splunk Universal Forwarder
- Adds
#SecretsHelper
to aid with secrets rotation and maintaining idempotency for handling Splunk's hashed secret values - Improved guards to prevent
service[splunk]
restart/start when it should be disabled.
- Fixes Issue #183: make upgrades idempotent
- it is no longer necessary to include
chef-splunk::upgrade
to a run list; Instead, set the following:- set
node['splunk']['server']['upgrade']['version']
ornode['splunk']['forwarder']['upgrade']['version']
for the appropriate server type - set
node['splunk']['server']['upgrade']['url']
ornode['splunk']['forwarder']['upgrade']['url']
for the appropriate server type - set
node['splunk']['upgrade_enabled'] = true
- set
- Sets the Splunk Enterprise Server and Forwarder upgrade versions to 8.0.6
- Sets the upgrade attributes to pull v8.0.6 of Splunk Enterprise and Universal Forwarder
- Fixes Issue #178
#shcluster_member?
passesnode['ipaddress']
to#include?
- Drops travis-ci and onboards testing with Github Actions
- removes dependency on the splunk command when running the
disable
recipe
- Thank you, @doublethink, for this submission
- Resolves issues installing server and client as non-root users:
chef-splunk::user
recipe will not run if splunkd should be run as a non-root user- systemd and SysV templates correctly run as the specified non-root user
- Adds a new helper method:
#run_as_root?
- Fixes Issue #168
- uses
node.normal
whenruby_block[captain elected]
executes to persist that value between chef runs - requires manually updating node data to set
node.normal['splunk']['shclustering']['captain_elected'] = true
if you've already deployed v6.2.6 of this cookbook previously otherwise, skip v6.2.6 and run v6.2.7 directly.
- uses
- changes
#shcaptain_elected?
to rely on the splunk CLI output fromshow shcluster-status
to determine if a captain has been elected - adds new helper method:
#shcluster_captain
that returnsnil
or the name of the captain - handles the case where
node['splunk']['shclustering']['mode'] == 'captain'
and the node is replacing one that was part of an existing cluster in a dynamic captain situation; whereby captaincy has migrated to a different node and the incoming "captain" should in fact add itself as a regular member of the search head cluster.
- Fixes splunkd restart issue
- Multiple bugfixes to resolve build issues
- Better chefspec coverage
- Installs a limits.conf as a custom Splunk app, called
chef_splunk_universal_forwarder
- Fixes overzealous splunkd restarts due to SysV template being deployed where Systemd exists after the rendered template is deleted by a
file
resource
- Fixes systemd error:
Failed to enable unit: File /etc/systemd/system/splunk.service already exists.
This changes the systemd alias tosplunkd.service
- Removes
execute['enable boot-start']
resource that was conflicting with this cookbook's own templates for system start scripts
- PR#170 - Support systemd natively (@mfortin)
- Standardise files with files in chef-cookbooks/repo-management - @xorimabot
- Chef Infra Client 16 compatibility fixes - @xorimabot
- resolved cookstyle error: resources/splunk_app.rb:19:1 warning:
ChefDeprecations/ResourceUsesOnlyResourceName
- resolved cookstyle error: resources/splunk_index.rb:17:1 warning:
ChefDeprecations/ResourceUsesOnlyResourceName
- resolved cookstyle error: resources/splunk_installer.rb:17:1 warning:
ChefDeprecations/ResourceUsesOnlyResourceName
- resolved cookstyle error: resources/splunk_monitor.rb:17:1 warning:
ChefDeprecations/ResourceUsesOnlyResourceName
- resolved cookstyle error: resources/splunk_app.rb:19:1 warning:
- gracefully handles return value when splunk hasn't been installed for these helper methods:
#shcaptain_elected?
#ok_to_bootstrap_captain?
#ok_to_add_member?
#search_heads_peered?
- Fixes
#init_shcluster_member?
exception when splunk is not installed; will return false when splunk hasn't been installed
- Rescues
Errno::ENOENT
inruby_block['splunk_fix_file_ownership']
- Fixes issues #158
- Removes default_description as a property field
- Implements a
cookbook
property for thesplunk_app
custom resource
- applies
files_mode
property toremote_directory
resource used by thesplunk_app
resource
- adds property
files_mode
to thesplunk_app
resource that allows downstream recipes to set the mode for a template being managed by the resource.
- Removes iniparse gem install from metadata; this was superfluous
- Fixes Issue #64
- Adds custom resource,
splunk_monitor
- Adds custom resource,
splunk_index
- Adds custom resource,
- Disables STDOUT/STDERR suppression for execute resources when Chef Infra Client is run in
:debug
mode
- Changes the restart behavior of
splunk_app
to eliminate sub-resources of the resource from initiating restarts of service[splunk] - Fixes Issue #59
- converts
splunk_app
resource to modern style
- converts
- Fixes Issue #152
- Removes
splunk_auth
property from thesplunk_app
resources (no longer required)
- Removes
- fixes minimum number of search head cluster members required to bootstrap the captain
- fixes search head cluster captain discovery
- fixes the logic that determines when a search head cluster captain can be bootstrapped
- fixes the logic that determines when a search head cluster member can be added to its cluster
- adds helper methods:
#shcluster_member?
#shcaptain_elected?
#ok_to_bootstrap_captain?
#ok_to_add_member?
#shcluster_servers_list
#hash_password
- To prevent overzealous restarts of splunkd, detects when the pass4symmkey has already been encrypted by splunkd
- removes unnecessary
#run_command
calls whenshell_out
is used
- Fixes Issue #146
splunk_app
no longer uses thesplunk install app
andsplunk disable app
commands; preference to managing the files in<splunk_dir>/etc/apps
, or the alternative directories, directly, and restarting/reloading Splunk, as needed.- Removes these actions from
splunk_app
::disable
,:enable
, and:update
splunk_app
now has two actions only::install
(default) and:remove
:install
action will also update app config files, as needed
- Fixes Issue #111
- with so many ways to "unpack" a compressed bundle file (e.g., tar.gz, zip, bz2), this feature will not attempt to support any/all of the possibilities. In contrast, this feature will support installing an app from any local source on the chef node and into the /opt/splunk/etc/apps directory, unless otherwise specified by the
app_dir
property.
- with so many ways to "unpack" a compressed bundle file (e.g., tar.gz, zip, bz2), this feature will not attempt to support any/all of the possibilities. In contrast, this feature will support installing an app from any local source on the chef node and into the /opt/splunk/etc/apps directory, unless otherwise specified by the
- The
sensitive
property is honored by thesplunk_app
resource.
- Adds attribute
node['splunk']['shclustering']['app_dir']
to take the place of local ruby variable to set the search head clustering application directory. - Uses the splunk CLI to add search head cluster members instead of the app server.conf file to ensure members are properly added. SH cluster members wait for the captain to converge.
- Search Head Captains will initialize as a search head cluster member and then bootstrap themselves
- Improves idempotent addition of search head cluster members
- Fixes issue #137
- Adds logic to skip any initialization or bootstrapping of search head cluster resources.
- Fixes issue #138
- Adds a new property to the
splunk_app
resource, calledtemplate_variables
- Adds a new property to the
- Fixes issue #139
- Adds
cookbook
property to the template declared in thesplunk_app
provider
- Adds
- Fixes issue #140
- Adds back resource actions: :enable, :disable, :install, :remove
- Fixes issue #141
app_dir
property was added to thesplunk_app
resource
- Integrates a search head cluster to a single or multisite indexer cluster
- Adds helper method
#add_shcluster_member?
to indicate whether a search head cluster member needs to be added to the search head cluster - Adds support for Hash when providing the
templates
property to thesplunk_app
resource - Adds
:update
action tosplunk_app
resource
- Adds a state file and a guard that ensures the
template[user-seed.conf]
resource is idempotent - Fixes the shcluster-captain bootstrap command where
--servers_list
was provided a semi-colon separated list instead of a comma-separated list
- Fixes #134
- Changes the chef-vault cookbook dependency to
~> 4.0
. This version of chef-vault skips the gem installation via the cookbook, because the gem is included out of the box in Chef Infra Client 13.4+.
- Modifies the
chef-splunk::shclustering
to deploy a Splunk Search Head deployer - Fixes a regression made by commit 26fa04d9: when
node['splunk']['runasroot']
is false, splunk isn't started with a non-root user or the startup scripts are not modified to allow for non-root splunk commands - Properly stops and restarts the splunk daemon when the daemon needs to switch from running as root to a non-root user
- Sets the splunk user home directory to the appropriate path when
node['splunk']['is_server']
is true - Stops the splunk service, if installed, before modifying the splunk user account settings
- ensures the splunk service resources are always starting the daemon
- Ensures the splunk daemon is always running as the correct user
- Fixes #130 the
execute[update-splunk-mgmt-port]
resource passes splunk auth info to the#current_mgmt_port
helper method - cookstyle auto-correct
- deletes .foodcritic and .rubocop.yml files from the repo
- Installs Enterprise Splunk 8.0.1
- Installs Splunk Universal Forwarder 8.0.1
- Removes unnecessary calls to
include_recipe 'chef-vault'
- in
chef-splunk::client
, do not install the forwarder if the server config is being installed on a splunkd server - adds helper method:
#server?
that will return true if the chef node is a splunkd server - adds helper method:
#port_open?
that will return true if the local node has a specified port open - logs a warning message if
node['splunk']['upgrade']['server_url']
ornode['splunk']['upgrade']['forwarder_url']
exist - Splunk now generates its own scripts for boot starts; therefore this cookbook executes Splunk's
boot-start
command
- Fixes #125 adds conditional expressions when
node['splunk']['setup_auth']
isfalse
to bypass thechef-splunk::setup_auth
recipe. - Fixes #126 creates
$SPLUNK_HOME/etc/system/local/user-seed.conf
- Fixes #50
splunk_installer
now allows for installing the package bundle from OS package managers by specifyingpackage_name
andversion
- This release is brought to you by @haidangwa. Thanks!
- Added
upgrade
action tosplunk_installer
resource - Fixed
chef-splunk::upgrade
recipe to actually upgrade splunk - Fixed issue #122 removed
initial_captain
reference from comment node['splunk']['accept_license']
is strictly enforced and documented that the value must be set to booleantrue
. Anything else will be considered not acceptig the license agreement.- Ensures that the splunk directory has proper permissions and ownership set when splunk is run as a non-root user
- DRY chefspec examples
- cookstyle auto-corrects
- added Test Kitchen suites:
upgrade_server
anduninstall_forwarder
- Updated travis-ci config to include more test cases
- Fixed default upgrade URLs so they are not HTTP Redirect targets for debian platform family
- Accepted the license in startup scripts if accepted in attributes
- removed from Test Kitchen under dokken: debian 8
- added to Test Kitchen under dokken: debian 10 and ubuntu 18.04
- ensured that all recipes declare the service[splunk] resource consistently
- added helper methods:
#svc_command
and#license_accepted?
- Configure amazonlinux and fedora instances in kitchen-dokken and chefspec to run correctly.
- Fixed issue #58 Converted the
splunk_installer
definition into a custom resource - Fixed issue #101 Added sensitive true to the execute resources with commands containing splunk auth
- Fixed issue #106 splunk service runs as splunk user now
- Fixed issue #118 removed omnios platform tests
- bumped chef-vault dependency to
>= 3.1.1
- moved content from files/default and templates/default in accordance with modern file specificity rules
- Require Chef 13.11 or newer
- Removed (undocumented) support for Solaris (OmniOS) platform; omnios is not a platform that can currently be tested under ChefSpec and Test Kitchen.
- fixes to ensure splunk run as a non-root user
- added helper methods:
#splunk_runas_user
and#splunk_service_provider
- Fixed logic in setup_shcluster recipe and fixed the corresponding chefspec
- added
sensitive true
for SSL certificate private key and certificate resources - ensured yum-centos repository is enabled in Test Kitchen for tests requiring centos or redhat
- Set ownership of web.conf file using the splunk owner/group attributes
- set the systemd unit file to 644
- Enable amazon platform support for splunk forwarder
- Resolve deprecation warning in Chefspec and use the latest platforms in the specs
- Fix CI and Kitchen Dokken
- Fix upgrade recipe
- Fix install on SUSE platform
- Add Splunk 6.6 URLs as default
- Add static list of indexers for client recipe
- Add multisite indexer clustering
- Add search head clustering
- Add ['splunk']['splunk_servers'] attribute as an alternative to using chef search functionality to discover splunk servers.
- Updated the default version of the Splunk forwarder to 6.4
- Removed the scope section of the readme as this is no longer a Chef Ops maintained cookbook
- Set the default version to 6.3.3 with working URLs
- Added integration testing in Travis CI with Kitchen Docker
- Added a scope to the readme to properly set expectations
- Added travis and cookbook version badges to the readme
- Removed Ubuntu 10.04 as a supported version and add 14.04
- Resolved all Rubocop warnings
- Pinned Gemfile to specific supported versions
- Added the Apache 2.0 license file
- Added maintainers.toml and maintainers.md files
- Replaced the testing.md file with a link to the docs repo
- Added long_description to the metadata
- Added source_url and issues_url for Supermarket to the metadata
Also known as the "it's about time!" release
- support for splunk universal client running as a server
- update splunk install version to 6.2.1
- added attribute for rate limiting maxKBps throughput
- Add recipe to setup indexer cluster
- use
declare_resource
method to setup the right local-file package resource forsplunk_installer
definition - lots of fixes for specs and tests
- Implement dynamic inputs.conf and outputs.conf configuration based on attributes in client recipe.
- Implement capability to run Splunk as a non-root user
- Allow web port to be specified
- [COOK-4621] - upgrade to Splunk 6.0.3 (for heartbleed)
- add ubuntu 14.04 to test-kitchen
- [COOK-4450] - upgrade to Splunk 6.0.2
- [COOK-4451] - unbreak test harness
- template sources should have .erb explicitly
- don't show the password in the execute resource name
- Splunk init script supports status, use it in
stop
action for upgrade.
- Initial release