|
Common System 0.2.0
Common interfaces and patterns for system integration
|
Parses command-line arguments for configuration. More...
#include <cli_config_parser.h>

Static Public Member Functions | |
| static Result< parsed_args > | parse (int argc, char **argv) |
| Parse command-line arguments. | |
| static Result< unified_config > | load_with_cli_overrides (int argc, char **argv) |
| Load configuration with CLI overrides. | |
| static void | print_help (const std::string &program_name="program") |
| Print help message to stdout. | |
| static void | print_version (const std::string &version="0.1.0.0") |
| Print version information to stdout. | |
Static Private Member Functions | |
| static bool | starts_with (const std::string &str, const std::string &prefix) |
| Check if a string starts with a prefix. | |
| static Result< std::pair< std::string, std::string > > | parse_key_value (const std::string &str) |
| Parse a key=value string. | |
| static VoidResult | apply_override (unified_config &config, const std::string &key, const std::string &value) |
| Apply a configuration override. | |
| static size_t | parse_size_t (const std::string &value) |
| static int64_t | parse_int64 (const std::string &value) |
| static double | parse_double (const std::string &value) |
| static bool | parse_bool (const std::string &value) |
Parses command-line arguments for configuration.
Usage Example:
Definition at line 95 of file cli_config_parser.h.
|
inlinestaticprivate |
Apply a configuration override.
| config | Configuration to modify |
| key | Configuration key (dot-separated path) |
| value | Value to set |
Definition at line 335 of file cli_config_parser.h.
References kcenon::common::config::pool_config::acquire_timeout, kcenon::common::config::logger_config::async, kcenon::common::config::database_config::backend, kcenon::common::config::logger_config::buffer_size, kcenon::common::config::network_config::buffer_size, kcenon::common::config::tls_config::ca_path, kcenon::common::config::tls_config::cert_path, kcenon::common::config::network_config::compression, kcenon::common::config::network_config::connect_timeout, kcenon::common::config::database_config::connection_string, kcenon::common::config::unified_config::database, kcenon::common::config::monitoring_config::enabled, kcenon::common::config::tls_config::enabled, kcenon::common::config::tracing_config::enabled, kcenon::common::config::tracing_config::endpoint, kcenon::common::config::tracing_config::exporter, kcenon::common::config::logger_config::file_path, kcenon::common::config::logger_config::format_pattern, kcenon::common::config::monitoring_config::health_check_interval, kcenon::common::config::pool_config::idle_timeout, kcenon::common::config::cli_error_codes::invalid_key, kcenon::common::config::network_config::io_timeout, kcenon::common::config::network_config::keepalive_interval, kcenon::common::config::tls_config::key_path, kcenon::common::config::logger_config::level, kcenon::common::config::database_config::log_queries, kcenon::common::config::unified_config::logger, kcenon::common::make_error(), kcenon::common::config::logger_config::max_backup_files, kcenon::common::config::network_config::max_connections, kcenon::common::config::logger_config::max_file_size, kcenon::common::config::thread_config::max_queue_size, kcenon::common::config::pool_config::max_size, kcenon::common::config::monitoring_config::metrics_interval, kcenon::common::config::pool_config::min_size, kcenon::common::config::unified_config::monitoring, kcenon::common::config::unified_config::network, kcenon::common::Result< T >::ok(), parse_bool(), parse_double(), parse_int64(), parse_size_t(), kcenon::common::config::database_config::pool, kcenon::common::config::thread_config::pool_size, kcenon::common::config::monitoring_config::prometheus_path, kcenon::common::config::monitoring_config::prometheus_port, kcenon::common::config::thread_config::queue_type, kcenon::common::config::tracing_config::sampling_rate, kcenon::common::config::database_config::slow_query_threshold, kcenon::common::config::unified_config::thread, kcenon::common::config::thread_config::thread_name_prefix, kcenon::common::config::network_config::tls, kcenon::common::config::monitoring_config::tracing, kcenon::common::config::tls_config::verify_peer, and kcenon::common::config::tls_config::version.
Referenced by load_with_cli_overrides().


|
inlinestatic |
Load configuration with CLI overrides.
Parses CLI arguments, loads configuration from file (if specified), applies environment variable overrides, and then applies CLI overrides.
Priority (highest to lowest):
| argc | Number of arguments |
| argv | Argument array |
Definition at line 183 of file cli_config_parser.h.
References apply_override(), kcenon::common::config::cli_error_codes::invalid_argument, kcenon::common::config::config_loader::load(), kcenon::common::config::config_loader::load_from_env(), kcenon::common::make_error(), kcenon::common::Result< T >::ok(), parse(), and kcenon::common::config::config_loader::validate().

|
inlinestatic |
Parse command-line arguments.
Parses the given arguments and returns a parsed_args structure.
| argc | Number of arguments |
| argv | Argument array |
Definition at line 106 of file cli_config_parser.h.
References kcenon::common::config::parsed_args::config_path, kcenon::common::config::cli_error_codes::invalid_argument, kcenon::common::make_error(), kcenon::common::config::cli_error_codes::missing_value, kcenon::common::Result< T >::ok(), kcenon::common::config::parsed_args::overrides, parse_key_value(), kcenon::common::config::parsed_args::positional_args, kcenon::common::config::parsed_args::show_help, kcenon::common::config::parsed_args::show_version, and starts_with().
Referenced by load_with_cli_overrides(), and main().


|
inlinestaticprivate |
Definition at line 478 of file cli_config_parser.h.
Referenced by apply_override().

|
inlinestaticprivate |
Definition at line 470 of file cli_config_parser.h.
Referenced by apply_override().

|
inlinestaticprivate |
Definition at line 462 of file cli_config_parser.h.
Referenced by apply_override().

|
inlinestaticprivate |
Parse a key=value string.
Definition at line 298 of file cli_config_parser.h.
References kcenon::common::config::cli_error_codes::invalid_format, kcenon::common::config::cli_error_codes::invalid_key, kcenon::common::make_error(), and kcenon::common::ok().
Referenced by parse().


|
inlinestaticprivate |
Definition at line 454 of file cli_config_parser.h.
Referenced by apply_override().

|
inlinestatic |
Print help message to stdout.
| program_name | Name of the program (usually argv[0]) |
Definition at line 243 of file cli_config_parser.h.
References kcenon::common::config::get_config_metadata().
Referenced by main().


|
inlinestatic |
Print version information to stdout.
| version | Version string |
Definition at line 282 of file cli_config_parser.h.
Referenced by main().

|
inlinestaticprivate |
Check if a string starts with a prefix.
Definition at line 290 of file cli_config_parser.h.
Referenced by parse().
