up
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
AOC Guard CI / aoc-guard (push) Has been cancelled
AOC Guard CI / aoc-verify (push) Has been cancelled
Concelier Attestation Tests / attestation-tests (push) Has been cancelled
Policy Lint & Smoke / policy-lint (push) Has been cancelled
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
AOC Guard CI / aoc-guard (push) Has been cancelled
AOC Guard CI / aoc-verify (push) Has been cancelled
Concelier Attestation Tests / attestation-tests (push) Has been cancelled
Policy Lint & Smoke / policy-lint (push) Has been cancelled
This commit is contained in:
78
src/Cli/StellaOps.Cli/Services/ISbomerClient.cs
Normal file
78
src/Cli/StellaOps.Cli/Services/ISbomerClient.cs
Normal file
@@ -0,0 +1,78 @@
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using StellaOps.Cli.Services.Models;
|
||||
|
||||
namespace StellaOps.Cli.Services;
|
||||
|
||||
/// <summary>
|
||||
/// Client for Sbomer API operations (layer fragments and composition).
|
||||
/// Per CLI-SBOM-60-001.
|
||||
/// </summary>
|
||||
internal interface ISbomerClient
|
||||
{
|
||||
/// <summary>
|
||||
/// Lists layer fragments for a scan.
|
||||
/// </summary>
|
||||
Task<SbomerLayerListResponse> ListLayersAsync(
|
||||
SbomerLayerListRequest request,
|
||||
CancellationToken cancellationToken);
|
||||
|
||||
/// <summary>
|
||||
/// Gets layer fragment details.
|
||||
/// </summary>
|
||||
Task<SbomerLayerDetail?> GetLayerAsync(
|
||||
SbomerLayerShowRequest request,
|
||||
CancellationToken cancellationToken);
|
||||
|
||||
/// <summary>
|
||||
/// Verifies a layer fragment DSSE signature.
|
||||
/// </summary>
|
||||
Task<SbomerLayerVerifyResult> VerifyLayerAsync(
|
||||
SbomerLayerVerifyRequest request,
|
||||
CancellationToken cancellationToken);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the composition manifest for a scan.
|
||||
/// </summary>
|
||||
Task<CompositionManifest?> GetCompositionManifestAsync(
|
||||
SbomerCompositionShowRequest request,
|
||||
CancellationToken cancellationToken);
|
||||
|
||||
/// <summary>
|
||||
/// Composes SBOM from layer fragments.
|
||||
/// </summary>
|
||||
Task<SbomerComposeResult> ComposeAsync(
|
||||
SbomerComposeRequest request,
|
||||
CancellationToken cancellationToken);
|
||||
|
||||
/// <summary>
|
||||
/// Verifies composition against manifest and fragments.
|
||||
/// </summary>
|
||||
Task<SbomerCompositionVerifyResult> VerifyCompositionAsync(
|
||||
SbomerCompositionVerifyRequest request,
|
||||
CancellationToken cancellationToken);
|
||||
|
||||
/// <summary>
|
||||
/// Gets Merkle diagnostics for a composition.
|
||||
/// </summary>
|
||||
Task<MerkleDiagnostics?> GetMerkleDiagnosticsAsync(
|
||||
string scanId,
|
||||
string? tenant,
|
||||
CancellationToken cancellationToken);
|
||||
|
||||
// CLI-SBOM-60-002: Drift detection methods
|
||||
|
||||
/// <summary>
|
||||
/// Analyzes drift between current SBOM and baseline.
|
||||
/// </summary>
|
||||
Task<SbomerDriftResult> AnalyzeDriftAsync(
|
||||
SbomerDriftRequest request,
|
||||
CancellationToken cancellationToken);
|
||||
|
||||
/// <summary>
|
||||
/// Verifies SBOM with local recomposition and drift detection.
|
||||
/// </summary>
|
||||
Task<SbomerDriftVerifyResult> VerifyDriftAsync(
|
||||
SbomerDriftVerifyRequest request,
|
||||
CancellationToken cancellationToken);
|
||||
}
|
||||
Reference in New Issue
Block a user