# VexLens Configuration Sample # Copy to vexlens.yaml and customize for your environment VexLens: # Storage configuration for consensus projections Storage: # Driver: "memory" for testing, "mongo" for production Driver: mongo ConnectionString: "mongodb://localhost:27017" Database: stellaops ProjectionsCollection: vex_consensus HistoryCollection: vex_consensus_history MaxHistoryEntries: 100 CommandTimeoutSeconds: 30 # Trust engine configuration Trust: # Base weights by issuer trust tier (0.0-1.0) AuthoritativeWeight: 1.0 # Authoritative sources (e.g., product vendors) TrustedWeight: 0.8 # Trusted third parties KnownWeight: 0.5 # Known but not verified UnknownWeight: 0.3 # Unknown sources UntrustedWeight: 0.1 # Untrusted/unverified sources # Weight multiplier for cryptographically signed statements SignedMultiplier: 1.2 # Freshness decay: statements older than this start losing weight FreshnessDecayDays: 30 MinFreshnessFactor: 0.5 # Minimum freshness factor (0.0-1.0) # Status-specific boosts JustifiedNotAffectedBoost: 1.1 # Boost for not_affected with justification FixedStatusBoost: 1.05 # Boost for fixed status # Consensus computation configuration Consensus: # Mode: HighestWeight, WeightedVote, Lattice, AuthoritativeFirst DefaultMode: WeightedVote # Minimum weight for a statement to contribute MinimumWeightThreshold: 0.1 # Weight difference to trigger conflict detection ConflictThreshold: 0.3 # Require justification for not_affected status RequireJustificationForNotAffected: false # Maximum statements per computation (performance limit) MaxStatementsPerComputation: 100 # Enable conflict detection and reporting EnableConflictDetection: true # Emit events on consensus changes EmitEvents: true # Normalization configuration Normalization: # Enabled VEX format normalizers EnabledFormats: - OpenVEX - CSAF - CycloneDX # Fail on unknown fields (strict mode) StrictMode: false # Size limits MaxDocumentSizeBytes: 10485760 # 10 MB MaxStatementsPerDocument: 10000 # Air-gap mode configuration AirGap: # Enable sealed mode (block external network access) SealedMode: false # Path to offline bundle directory BundlePath: /var/lib/stellaops/vex-bundles # Verify bundle signatures on import VerifyBundleSignatures: true # Allowed bundle sources (issuer IDs) AllowedBundleSources: [] # Export format: jsonl, json ExportFormat: jsonl # Telemetry configuration Telemetry: MetricsEnabled: true TracingEnabled: true MeterName: StellaOps.VexLens ActivitySourceName: StellaOps.VexLens # Logging configuration (optional override) Logging: LogLevel: Default: Information StellaOps.VexLens: Debug # OpenTelemetry configuration (when telemetry enabled) # OpenTelemetry: # Endpoint: http://localhost:4317 # Protocol: grpc