install_apps.yml syncs with delete: true and no local/ protect rule. When an app's source has no local/ (normal for git apps shipping only default/), rsync --delete removes the existing local/ on the target, destroying operator customizations (saved searches, dashboards, local props/transforms).
This contradicts the docs:
- README: "Ansible will not touch the existing local/ folder"
- task comment: "preserving the local/ folder"
Not a regression - present since the first commit (delete: yes + the comment + no protect rule); no local/ rule ever existed in rsync-filter.
Pick one:
- Preserve
local/: add --filter=P */local/** so --delete never removes it (honors the documented promise).
- Make it optional: add
splunk_app_preserve_local (default true) and reconcile the README/comment with actual behavior.
Affected: roles/splunk/tasks/install_apps.yml, roles/splunk/files/rsync-filter, README.md.
install_apps.ymlsyncs withdelete: trueand nolocal/protect rule. When an app's source has nolocal/(normal for git apps shipping onlydefault/), rsync--deleteremoves the existinglocal/on the target, destroying operator customizations (saved searches, dashboards, local props/transforms).This contradicts the docs:
Not a regression - present since the first commit (
delete: yes+ the comment + no protect rule); nolocal/rule ever existed inrsync-filter.Pick one:
local/: add--filter=P */local/**so--deletenever removes it (honors the documented promise).splunk_app_preserve_local(defaulttrue) and reconcile the README/comment with actual behavior.Affected:
roles/splunk/tasks/install_apps.yml,roles/splunk/files/rsync-filter,README.md.