Configuration Guide
How to configure Qarion ETL for your needs.
Configuration File
Qarion ETL uses a config.toml file for project configuration:
[app]
name = "my_project"
type = "data_pipeline"
[engine]
type = "sqlite"
config = { path = "data.db" }
[dataset_storage]
type = "local"
config = { dataset_dir = "datasets" }
[flow_storage]
type = "local"
config = { flow_dir = "flows" }
[migration_storage]
type = "local"
config = { migration_dir = "migrations" }
Storage Configuration
Local Storage
Store definitions in local files:
[dataset_storage]
type = "local"
config = { dataset_dir = "datasets" }
Database Storage
Store definitions in database:
[dataset_storage]
type = "database"
config = {
connection_string = "sqlite:///metadata.db",
table_name = "datasets"
}
Engine Configuration
SQLite Engine
[engine]
type = "sqlite"
config = { path = "data.db" }
Pandas Engine
[engine]
type = "pandas"
config = { storage_path = "data/" }
DuckDB Engine
[engine]
type = "duckdb"
config = { path = "data.duckdb" }
Schema Storage
Local Schema Storage
[schema_storage]
type = "local"
config = { migration_dir = "migrations" }
Database Schema Storage
[schema_storage]
type = "database"
config = {
connection_string = "sqlite:///metadata.db",
namespace = "xt"
}
Flow Configuration
Flow Loading
[flow_loading]
file_patterns = ["*.toml"]
recursive = true
Namespace Configuration
[metadata]
namespace = "xt"
default_namespace = "public"
Environment Variables
Some configuration can be overridden with environment variables:
export XTRANSACT_ENGINE_TYPE=sqlite
export XTRANSACT_ENGINE_PATH=data.db
Validation
Configuration is validated on load. Invalid configuration will raise errors with details about what's wrong.