using System; namespace StellaOps.Scheduler.Storage.Mongo.Options; /// /// Configures MongoDB connectivity and collection names for Scheduler storage. /// public sealed class SchedulerMongoOptions { public string ConnectionString { get; set; } = "mongodb://localhost:27017"; public string Database { get; set; } = "stellaops_scheduler"; public string SchedulesCollection { get; set; } = "schedules"; public string RunsCollection { get; set; } = "runs"; public string ImpactSnapshotsCollection { get; set; } = "impact_snapshots"; public string AuditCollection { get; set; } = "audit"; public string LocksCollection { get; set; } = "locks"; public string MigrationsCollection { get; set; } = "_scheduler_migrations"; /// /// Optional TTL applied to completed runs. When zero or negative no TTL index is created. /// public TimeSpan CompletedRunRetention { get; set; } = TimeSpan.FromDays(180); public bool UseMajorityReadConcern { get; set; } = true; public bool UseMajorityWriteConcern { get; set; } = true; }