Common System 0.2.0
Common interfaces and patterns for system integration
Loading...
Searching...
No Matches
config_loader.h File Reference

YAML-based configuration loader for the unified system. More...

#include "unified_config.h"
#include <kcenon/common/patterns/result.h>
#include <cstdlib>
#include <filesystem>
#include <fstream>
#include <regex>
#include <sstream>
#include <string>
#include <unordered_map>
#include <vector>
Include dependency graph for config_loader.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  kcenon::common::config::validation_issue
 Validation result for a configuration field. More...
 
class  kcenon::common::config::config_loader
 Loads and validates unified configuration from various sources. More...
 

Namespaces

namespace  kcenon
 
namespace  kcenon::common
 Core interfaces.
 
namespace  kcenon::common::config
 
namespace  kcenon::common::config::config_error_codes
 Configuration loading error codes.
 

Variables

constexpr int kcenon::common::config::config_error_codes::file_not_found = 1001
 
constexpr int kcenon::common::config::config_error_codes::parse_error = 1002
 
constexpr int kcenon::common::config::config_error_codes::validation_error = 1003
 
constexpr int kcenon::common::config::config_error_codes::invalid_value = 1004
 
constexpr int kcenon::common::config::config_error_codes::io_error = 1005
 

Detailed Description

YAML-based configuration loader for the unified system.

This header provides the config_loader class for loading configuration from YAML files, environment variables, and merging them with defaults.

Configuration Priority (highest to lowest):

  1. Environment variables (UNIFIED_*)
  2. Configuration file (YAML)
  3. Default values

Features:

  • YAML file loading (requires yaml-cpp when BUILD_WITH_YAML_CPP is defined)
  • Environment variable substitution (${VAR_NAME} syntax)
  • Environment variable overrides (UNIFIED_* prefix)
  • Configuration validation
  • Default value fallback
See also
TICKET-202 for implementation requirements.
unified_config.h for configuration schema.

Definition in file config_loader.h.