Expand description
Configuration file support for CeleRS CLI.
This module provides configuration management for the CeleRS CLI tool, including:
- TOML file parsing and validation
- Environment variable expansion
- Configuration profiles (dev, staging, prod)
- Broker and worker settings
- Auto-scaling and alerting configuration
§Configuration File Format
The configuration file uses TOML format and supports the following sections:
[broker]: Broker connection settings (Redis,PostgreSQL, etc.)[worker]: Worker runtime settings (concurrency, retries, timeouts)[autoscale]: Auto-scaling configuration[alerts]: Alert and notification settings
§Environment Variables
Configuration values can reference environment variables using the syntax:
${VAR_NAME}- Required environment variable${VAR_NAME:default}- Optional with default value
§Examples
[broker]
type = "redis"
url = "${REDIS_URL:redis://localhost:6379}"
queue = "my_queue"
[worker]
concurrency = 4
max_retries = 3§Usage
use celers_cli::config::Config;
use std::path::PathBuf;
// Load from file
let config = Config::from_file(PathBuf::from("celers.toml"))?;
// Get default configuration
let default_config = Config::default_config();
// Save to file
default_config.to_file("celers.toml")?;Structs§
- Alert
Config - Alert configuration
- Auto
Scale Config - Auto-scaling configuration
- Broker
Config - Broker configuration
- Config
- Main CLI configuration structure.
- Worker
Config - Worker configuration