With the initial release of Starbase, functionality has been provided to use
Neo4j as a storage endpoint for saving and viewing ingested data from
integrations. Adding a storage
configuration to your config.yaml
file
similar to that found in the provided config.yaml.example
will send ingested
data to a local instance of Neo4j as part of the yarn starbase run
command.
Additionally, we have provided a Docker Composer file that can be used to stand
up a local neo4j database for those that do not want to stand up one manually.
The yarn commands yarn neo4j:start
and yarn neo4j:stop
can be used to start
and stop the Neo4j server.
Once the Neo4j server is running, you can access the Neo4j browser at
http://localhost:7474/browser/. The neo4j.yml
docker-compose config sets the
default username to neo4j
and the default password to devpass
.
The provided Neo4j configuration includes access to the standard Neo4j command
set. Additionally, the yarn neo4j:start:plugins
command will start the Neo4j
instance including the Graph Data Science and APOC libraries. For more
information on their included functionality and proper use, see their
docuementation here:
Awesome Procedures on Cypher (APOC)
NOTE: An existing installation of Docker Engine and Docker Composer are needed to use the above commands. Docker Desktop for Windows and Mac includes Docker Composer. Linux users will need to install Docker Engine and Docker Composer manually until Docker Desktop for Linux is available.
In addition to a local Neo4J storage endpoint, Starbase supports a remote JupiterOne storage endpoint, allowing you to run your integrations locally (or on-premise) and persist your integration data directly to a configured JupiterOne account.
You may specify multiple storage endpoints in the storage
list, for example if
you also wanted to persist data to a local Neo4J storage endpoint.
Add a configuration stanza like the following to your config.yaml
:
storage:
-
engine: jupiterone
config:
apiKey: your-unique-api-key (may be either user or account key, needs graph write permission)
accountId: your-j1-account-id
NOTE: if the canonical API URL for your account/region is not
https://api.us.jupiterone.io
, you will need to specify an additional storage
configuration parameter, apiBaseUrl
, with the HTTPS URL appropriate for the
token and account you've provided.
See JupiterOne API and Creating User and Account API Keys docs for additional details.