Installation
Starbase Usage and Development
Prerequisites
- Install Node.js using the installer or a version manager such as nvm or fnm.
- Install
yarn
. - Install dependencies with
yarn install
. - Register an account in the system each integration targets for ingestion and obtain API credentials.
Configuring Starbase
Starbase leverages credentials from external services to authenticate and
collect data. When Starbase is started, it reads configuration data from a
single configuration file named config.yaml
at the root of the project.
- Copy
config.yaml.example
toconfig.yaml
cp config.yaml.example config.yaml
- Supply configuration values in
config.yaml
for each integration
Configuring individual Starbase integrations
The individual graph integration configuration field names can be found in
their respective open source integration projects (GitHub repositories
prefixed with graph-*
)
integrations:
- name: graph-google-cloud
instanceId: testInstanceId
directory: ./.integrations/graph-google-cloud
gitRemoteUrl: https://github.com/JupiterOne/graph-google-cloud.git
config:
SERVICE_ACCOUNT_KEY_FILE: {}
PROJECT_ID: '...'
ORGANIZATION_ID: '...'
CONFIGURE_ORGANIZATION_PROJECTS: false
storage:
engine: neo4j
config:
username: neo4j
password: devpass
uri: bolt://localhost:7687
Running Starbase
Starbase exposes a CLI for bootstrapping graph integration development and execution.
❯ yarn starbase --help
Usage: yarn starbase [options] [command]
Starbase graph ingestion orchestrator
Options:
-h, --help display help for command
Commands:
run collect and upload entities and relationships
setup clone repositories listed in config.yaml
help [command] display help for command
- Run
yarn starbase setup
to clone or update all integrations listed in theconfig.yaml
file as well as install all dependencies for each integration. - Run
yarn starbase run
to collect data for each listed integration and then push collected data to the storage endpoint listed inconfig.yaml
.
For additional information on using Neo4j as a storage endpoint, please see the README.md provided.