Configuration Overview
BigBrotr uses YAML configuration files with Pydantic validation. Every service has two configuration sources: a core Brotr config (shared) and a service-specific config.
Configuration Files
Section titled “Configuration Files”config/├── brotr.yaml # Core: pool, batch, timeouts└── services/ ├── seeder.yaml ├── finder.yaml ├── validator.yaml ├── monitor.yaml ├── refresher.yaml └── synchronizer.yamlLoading Order
Section titled “Loading Order”- CLI flags override file paths:
--brotr-config,--config - Default paths:
config/brotr.yaml,config/services/<service>.yaml - YAML files are parsed and validated through Pydantic models
- Environment variables can override specific values
CLI Interface
Section titled “CLI Interface”python -m bigbrotr <service> [options]| Flag | Default | Description |
|---|---|---|
--config PATH | config/services/<service>.yaml | Service-specific config |
--brotr-config PATH | config/brotr.yaml | Core database/pool config |
--log-level LEVEL | INFO | DEBUG, INFO, WARNING, ERROR |
--once | false | Run a single cycle then exit |
Environment Variables
Section titled “Environment Variables”Environment variables in YAML files are interpolated at load time using ${VAR_NAME} syntax:
pool: dsn: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@pgbouncer:5432/${POSTGRES_DB}Next Steps
Section titled “Next Steps”- Core Configuration — pool, Brotr, and timeout settings.
- Service Configuration — per-service settings.
- Deployments — BigBrotr vs LilBrotr.