Managing Panther Content via CircleCI
Manage detection content in Panther with a CI/CD workflow using CircleCI
Overview
You can configure CircleCI to automate testing and upload your detection pipeline from your source repository to your Panther Console.
This guide explains how to:
Configure your repository to support CircleCI.
Configure CircleCI to automatically upload detection content you commit to your repository to your Panther instance.
See CI/CD for Panther Content for information on starting your CI/CD workflow with Panther.
Setting up CircleCI
To use CircleCI to upload detection content to your Panther instance, you'll create a CircleCI job on your repository, then configure environment variables for Panther API credentials.
Prerequisites
Generate an API token from your Panther Console.
If you do not already have a CircleCI account, create a free one.
Step 1: Set up your detections repository
If you do not already have a repository set up for your Panther detection content, create one. It is recommended to either privately clone or publicly fork Panther's panther-analysis repository.
Step 2: Add a CircleCI job to your repository
In order for CircleCI to test and upload the detection content you commit to the main
branch of your panther-analysis
repository, you need to create a CircleCI job.
On the command line, navigate to the root of your private local repository:
cd path/to/your/repository
Create a new directory for the CircleCI configuration, as well as a new configuration file:
mkdir .circleci && touch .circleci/config.yml
Open
config.yml
and paste the following:Add, commit, and push the changes to your repository:
git add . && git commit -m 'adding initial circleci configuration' && git push
Step 3: Add Panther API credentials as environment variables
Ensure that the environment variables PANTHER_API_TOKEN
and PANTHER_API_HOST
are set to allow for correct authentication.
Sign in to CircleCI and select the organization your project is in.
In the left-hand navigation menu, click Projects.
In your projects list, locate the
panther-analysis
repository. On the right side of the project, click ... then Project Settings.In the left-hand navigation menu, click Environment Variables.
Click Add Environment Variable, and add
INTERNAL_API_TOKEN
andINTERNAL_API_HOST
.See the CircleCI documentation on Using Environment Variables for more information.
Check out Panther Analysis Tool Commands for more information on the Panther Analysis tool.
Last updated