2.3 KiB
2.3 KiB
Tile Caching (Filesystem)
Module
Attestor
Status
VERIFIED
Description
Filesystem-based immutable tile cache for Rekor v2 tiles, SHA-256 indexed, suitable for offline/air-gap scenarios.
Implementation Details
- Filesystem Rekor Tile Cache:
src/Attestor/StellaOps.Attestor/StellaOps.Attestor.Core/Rekor/FileSystemRekorTileCache.cs-- filesystem-based tile cache implementingIRekorTileCache.cs. Stores tiles by SHA-256 content hash for deduplication and immutability. - Tile Cache Interface:
Rekor/IRekorTileCache.cs-- abstraction for tile caching (get, put, exists operations). - Content-Addressed Tile Store:
StellaOps.Attestor.TileProxy/Services/ContentAddressedTileStore.cs-- content-addressed storage for tiles with SHA-256 indexing. - Tile Proxy Service:
StellaOps.Attestor.TileProxy/Services/TileProxyService.cs-- serves cached tiles for offline verification. - Tile Sync Job:
StellaOps.Attestor.TileProxy/Jobs/TileSyncJob.cs-- background job syncing tiles from remote Rekor while online. - Tile Endpoints:
StellaOps.Attestor.TileProxy/Endpoints/TileEndpoints.cs-- HTTP endpoints for serving cached tiles. - Tile Proxy Options:
StellaOps.Attestor.TileProxy/TileProxyOptions.cs-- configuration options (cache directory, sync interval, max tile size). - Tests:
__Tests/StellaOps.Attestor.Core.Tests/TileCacheTests.cs
E2E Test Plan
- Store a tile via
FileSystemRekorTileCacheand verify it is retrievable by SHA-256 hash - Store the same tile twice and verify deduplication (only one copy on disk)
- Verify immutability: attempt to overwrite a cached tile and verify the operation is rejected or idempotent
- Sync tiles from a remote Rekor via
TileSyncJoband verify they are cached locally - Serve a cached tile via
TileEndpointsand verify the response matches the original tile - Verify offline scenario: disable network, request a tile via
TileProxyService, and verify the cached tile is served - Verify content-addressed storage: store tiles of different sizes and verify SHA-256 indexing works correctly
Verification
| Check | Result |
|---|---|
| Tier 0 - Source Verification | PASS |
| Tier 1 - Build + Code Review | PASS |
| Tier 2 - Behavioral Verification | PASS |
| Verified Date | 2026-02-13 |
| Run ID | run-001 |