Configure a source control repository for your playbooks
You can save your playbooks in Git repositories. By default, playbooks are managed in a Git repository called local. You can create additional Git repositories as needed. Doing so enables you to perform the following tasks:
- Import and export playbooks and share facilities among instances. For example, you can use Git to publish playbooks from a development environment to a separate production environment.
- Edit playbooks using a tool of your choice instead of the web interface.
Once you edit a playbook outside of the Visual Playbook Editor (VPE), you can no longer use drag and drop blocks in the VPE to edit that playbook. Any subsequent edits in the VPE are only possible by editing the full playbook. This is not recommended.
also uses a Git repository to publish company-authored playbooks for customers to download. This repository is called the community repository and is configured on by default. You can restore this repository if you accidentally remove it. See Restore the community playbook repository.
You can transfer playbooks to Git using HTTP, HTTPS, or Git. Other protocols can be authenticated or anonymous if supported by the server.
Access the source control settings in
To access the source control settings, perform the following steps:
- From the Home menu, select Administration.
- Select Administration Settings > Source Control.
You can also access the source control settings from any Playbooks page by clicking Manage source control.
Set up a playbook repository using HTTP, HTTPS, or Git
To set up a Git repository using HTTP, HTTPS, or Git protocols, perform the following steps:
- From the Home menu, select Administration.
- Select Administration Settings > Source Control.
- Select Configure a new repository from the Repositories drop-down list.
- Provide a repository URL, repository name, and branch name. The repository name can be any name that describes your repository.
- For HTTP and HTTPS, specify a username and password. attempts to connect anonymously if no username or password is provided. When crafting the URI, converts https://server... to https://username:password@server.... The Git protocol is not authenticated and does not require a username or password.
- Click Save Changes.
The repository needs to have at least one commit in it in order to be added to . Additionally, a repository that is added to can't be edited. If you need to make a change, delete the repository and then add it again.
The username and password strings are separated so that the password can be encrypted and stored and not displayed to other administrators. However, passwords are stored as clear text in the Git configuration file for that repository.
Set up a playbook repository using SSH
To set up a playbook repository using SSH, perform the following steps:
- From the main menu, select Administration.
- Select Administration Settings > Source Control.
- Select Configure a new repository from the Repositories drop-down list.
- Provide a repository URL starting with ssh:// and including the username. For example:
ssh://<username>@10.4.5.6/opt/repos
- Add the SSH public key from to your Git server's authorized keys file.
- Copy the contents in the SSH Public Key field.
- Log in to your Git server as a user with permissions to edit the Git server's
authorized_keys
file. - Add the SSH public key to the authorized key file, such as
~/.ssh/authorized_keys
.
- Provide a repository name and branch name. The repository name can be any name that describes your repository.
If you get the following error when setting up an external repo with SSH Auth:
Cmd('git') failed due to: exit code(128) cmdline: git fetch -v origin stderr: 'fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.'
This indicates that the /home/<phantom_user>/.ssh/known_hosts
file is not being updated with the external repo and ssh key info.
You can manually correct this through the CLI by running the following command as the user:
ssh-keyscan -t rsa <external_repo> >> /home/<phantom_user>/.ssh/known_hosts
Establish trust with the git repository from your deployment
You must inform git that it can trust the remote hosts of your Splunk Phantom deployment before you can use the source repository.
On your instance, or in the case of a cluster, on each cluster node:
- SSH to the instance or cluster node. For unprivileged deployments, log in as the user account that runs .
ssh phantom@<phantom instance or cluster node>
- Run the command to establish trust with the git repository.
git ls-remote git@<address of the git repository>
- Verify that the information returned is correct. Example:
git ls-remote git@your-git-repository:phantom/phantom.git
- If the returned values are correct, type yes.
Use repositories from the Playbooks page
You can make use of configured repositories on the Playbooks page. See View the list of configured playbooks for more information.
Restore the community playbook repository
The community playbook repository is a collection of playbooks vetted by the community. This repository is configured by default when is installed. Follow the procedure to restore the community repository if it is accidentally altered or deleted.
- From the Home menu, select Administration.
- Select Source Control.
- In the Repositories drop-down list, select Configure a new repository.
- In the Repo URL field, type the URL: https://github.com/phantomcyber/playbooks.git
- In the Repo Name field, type community.
- In the Branch Name field, enter the version of you are running, up to the second set of digits. For example, if you are running version 4.10.3 enter 4.10 in this field.
- Check the Read Only check box.
- Click Save Changes.
Obtain and configure a license | Customize email templates in |
This documentation applies to the following versions of Splunk® SOAR (On-premises): 5.0.1
Feedback submitted, thanks!