Awesome
JupiterOne Managed Integration for Threat Stack
This JupiterOne integration connects to a Threat Stack account using a provided API Auth token and ingests the Threat Stack server agents and the vulnerability findings they identified.
Development Environment
Integrations mutate the graph to reflect configurations and metadata from the provider. Developing an integration involves:
- Establishing a secure connection to a provider API
- Fetching provider data and converting it to entities and relationships
- Collecting the existing set of entities and relationships already in the graph
- Performing a diff to determine which entites/relationships to create/update/delete
- Delivering create/update/delete operations to the persister to update the graph
Run the integration to see what happens.
Prerequisites:
- Install Docker and Docker Compose (both included in Docker for Mac installs)
- Install Node (Node Version Manager is recommended)
- Provide credentials in
.env
Node:
yarn install
yarn start:containers
yarn start
Activity is logged to the console indicating the operations produced and processed. View raw data in the graph database using Graphexp.
Execute the integration again to see that there are no change operations produced.
Restart the graph server to clear the data when you want to run the integration with no existing data.
yarn start:containers
Environment Variables
GRAPH_DB_ENDPOINT
-"localhost"
Running tests
All tests must be written using Jest. Focus on testing provider API interactions and conversion from provider data to entities and relationships.
To run tests locally:
yarn test
Deployment
Managed integrations are deployed into the JupiterOne infrastructure by staff engineers using internal projects that declare a dependency on the open source integration NPM package. The package will be published by the JupiterOne team.
yarn build:publish