feat: Add initial implementation of Vulnerability Resolver Jobs
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
- Created project for StellaOps.Scanner.Analyzers.Native.Tests with necessary dependencies. - Documented roles and guidelines in AGENTS.md for Scheduler module. - Implemented IResolverJobService interface and InMemoryResolverJobService for handling resolver jobs. - Added ResolverBacklogNotifier and ResolverBacklogService for monitoring job metrics. - Developed API endpoints for managing resolver jobs and retrieving metrics. - Defined models for resolver job requests and responses. - Integrated dependency injection for resolver job services. - Implemented ImpactIndexSnapshot for persisting impact index data. - Introduced SignalsScoringOptions for configurable scoring weights in reachability scoring. - Added unit tests for ReachabilityScoringService and RuntimeFactsIngestionService. - Created dotnet-filter.sh script to handle command-line arguments for dotnet. - Established nuget-prime project for managing package downloads.
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
namespace StellaOps.SbomService.Models;
|
||||
|
||||
public sealed record SbomPathQuery(
|
||||
string Purl,
|
||||
string? Artifact,
|
||||
string? Scope,
|
||||
string? Environment,
|
||||
int Limit = 50,
|
||||
int Offset = 0);
|
||||
|
||||
public sealed record SbomPathNode(string Name, string Kind);
|
||||
|
||||
public sealed record SbomPath(
|
||||
IReadOnlyList<SbomPathNode> Nodes,
|
||||
bool RuntimeFlag,
|
||||
string? BlastRadius,
|
||||
string? NearestSafeVersion);
|
||||
|
||||
public sealed record SbomPathResult(
|
||||
string Purl,
|
||||
string? Artifact,
|
||||
string? Scope,
|
||||
string? Environment,
|
||||
IReadOnlyList<SbomPath> Paths,
|
||||
string? NextCursor);
|
||||
|
||||
public sealed record SbomTimelineQuery(
|
||||
string Artifact,
|
||||
int Limit = 50,
|
||||
int Offset = 0);
|
||||
|
||||
public sealed record SbomVersion(
|
||||
string Version,
|
||||
string Digest,
|
||||
DateTimeOffset CreatedAt,
|
||||
string SourceBundleHash,
|
||||
string? Provenance);
|
||||
|
||||
public sealed record SbomTimelineResult(
|
||||
string Artifact,
|
||||
IReadOnlyList<SbomVersion> Versions,
|
||||
string? NextCursor);
|
||||
|
||||
public sealed record SbomCatalogQuery(
|
||||
string? Artifact,
|
||||
string? License,
|
||||
string? Scope,
|
||||
string? AssetTag,
|
||||
int Limit = 50,
|
||||
int Offset = 0);
|
||||
|
||||
public sealed record SbomCatalogItem(
|
||||
string Artifact,
|
||||
string SbomVersion,
|
||||
string Digest,
|
||||
string? License,
|
||||
string Scope,
|
||||
IReadOnlyDictionary<string, string> AssetTags,
|
||||
DateTimeOffset CreatedAt,
|
||||
string ProjectionHash,
|
||||
string EvaluationMetadata);
|
||||
|
||||
public sealed record SbomCatalogResult(
|
||||
IReadOnlyList<SbomCatalogItem> Items,
|
||||
string? NextCursor);
|
||||
|
||||
public sealed record QueryResult<T>(T Result, bool CacheHit);
|
||||
|
||||
public sealed record ComponentLookupQuery(
|
||||
string Purl,
|
||||
string? Artifact,
|
||||
int Limit = 50,
|
||||
int Offset = 0);
|
||||
|
||||
public sealed record ComponentNeighbor(
|
||||
string Purl,
|
||||
string Relationship,
|
||||
string? License,
|
||||
string Scope,
|
||||
bool RuntimeFlag);
|
||||
|
||||
public sealed record ComponentLookupResult(
|
||||
string Purl,
|
||||
string? Artifact,
|
||||
IReadOnlyList<ComponentNeighbor> Neighbors,
|
||||
string? NextCursor,
|
||||
string CacheHint);
|
||||
Reference in New Issue
Block a user