pub struct Config {
pub scan: ScanConfig,
pub watch: WatchConfig,
pub text_files: TextFilesConfig,
pub ignore: IgnoreConfig,
pub baseline: BaselineConfig,
pub severity: SeverityConfig,
pub disabled_rules: HashSet<String>,
pub rules: Vec<YamlRule>,
pub malware_signatures: Vec<MalwareSignature>,
}Expand description
Main configuration structure for cc-audit.
Fields§
§scan: ScanConfigScan configuration (CLI options).
watch: WatchConfigWatch mode configuration.
text_files: TextFilesConfigText file detection configuration.
ignore: IgnoreConfigIgnore configuration for scanning.
baseline: BaselineConfigBaseline configuration for drift detection.
severity: SeverityConfigRule severity configuration (v0.5.0).
disabled_rules: HashSet<String>Rule IDs to disable.
rules: Vec<YamlRule>Custom rules defined in config file.
malware_signatures: Vec<MalwareSignature>Custom malware signatures defined in config file.
Implementations§
Source§impl Config
impl Config
Sourcepub fn from_file(path: &Path) -> Result<Self, ConfigError>
pub fn from_file(path: &Path) -> Result<Self, ConfigError>
Load configuration from a file.
Sourcepub fn find_config_file(project_root: Option<&Path>) -> Option<PathBuf>
pub fn find_config_file(project_root: Option<&Path>) -> Option<PathBuf>
Try to find a configuration file in the project directory or parent directories.
Returns None if no configuration file is found.
Search order:
- Walk up from project root to find
.cc-audit.yaml,.yml,.json, or.toml ~/.config/cc-audit/config.yaml
Sourcepub fn try_load(project_root: Option<&Path>) -> ConfigLoadResult
pub fn try_load(project_root: Option<&Path>) -> ConfigLoadResult
Try to load configuration from the project directory or global config. Returns both the configuration and the path where it was found.
Sourcepub fn load(project_root: Option<&Path>) -> Self
pub fn load(project_root: Option<&Path>) -> Self
Load configuration from the project directory or global config. Returns default configuration if no file is found.
Search order:
.cc-audit.yamlin project root.cc-audit.jsonin project root.cc-audit.tomlin project root~/.config/cc-audit/config.yaml- Default configuration
Source§impl Config
impl Config
Sourcepub fn generate_template() -> String
pub fn generate_template() -> String
Generate a YAML configuration template with comments.
Source§impl Config
impl Config
Sourcepub fn effective_disabled_rules(&self) -> HashSet<String>
pub fn effective_disabled_rules(&self) -> HashSet<String>
Get the effective set of disabled rules (merges severity.ignore and disabled_rules).
Sourcepub fn is_rule_disabled(&self, rule_id: &str) -> bool
pub fn is_rule_disabled(&self, rule_id: &str) -> bool
Check if a rule should be ignored based on both disabled_rules and severity.ignore.
Sourcepub fn get_rule_severity(&self, rule_id: &str) -> Option<RuleSeverity>
pub fn get_rule_severity(&self, rule_id: &str) -> Option<RuleSeverity>
Get the RuleSeverity for a rule, considering both severity config and disabled_rules.