wip: doctor/cli/docs/api to vector db consolidation; api hardening for descriptions, tenant, and scopes; migrations and conversions of all DALs to EF v10
This commit is contained in:
@@ -18,6 +18,7 @@ using StellaOps.Configuration;
|
||||
using StellaOps.Cryptography.DependencyInjection;
|
||||
using StellaOps.Cryptography.Plugin.BouncyCastle;
|
||||
using StellaOps.Determinism;
|
||||
using StellaOps.Infrastructure.Postgres.Options;
|
||||
using StellaOps.Plugin.DependencyInjection;
|
||||
using StellaOps.Policy;
|
||||
using StellaOps.Policy.Explainability;
|
||||
@@ -31,6 +32,8 @@ using StellaOps.Scanner.Emit.Composition;
|
||||
using StellaOps.Scanner.Gate;
|
||||
using StellaOps.Scanner.ReachabilityDrift.DependencyInjection;
|
||||
using StellaOps.Scanner.SmartDiff.Detection;
|
||||
using StellaOps.Scanner.Sources.DependencyInjection;
|
||||
using StellaOps.Scanner.Sources.Persistence;
|
||||
using StellaOps.Scanner.Storage;
|
||||
using StellaOps.Scanner.Storage.Extensions;
|
||||
using StellaOps.Scanner.Storage.Postgres;
|
||||
@@ -206,6 +209,7 @@ builder.Services.AddScoped<ITriageQueryService, TriageQueryService>();
|
||||
builder.Services.AddScoped<ITriageStatusService, TriageStatusService>();
|
||||
builder.Services.TryAddScoped<IFindingQueryService, FindingQueryService>();
|
||||
builder.Services.TryAddSingleton<IExploitPathGroupingService, ExploitPathGroupingService>();
|
||||
builder.Services.AddScoped<IUnknownsQueryService, UnknownsQueryService>();
|
||||
|
||||
// Verdict rationale rendering (Sprint: SPRINT_20260106_001_001_LB_verdict_rationale_renderer)
|
||||
builder.Services.AddVerdictExplainability();
|
||||
@@ -329,6 +333,20 @@ builder.Services.AddScannerStorage(storageOptions =>
|
||||
storageOptions.ObjectStore.RustFs.BaseUrl = string.Empty;
|
||||
}
|
||||
});
|
||||
builder.Services.AddOptions<PostgresOptions>()
|
||||
.Configure(options =>
|
||||
{
|
||||
options.ConnectionString = bootstrapOptions.Storage.Dsn;
|
||||
options.CommandTimeoutSeconds = bootstrapOptions.Storage.CommandTimeoutSeconds;
|
||||
options.SchemaName = string.IsNullOrWhiteSpace(bootstrapOptions.Storage.Database)
|
||||
? ScannerStorageDefaults.DefaultSchemaName
|
||||
: bootstrapOptions.Storage.Database!.Trim();
|
||||
options.AutoMigrate = false;
|
||||
options.MigrationsPath = null;
|
||||
});
|
||||
builder.Services.TryAddSingleton<ScannerSourcesDataSource>();
|
||||
builder.Services.AddSbomSources();
|
||||
builder.Services.AddSbomSourceCredentialResolver<NullCredentialResolver>();
|
||||
builder.Services.AddSingleton<IPostConfigureOptions<ScannerStorageOptions>, ScannerStorageOptionsPostConfigurator>();
|
||||
builder.Services.AddOptions<StellaOps.Scanner.ProofSpine.Options.ProofSpineDsseSigningOptions>()
|
||||
.Bind(builder.Configuration.GetSection(StellaOps.Scanner.ProofSpine.Options.ProofSpineDsseSigningOptions.SectionName));
|
||||
@@ -633,6 +651,8 @@ if (app.Environment.IsEnvironment("Testing"))
|
||||
}
|
||||
|
||||
apiGroup.MapScanEndpoints(resolvedOptions.Api.ScansSegment);
|
||||
apiGroup.MapSourcesEndpoints();
|
||||
apiGroup.MapWebhookEndpoints();
|
||||
apiGroup.MapSbomUploadEndpoints();
|
||||
apiGroup.MapReachabilityDriftRootEndpoints();
|
||||
apiGroup.MapDeltaCompareEndpoints();
|
||||
@@ -652,6 +672,7 @@ apiGroup.MapTriageStatusEndpoints();
|
||||
apiGroup.MapTriageInboxEndpoints();
|
||||
apiGroup.MapBatchTriageEndpoints();
|
||||
apiGroup.MapProofBundleEndpoints();
|
||||
apiGroup.MapUnknownsEndpoints();
|
||||
apiGroup.MapSecretDetectionSettingsEndpoints(); // Sprint: SPRINT_20260104_006_BE
|
||||
apiGroup.MapSecurityAdapterEndpoints(); // Pack v2 security adapter routes
|
||||
|
||||
|
||||
Reference in New Issue
Block a user