partly or unimplemented features - now implemented
This commit is contained in:
@@ -223,3 +223,37 @@ Capabilities are cached per registry host with a 1-hour TTL.
|
||||
- [ ] Retention policies and pruning jobs configured for staged bundles.
|
||||
|
||||
> **Imposed rule:** Work of this type or tasks of this type on this component must also be applied everywhere else it should be applied.
|
||||
|
||||
## Client Surfacing of Hidden Backend Capabilities
|
||||
|
||||
The `ExportSurfacingClient` extends the existing `ExportCenterClient` by
|
||||
exposing backend capabilities that were previously not surfaced to CLI/UI
|
||||
consumers.
|
||||
|
||||
### Surfaced Capabilities
|
||||
|
||||
| Capability | Interface Method | Route |
|
||||
| --- | --- | --- |
|
||||
| Profile CRUD | `CreateProfileAsync`, `UpdateProfileAsync`, `ArchiveProfileAsync` | `POST/PUT/DELETE /v1/exports/profiles` |
|
||||
| Run Lifecycle | `StartRunAsync`, `CancelRunAsync` | `POST /profiles/{id}/runs`, `POST /runs/{id}/cancel` |
|
||||
| Artifact Browsing | `ListArtifactsAsync`, `GetArtifactAsync`, `DownloadArtifactAsync` | `GET /runs/{id}/artifacts` |
|
||||
| Verification | `VerifyRunAsync`, `GetManifestAsync`, `GetAttestationStatusAsync` | `POST /runs/{id}/verify`, `GET .../manifest`, `GET .../attestation` |
|
||||
| Discovery | `DiscoverCapabilitiesAsync` | Local (15 known capabilities) |
|
||||
|
||||
### Key Types
|
||||
|
||||
| Type | Location | Purpose |
|
||||
| --- | --- | --- |
|
||||
| `IExportSurfacingClient` | `Client/IExportSurfacingClient.cs` | Interface for extended operations |
|
||||
| `ExportSurfacingClient` | `Client/ExportSurfacingClient.cs` | HTTP implementation |
|
||||
| `ExportSurfacingModels.cs` | `Client/Models/` | DTOs for profile CRUD, artifacts, verification, attestation status, capability discovery |
|
||||
|
||||
### DI Registration
|
||||
|
||||
`AddExportSurfacingClient(Action<ExportCenterClientOptions>)` in
|
||||
`ServiceCollectionExtensions.cs` — reuses the same `ExportCenterClientOptions`.
|
||||
|
||||
### Test Coverage (37 tests)
|
||||
|
||||
- Models: CreateExportProfileRequest defaults, UpdateExportProfileRequest nulls, StartExportRunRequest defaults, ExportArtifact roundtrip, empty list, VerifyExportRunRequest defaults, ExportVerificationResult, HashVerificationEntry match/mismatch, SignatureVerificationEntry, ExportManifest, ExportAttestationStatus, ExportCapability, ExportCapabilitySummary, StartExportRunResponse
|
||||
- Client: Constructor null guards (2), DiscoverCapabilities (all/profiles/verification/audit-bundles/openapi-anonymous), argument validation (8 — CreateProfile/ArchiveProfile/CancelRun/StartRun/ListArtifacts/GetArtifact/VerifyRun/GetManifest/GetAttestationStatus)
|
||||
|
||||
Reference in New Issue
Block a user