Configuration System
RMCP provides a comprehensive, hierarchical configuration system that supports multiple configuration sources with automatic validation and type conversion.
Configuration
Configuration Overview
Configuration values are resolved in priority order:
Command-line arguments (highest priority)
Environment variables (
RMCP_*prefix)User configuration file (
~/.rmcp/config.json)System configuration file (
/etc/rmcp/config.json)Built-in defaults (lowest priority)
Quick Start
Environment Variables
Set configuration via environment variables with RMCP_* prefix:
export RMCP_HTTP_HOST=0.0.0.0
export RMCP_HTTP_PORT=9000
export RMCP_R_TIMEOUT=180
export RMCP_LOG_LEVEL=DEBUG
Configuration File
Create ~/.rmcp/config.json:
{
"http": {
"host": "0.0.0.0",
"port": 9000,
"cors_origins": ["https://myapp.example.com"]
},
"r": {
"timeout": 180,
"max_sessions": 20
},
"security": {
"vfs_read_only": false,
"vfs_allowed_paths": ["/data", "/tmp"]
},
"logging": {
"level": "DEBUG"
},
"debug": true
}
Command Line
Override any setting via command line:
rmcp --config /path/to/config.json --debug start
rmcp serve-http --host 0.0.0.0 --port 9000
API Reference
The configuration system is implemented across three main modules:
|
Configuration data models for RMCP. |
|
Configuration loading and management for RMCP. |
|
Default configuration values for RMCP. |