



For more information on that, refer to the configure_apps.yml task description. This is accomplished using the synchronize module. For example, if you want to upgrade an app on a search head, and your repository does not contain a local/ folder, Ansible will not touch the existing local/ folder on the search head. This even applies to our app management code, which can update apps on search heads without modifying existing local/ files that may have been created through actions in Splunk Web. This means that if the system is already in the desired state that Ansible expects, it will not make any changes. Second, ansible-role-for-splunk was designed to be idempotent. If you want to fork this project and change any functionality, you only need to update the code in one place. This means that the project contains minimal code redundancy. Design PhilosophyĪ few different design philosophies have been applied in the development of this project.įirst, ansible-role-for-splunk was designed under the "Don't Repeat Yourself (DRY)" philosophy. For more information about Ansible best practices, checkout our related. This codebase is used by the team internally to manage our deployment, so it has been thoroughly vetted since it was first developed in late 2018. It supports all Splunk deployment roles (Universal Forwarder, Heavy Forwarder, Indexer, Search Head, Deployment Server, Cluster Master, SHC Deployer, DMC, License Master) as well as management of all apps and configurations (via git repositories). Example playbooks and inventory files are also provided to help new Ansible users make the most out of this project.Īnsible-role-for-splunk is used by the team to manage Splunk's corporate deployment of Splunk.Īnsible-role-for-splunk is a single Ansible role for deploying and administering production Splunk deployments. This role can manage Splunk Enterprise and Universal Forwarders that are on Linux-based platforms (CentOS/Redhat/Ubuntu), as well as deploy configurations from Git repositories. This repository contains Splunk's official Ansible role for performing Splunk administration of remote hosts over SSH. Ansible-role-for-splunk: An Ansible role for Splunk admins
