Skip to content

Latest commit

 

History

History
68 lines (52 loc) · 2.97 KB

README.md

File metadata and controls

68 lines (52 loc) · 2.97 KB

Neo4j as a Starbase Storage Endpoint

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.

Neo4j Docker Instance

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:

Graph Data Science (GDS)

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.

JupiterOne as a Storage Endpoint

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.

Configuring the JupiterOne 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.