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:
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:
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¶
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:
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.