feat: Document completed tasks for KMS, Cryptography, and Plugin Libraries

- Added detailed task completion records for KMS interface implementation and CLI support for file-based keys.
- Documented security enhancements including Argon2id password hashing, audit event contracts, and rate limiting configurations.
- Included scoped service support and integration updates for the Plugin platform, ensuring proper DI handling and testing coverage.
This commit is contained in:
master
2025-10-31 14:37:45 +02:00
parent 240e8ff25d
commit 15b4a1de6a
312 changed files with 6399 additions and 3319 deletions

View File

@@ -3,7 +3,8 @@ namespace StellaOps.Scheduler.WebService.Options;
/// <summary>
/// Scheduler WebService event options (outbound + inbound).
/// </summary>
using System;
using System;
using System.Collections.Generic;
public sealed class SchedulerEventsOptions
{
@@ -12,13 +13,43 @@ public sealed class SchedulerEventsOptions
public SchedulerInboundWebhooksOptions Webhooks { get; set; } = new();
}
public sealed class GraphJobEventsOptions
{
/// <summary>
/// Enables emission of legacy <c>scheduler.graph.job.completed@1</c> events.
/// </summary>
public bool Enabled { get; set; }
}
public sealed class GraphJobEventsOptions
{
/// <summary>
/// Enables emission of legacy <c>scheduler.graph.job.completed@1</c> events.
/// </summary>
public bool Enabled { get; set; }
/// <summary>
/// Event transport driver (defaults to <c>redis</c>).
/// </summary>
public string Driver { get; set; } = "redis";
/// <summary>
/// Connection string for the event transport.
/// </summary>
public string Dsn { get; set; } = string.Empty;
/// <summary>
/// Stream/topic identifier for published events.
/// </summary>
public string Stream { get; set; } = "stella.events";
/// <summary>
/// Maximum time in seconds to wait for the transport to accept an event.
/// </summary>
public double PublishTimeoutSeconds { get; set; } = 5;
/// <summary>
/// Maximum number of events to retain in the stream.
/// </summary>
public long MaxStreamLength { get; set; } = 10000;
/// <summary>
/// Additional transport-specific settings (e.g., <c>clientName</c>, <c>ssl</c>).
/// </summary>
public IDictionary<string, string> DriverSettings { get; set; } = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
}
public sealed class SchedulerInboundWebhooksOptions
{