Files
git.stella-ops.org/etc/vexlens.yaml.sample
2025-12-25 19:09:48 +02:00

105 lines
3.0 KiB
Plaintext

# VexLens Configuration Sample
# Copy to vexlens.yaml and customize for your environment
VexLens:
# Storage configuration for consensus projections
Storage:
# Driver: "memory" for testing, "postgres" for production (MongoDB removed in Sprint 4400)
Driver: postgres
PostgresConnectionString: "Host=postgres;Port=5432;Database=stellaops_platform;Username=stellaops;Password=change-me"
Database: stellaops_platform
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