Module config

Module config 

Source
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§

AlertConfig
Alert configuration
AutoScaleConfig
Auto-scaling configuration
BrokerConfig
Broker configuration
Config
Main CLI configuration structure.
WorkerConfig
Worker configuration