2.9 KiB
2.9 KiB
OCI Layer Manifest Infrastructure for Delta Scanning
Module
Scanner
Status
VERIFIED
Description
Infrastructure for OCI manifest snapshotting with layer digest resolution and diffID-based layer tracking. Provides layer reuse detection across image versions and a registry client abstraction to support delta scanning workflows. Distinct from generic "OCI Ancestry Extraction" in known features.
Implementation Details
- Manifest Snapshot Service:
src/Scanner/__Libraries/StellaOps.Scanner.Manifest/IOciManifestSnapshotService.cs-IOciManifestSnapshotServiceinterface for manifest snapshot operationssrc/Scanner/__Libraries/StellaOps.Scanner.Manifest/OciManifestSnapshotService.cs-OciManifestSnapshotServicecaptures and compares OCI manifest snapshots for delta scanning
- Manifest Models:
src/Scanner/__Libraries/StellaOps.Scanner.Manifest/Models/OciManifestSnapshot.cs-OciManifestSnapshotrepresenting a point-in-time manifest state with layer digestssrc/Scanner/__Libraries/StellaOps.Scanner.Manifest/Models/ManifestComparisonResult.cs-ManifestComparisonResultidentifies added, removed, and unchanged layers between snapshots
- Layer Digest Resolution:
src/Scanner/__Libraries/StellaOps.Scanner.Manifest/Resolution/ILayerDigestResolver.cs- Interface for resolving layer digests to diffIDssrc/Scanner/__Libraries/StellaOps.Scanner.Manifest/Resolution/LayerDigestResolver.cs-LayerDigestResolverresolves compressed layer digests to uncompressed diffIDs for consistent tracking
- Layer Reuse Detection:
src/Scanner/__Libraries/StellaOps.Scanner.Manifest/Reuse/LayerReuseDetector.cs-LayerReuseDetectoridentifies unchanged layers across image versions to skip re-analysis
- Persistence:
src/Scanner/__Libraries/StellaOps.Scanner.Manifest/Persistence/IManifestSnapshotRepository.cs- Repository interface for snapshot storagesrc/Scanner/__Libraries/StellaOps.Scanner.Manifest/Persistence/ManifestSnapshotRepository.cs- PostgreSQL-backed snapshot persistence
- DI Registration:
src/Scanner/__Libraries/StellaOps.Scanner.Manifest/ManifestServiceCollectionExtensions.cs
E2E Test Plan
- Scan an image and verify a manifest snapshot is captured with all layer digests and diffIDs
- Rescan a newer version of the same image and verify manifest comparison correctly identifies added, removed, and unchanged layers
- Verify layer reuse detection skips unchanged layers in subsequent scans, reducing scan time
- Verify diffID-based tracking correctly matches layers across manifest versions despite compressed digest differences
- Verify manifest snapshots are persisted and retrievable for historical comparison
Verification
| Check | Result |
|---|---|
| Tier 0 - Source files exist | PASS |
| Tier 1 - Build + code review | PASS |
| Tier 2 - Integration tests | PASS |
| Verified | 2026-02-13T18:10:00Z |