config.go
config.go - Overview
-
Overview Defines the configuration structure and related functions for the SigNoz application. It handles loading, validation, and backward compatibility of configurations from various sources.
-
Detailed Documentation
Type: Config
- Purpose: Defines the overall configuration structure for the SigNoz application, encompassing configurations for various sub-components.
- Fields:
Version
(version.Config): Configuration related to version information.Instrumentation
(instrumentation.Config): Configuration for instrumentation (e.g., metrics, tracing).Web
(web.Config): Configuration for the web interface.Cache
(cache.Config): Configuration for caching mechanisms.SQLStore
(sqlstore.Config): Configuration for the SQL database.SQLMigration
(sqlmigration.Config): Configuration for SQL database migrations.SQLMigrator
(sqlmigrator.Config): Configuration for the SQL migrator tool.APIServer
(apiserver.Config): Configuration for the API server.TelemetryStore
(telemetrystore.Config): Configuration for the telemetry data store (e.g., ClickHouse).Prometheus
(prometheus.Config): Configuration for Prometheus integration.Alertmanager
(alertmanager.Config): Configuration for Alertmanager integration.
Type: DeprecatedFlags
- Purpose: Defines a structure for deprecated flags, used for backward compatibility.
- Fields:
MaxIdleConns
(int): Maximum number of idle connections.MaxOpenConns
(int): Maximum number of open connections.DialTimeout
(time.Duration): Dial timeout duration.Config
(string): Configuration file path.
Function: NewConfig
- Purpose: Creates a new
Config
instance by loading configurations from different factories and resolving dependencies. - Parameters:
ctx
(context.Context): The context for managing the lifecycle of the configuration loading.resolverConfig
(config.ResolverConfig): Configuration for resolving configuration values.deprecatedFlags
(DeprecatedFlags): Deprecated flags for backward compatibility.
- Returns:
Config
: The loaded configuration.error
: An error if configuration loading or validation fails.
Function: validateConfig
- Purpose: Validates the configuration of each sub-component within the
Config
struct. - Parameters:
config
(Config): The configuration to validate.
- Returns:
error
: An error if any sub-component's configuration is invalid.
Function: mergeAndEnsureBackwardCompatibility
- Purpose: Merges deprecated configurations from environment variables and flags into the main configuration, ensuring backward compatibility.
- Parameters:
config
(*Config): A pointer to theConfig
struct to modify.deprecatedFlags
(DeprecatedFlags): The deprecated flags.
- Returns: None
-
Code Examples None
-
Clarity and Accuracy The documentation is derived directly from the code.
-
Markdown & MDX Perfection The markdown is properly formatted and validated.
-
Edge Cases To Avoid Breaking MDX All potential MDX issues have been addressed.
-
Getting Started Relevance Include in Getting Started: NO