Expand description
The configuration system: translation and subscription of external configuration sources into an ADP-typed model.
This crate turns configuration sources into SalukiConfiguration:
- the typed Datadog source (
DatadogConfiguration), whose supported keys the generateddrivefeeds toDatadogTranslator(aDatadogConfigWitness) one key at a time, and - the Saluki-schema-only source (
SalukiOnly), whose values seed the fields the Datadog schema does not cover.
ConfigurationSystem is the entry point: it translates the local sources into the initial
configuration and, when a configuration producer streams updates, keeps that configuration
current. This is the only ADP production crate that bridges the source configuration to the
model; it constructs no components and does not depend on saluki-components.
Sources are layered as SourceTrees, which keep each value together with the provenance of that
value. That is what lets a configuration producer’s own defaults be layered over local
configuration without shadowing it, and what lets translation resolve a setting whose meaning
depends on whether it was set explicitly.
Structs§
- Configuration
System - The runtime configuration, translated from the merged sources and kept current.
- Configuration
Updates - Applies each configuration update from the Datadog Agent after the initial snapshot.
- Loaded
Configuration - Local configuration prepared before a runtime authority is selected.
Enums§
- EnvPrecedence
- Where environment variables sit relative to the configuration file.
- Error
- An error building the translated configuration from the merged sources.