pub struct Config {
pub repositories: Vec<RepositoryConfig>,
pub team: Option<TeamConfig>,
pub output: Option<OutputConfig>,
pub classification: Option<ClassificationConfig>,
pub github: Option<GithubConfig>,
pub jira: Option<JiraConfig>,
pub version: Option<String>,
pub profile: Option<String>,
pub developer_aliases: HashMap<String, Vec<String>>,
pub analysis: Option<AnalysisConfig>,
pub cache: Option<CacheConfig>,
}Expand description
Top-level configuration root.
Mirrors the YAML schema from the Python predecessor. All top-level
sections are optional except repositories, which must contain at
least one entry to be useful.
Fields§
§repositories: Vec<RepositoryConfig>Repositories to analyze.
team: Option<TeamConfig>Team / member roster and aliases.
output: Option<OutputConfig>Output destination and format flags.
classification: Option<ClassificationConfig>Classification cascade settings.
github: Option<GithubConfig>GitHub API credentials and scope.
jira: Option<JiraConfig>JIRA API credentials and scope.
version: Option<String>Schema version string (e.g. "1.0").
Stored for forward compatibility with the Python predecessor’s YAML format. Not enforced by the Rust loader — present so files written for the Python tool deserialize cleanly.
profile: Option<String>Named profile (e.g. "balanced").
Stored for forward compatibility with the Python predecessor. Not currently consumed by the Rust pipeline.
developer_aliases: HashMap<String, Vec<String>>Python-compatible flat alias map: canonical name → list of email addresses or login aliases.
When non-empty, takes precedence over TeamConfig::members for
identity resolution (see Config::resolved_aliases).
analysis: Option<AnalysisConfig>Analysis settings (ML categorization, etc.).
Parsed for forward compatibility; individual sub-features gate their own behavior on its presence.
cache: Option<CacheConfig>Cache directory and related settings.
Implementations§
Source§impl Config
impl Config
Sourcepub fn load(path: &Path) -> Result<Config>
pub fn load(path: &Path) -> Result<Config>
Load a YAML configuration from disk.
§Errors
TgaError::IoErrorif the file cannot be read.TgaError::SerdeYamlErrorif YAML parsing fails.
Sourcepub fn resolved_aliases(&self) -> HashMap<String, Vec<String>>
pub fn resolved_aliases(&self) -> HashMap<String, Vec<String>>
Resolve identity aliases from either the Python-compatible
Config::developer_aliases map or from TeamConfig::members.
developer_aliases (when non-empty) takes precedence. The returned
map is keyed by canonical name; values are the list of email
addresses or login aliases that should resolve to that name.