4.4 KiB
4.4 KiB
Surface.Secrets Provider Chain
Module
Scanner
Status
VERIFIED
Description
Pluggable secret provider chain with backends for Kubernetes mounted secrets, file-based secrets, and offline credential stores. Provides typed handles for attestation signing keys, CAS tokens, and registry credentials.
Implementation Details
- Provider Interface:
src/Scanner/__Libraries/StellaOps.Scanner.Surface.Secrets/ISurfaceSecretProvider.cs-ISurfaceSecretProviderinterface for pluggable secret providers
- Provider Implementations:
src/Scanner/__Libraries/StellaOps.Scanner.Surface.Secrets/Providers/CompositeSurfaceSecretProvider.cs-CompositeSurfaceSecretProviderchaining multiple providers with fallbacksrc/Scanner/__Libraries/StellaOps.Scanner.Surface.Secrets/Providers/KubernetesSurfaceSecretProvider.cs-KubernetesSurfaceSecretProviderreading secrets from Kubernetes mounted volumessrc/Scanner/__Libraries/StellaOps.Scanner.Surface.Secrets/Providers/FileSurfaceSecretProvider.cs-FileSurfaceSecretProviderreading secrets from file system pathssrc/Scanner/__Libraries/StellaOps.Scanner.Surface.Secrets/Providers/InlineSurfaceSecretProvider.cs-InlineSurfaceSecretProviderfor inline/environment-variable secretssrc/Scanner/__Libraries/StellaOps.Scanner.Surface.Secrets/Providers/InMemorySurfaceSecretProvider.cs- In-memory provider for testingsrc/Scanner/__Libraries/StellaOps.Scanner.Surface.Secrets/Providers/OfflineSurfaceSecretProvider.cs-OfflineSurfaceSecretProviderfor air-gapped credential storessrc/Scanner/__Libraries/StellaOps.Scanner.Surface.Secrets/Providers/AuditingSurfaceSecretProvider.cs-AuditingSurfaceSecretProviderwrapping providers with access auditingsrc/Scanner/__Libraries/StellaOps.Scanner.Surface.Secrets/Providers/CachingSurfaceSecretProvider.cs-CachingSurfaceSecretProvidercaching secret lookups
- Typed Secret Handles:
src/Scanner/__Libraries/StellaOps.Scanner.Surface.Secrets/AttestationSecret.cs-AttestationSecrettyped handle for attestation signing keyssrc/Scanner/__Libraries/StellaOps.Scanner.Surface.Secrets/CasAccessSecret.cs-CasAccessSecrettyped handle for CAS (Content-Addressable Storage) tokenssrc/Scanner/__Libraries/StellaOps.Scanner.Surface.Secrets/RegistryAccessSecret.cs-RegistryAccessSecrettyped handle for container registry credentials
- Request Model:
src/Scanner/__Libraries/StellaOps.Scanner.Surface.Secrets/SurfaceSecretRequest.cs- Request model for secret retrievalsrc/Scanner/__Libraries/StellaOps.Scanner.Surface.Secrets/SurfaceSecretHandle.cs- Handle wrapping resolved secretssrc/Scanner/__Libraries/StellaOps.Scanner.Surface.Secrets/SurfaceSecretNotFoundException.cs- Exception when secrets are not foundsrc/Scanner/__Libraries/StellaOps.Scanner.Surface.Secrets/SurfaceSecretsOptions.cs- Configuration options
- DI & Integration:
src/Scanner/__Libraries/StellaOps.Scanner.Surface.Secrets/ServiceCollectionExtensions.cs- DI registration for surface secretssrc/Scanner/StellaOps.Scanner.Worker/Options/ScannerStorageSurfaceSecretConfigurator.cs- Worker-side secret configurationsrc/Scanner/StellaOps.Scanner.WebService/Options/ScannerSurfaceSecretConfigurator.cs- WebService-side secret configuration
- Tests:
src/Scanner/__Tests/StellaOps.Scanner.Surface.Secrets.Tests/InlineSurfaceSecretProviderTests.cs- Inline provider testssrc/Scanner/__Tests/StellaOps.Scanner.Surface.Secrets.Tests/FileSurfaceSecretProviderTests.cs- File provider tests
E2E Test Plan
- Configure a composite provider chain (Kubernetes -> File -> Offline) and verify secrets are resolved from the first available provider
- Verify
KubernetesSurfaceSecretProviderreads secrets from Kubernetes mounted volumes at expected paths - Verify
AttestationSecrettyped handle correctly provides attestation signing key material - Verify
RegistryAccessSecrettyped handle provides registry credentials for authenticated pulls - Verify
AuditingSurfaceSecretProviderlogs all secret access for audit trail - Verify
OfflineSurfaceSecretProviderworks in air-gapped environments without network access
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 |