Skip to content

Rodeo Configuration File

Rodeo uses YAML configuration files to define database connection settings. This guide explains how to create and use configuration files.

Overview

A configuration file tells Rodeo how to connect to your Neo4j graph database. You can create multiple configuration files for different environments (development, staging, production) and specify which one to use when running the process command.

File Format

Configuration files use YAML format with three required fields:

databaseUri: bolt://localhost:7687
username: neo4j
password: password

Configuration Options

Field Description
databaseUri Neo4j connection URI using the Bolt protocol
username Username for Neo4j database authentication
password Password for Neo4j database authentication

These credentials are used to authenticate with your Neo4j database, not with the Rodeo service itself.

Database URI Format

Rodeo connects to Neo4j using the Bolt protocol. The URI format is:

bolt://<host>:<port>

Common examples:

Environment URI
Local development bolt://localhost:7687
Remote server bolt://db.example.com:7687
Custom port bolt://localhost:7688

For encrypted connections, use bolt+s:// or bolt+ssc://:

# Encrypted connection (verifies certificate)
databaseUri: bolt+s://db.example.com:7687

# Encrypted connection (self-signed certificate)
databaseUri: bolt+ssc://db.example.com:7687

Example Configurations

Local Development

# config/dev.yaml
databaseUri: bolt://localhost:7687
username: neo4j
password: development

Production

# config/prod.yaml
databaseUri: bolt+s://neo4j.prod.example.com:7687
username: rodeo_service
password: your-secure-password

Using Configuration Files

Specify the configuration file as the first argument to the process command:

# Use development config
rodeo process ./config/dev.yaml ./data/users.csv CSV ./mappings/users.yaml

# Use production config
rodeo process ./config/prod.yaml ./data/users.csv CSV ./mappings/users.yaml

Managing Multiple Environments

A common pattern is to create a configuration file for each environment:

config/
├── dev.yaml
├── staging.yaml
└── prod.yaml

This allows you to test mappings against development or staging databases before running them in production.

Security Considerations

Configuration files contain database credentials. Keep these files secure:

  • Do not commit configuration files with real credentials to version control
  • Use restrictive file permissions (chmod 600 config.yaml)
  • Consider using environment-specific files that are deployed separately from your codebase

Next Steps

See the Mapping Files Guide to learn how to define ETL transformations, or return to the CLI Reference for command usage.