- Add some basic custom stats to the
ksconf_package
command. (This is still a proof-of-concept)
- Add new
cache
parameter toksconf_package
to allow for control over the caching behavior. Docs were also updated in many places to more accurately represent the current implementation.
- Revamp new
ksconf_package
caching mechanism to (1) be explicit about which layers are actually in-use, and (2) pre-render templates as part of source change detection. In combination, these improvements reduce the likelihood of incorrect cache hits and some corner case cache misses due to irrelevant changes. The only down side is a minor increase in execution time (when compared to 0.25, but still significantly faster than 0.24). However, this should address all know correctness issues with theoretical caching misclassifications (and in some cases, these were practically inevitable confusion around changes to template variables). So we strongly recommend the use of 0.26 over 0.25. This now requires ksconf 0.13.8.
- Address caching glitch with 'layers' input parameters. This also fixes some incorrect adjustments to the invocation inputs as well.
- Add caching support to
ksconf_package
to speed up packaging, especially helpful when managing large apps. This requires ksconf 0.13.7.
- Add filter to ignore autogenerated
deployment-apps/*/local/app.conf
files during Manifest re-creation. This allows this file to be more fully ignored so that it doesn't get in the way, and we don't remove it (just for Splunk to re-created it on the next reload.) This requires ksconf v0.13.5 or this functionality is silently skipped.
- Fix bug in manifest upgrade pathway (wasn't skipping inline state file)
- Promote warnings from the ksconf_app_manifest via the ksconf_app_sideload action.
- Fix ksconf_app_manifest bug on Python 3.8 (no is_relative_to() until Python 3.9)
- Significant revamp of output handling (state reporting) and docs for ksconf_app_manifest module.
- Galaxy issues?
ksconf_app_manifest
- Fix typo that was breaking publishing to Galaxy.
ksconf_app_sideload
- Remove some accidental (debug) output that's always enabled.
ksconf_app_sideload
- Add support for (re-)creating metadata when missing.- Add new
state_file
input parameter that allows the state information to be stored somewhere other than within the app folder. - Add new
recreate_manifest
input parameters to disable new functionality, if desirable.
- Add new
ksconf_app_manifest
- Internal module (not for end-users; or at least use-at-your-own-risk, this can change on a whim!)
- Github action and galaxy publish fixes (no changes to collection content)
- Add support for ksconf v0.13 which has some package namespace changes.
- Bug fix for
ksconf_app_sideload
file existence checks. - Bug fix for encrypting new tarballs using
ksconf_package
.
ksconf_package
: Add ability to decrypt vaulted source files withenable_handler=ansible-vault
and encrypted the generated tarballs usingencrypt=vault
.- The controller node now requires ksconf v0.11.5 or later.
splunk_user
: Gotforce_change_pass
working. The documentation was updated accordingly.
splunk_cli
: Rename thesplunk_uri
option tosplunkd_uri
to be consistent across modules. Added alias for backwards compatibility. (Aso fixed an example in the splunk_user docs)
splunk_cli
: Allow full splunk path incmd
so that thesplunk_home
argument isn't needed. This arguably feels more natural and is more of a drop-in replacement for the command module.splunk_user
: Started to add support forforce_change_pass
argument which sets theforce-change-pass
Splunk REST parameter. This currently is NOT working, but there were a enough documentation updates to justify putting the updated code into place.asis
: Add support for overriding output by setting an output field named:priority_msg
. Additionally, any task marked with "no_log" is silently bypassed from the output.
- Add the most basic stdout callback handler ever
asis
which simply dumps any 'stdout', 'stderr', and 'msg' fields with minimal no formatting. All other result fields are disregarded.
splunk_cli
:- Fix but with
hidden_args
processing bug. - Improve error handling while parsing
cmd
into args.
- Fix but with
ksconf_package
:- Reduce amount of output produced during normal processing. Use
-v
or-vv
to get additional feedback. - Changed output
action
slightly. Now using "unchanged" rather than "skipped". This field has been added to the docs.
- Reduce amount of output produced during normal processing. Use
- Disable
escape_backslashes
when using ansible-jinja templating mode. For example, this was causing some\n
to come though as a literal value, instead of a newline. - Update ksconf_app_sideload module's ksconf version check fail when ksconf is too old. If it's just slightly old, a warning is issued.
- Updated requirements to drop the 'requests' library, which we don't use so I'm not sure how it got in there.
- Fix minor import bug with shared module (possibly only impacting older version of Ansible?)
- Make find_splunk_home() heuristic slightly smarter. It will now correctly skip over an empty splunk home and pick the correct one when multiple are present, but one is empty.
- Add
splunk-launch.conf
andswidtag
output to thesplunk_facts
module.
- Add Jinja2 template rendering support to the
ksconf_package
module. - The
ksconf_package
module is now an "action" which means it has to be run from the controller. This allows access to all variables, which is not possible when run from the remote machine, as modules are. - Add some validation for
.conf.j2
files; ensuring that they render to valid.conf
files, and therefore avoid building broken files. - Increase atomic file operations (mostly in the ksconf package; when using v0.11.5 or higher)
- NO changes. Re-uploading the same codebase to workaround issue with Ansible Galaxy where it apparently gets confused about beta releases.
- First version of stateful deployment ready for wider use.
- NOTICE: Ksconf version 0.11.0 or later must be used.
- Add read-the-docs docs support and various docs fixups. See: https://cdillc-splunk.readthedocs.io/
- Completed first pass at adding stateful deployment to
ksconf_app_sideload
- Working towards stateful app deployment. This enabled the ability to remove files that are no longer shipped with the app.
- Ksconf version 0.11.0 or later must be used. Partial support for older versions was fully dropped (I'm not sure it ever was fully tested anyways). Changes here were significant enough that being up-to-date is a must!
- More embracement of pathlib and f-strings! We must have Python 3.7 for ksconf on controller and target, so there's no value in half-supporting Python 2.7 anywhere in this codebase.
- Minor error handling improvements around json parsing.
- Add support for app detection under
peer-apps
andslave-apps
- Additional app.conf field mappings
- Add app tracking support in
splunk_facts
module.
splunk_cli
now supportshidden_args
which allows things like-secret
and-remotePassword
to be passed in securely without being logged.- Minor documentation improvements.
- Minor improvements to
reltime_to_sec
to support weeks, months, and years & add to main README.
- Add
reltime_to_sec
filter that will convert human a subset of Splunk's readable "relative time" format to seconds. For example{{reltime_to_sec("7d")}}
will return604800
- Minor doc/example improvements
- Minor tweaks to argument handling for the
splunk_user
module.
- Fixed typo in
splunk_rest_conf
module.
- Minor improvements to
splunk_rest_conf
module. This includes a bug fix and some minor output enhancements during exceptions.
Start of change log