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

@@ -39,6 +39,7 @@ using StellaOps.Auth.Abstractions;
using StellaOps.Auth.Client;
using StellaOps.Auth.ServerIntegration;
using StellaOps.Aoc;
using StellaOps.Aoc.AspNetCore.Results;
using StellaOps.Concelier.WebService.Contracts;
using StellaOps.Concelier.Core.Aoc;
using StellaOps.Concelier.Core.Raw;
@@ -869,39 +870,9 @@ static DateTimeOffset? ParseDateTime(string? value)
IResult MapAocGuardException(HttpContext context, ConcelierAocGuardException exception)
{
var violations = exception.Violations
.Select(v => new
{
code = v.ErrorCode,
path = v.Path,
message = v.Message
})
.ToArray();
var status = MapErrorCodeToStatus(exception.PrimaryErrorCode);
var extensions = new Dictionary<string, object?>(StringComparer.Ordinal)
{
["code"] = exception.PrimaryErrorCode,
["violations"] = violations
};
return Problem(
context,
"Aggregation-Only Contract violation",
status,
ProblemTypes.Validation,
$"AOC guard rejected the request with {exception.PrimaryErrorCode}.",
extensions);
var guardException = new AocGuardException(exception.Result);
return AocHttpResults.Problem(context, guardException);
}
static int MapErrorCodeToStatus(string errorCode) => errorCode switch
{
"ERR_AOC_003" => StatusCodes.Status409Conflict,
"ERR_AOC_004" => StatusCodes.Status422UnprocessableEntity,
"ERR_AOC_005" => StatusCodes.Status422UnprocessableEntity,
"ERR_AOC_006" => StatusCodes.Status403Forbidden,
_ => StatusCodes.Status400BadRequest,
};
static KeyValuePair<string, object?>[] BuildJobMetricTags(string jobKind, string trigger, string outcome)
=> new[]