Compendium.Abstractions.Secrets 1.0.5-preview.4

This is a prerelease version of Compendium.Abstractions.Secrets.
dotnet add package Compendium.Abstractions.Secrets --version 1.0.5-preview.4
                    
NuGet\Install-Package Compendium.Abstractions.Secrets -Version 1.0.5-preview.4
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Compendium.Abstractions.Secrets" Version="1.0.5-preview.4" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Compendium.Abstractions.Secrets" Version="1.0.5-preview.4" />
                    
Directory.Packages.props
<PackageReference Include="Compendium.Abstractions.Secrets" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Compendium.Abstractions.Secrets --version 1.0.5-preview.4
                    
#r "nuget: Compendium.Abstractions.Secrets, 1.0.5-preview.4"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Compendium.Abstractions.Secrets@1.0.5-preview.4
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Compendium.Abstractions.Secrets&version=1.0.5-preview.4&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Compendium.Abstractions.Secrets&version=1.0.5-preview.4&prerelease
                    
Install as a Cake Tool

Compendium.Abstractions.Secrets

Provider-agnostic secret-vault abstractions: the ISecretVault facade with two concern-scoped ports (ISecretContainerService, ISecretVersionService), a neutral connection/credential model, and declarative per-adapter capabilities.

Design contract

  • Versions are immutable and addressed by explicit revision. The port has no "latest" concept: which revision is current is the caller's metadata. This makes (secretId, revision) a stable value reference — history stays trustworthy and rollback is a re-pointing of references, never a provider-side mutation.
  • The provider-side SecretId is the identity. Names and paths are organizational/diagnostic; consumers persist ids.
  • No secret ever stringifies. SecretMaterial and token credentials redact in ToString().
  • Errors are uniform (SecretVault.* codes via the Result pattern — never exceptions for control flow), so consumers handle Scaleway, Vault, or an in-house store identically.
  • Capabilities are declarative. Adapters declare ImmutableVersions, VersionEnableDisable, VersionDestroy, PathHierarchy, Tags, LargePayload, … and fail undeclared operations with SecretVault.CapabilityNotSupported; each adapter documents its matrix in CAPABILITIES.md.

Testing

Compendium.Testing ships InMemorySecretVault (a full-fidelity fake) and SecretVaultContractTests, the behavioral contract suite every adapter must pass — inheriting it in an adapter's test suite is what makes swapping vault backends safe.

Adapters

  • Compendium.Adapters.Scaleway.SecretManager — Scaleway Secret Manager (regional, immutable versions, tags/paths).
  • NullSecretVault (in this package) — fail-fast stub for unconfigured hosts.
Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Compendium.Abstractions.Secrets:

Package Downloads
Compendium.Testing

Testing utilities for Compendium Framework: TestContainers integration (PostgreSQL/Redis), test data builders (AutoFixture/Bogus), aggregate testing helpers for Event Sourcing, and the git-server contract-test kit (InMemoryGitServer + GitServerContractTests).

Compendium.Adapters.Scaleway.SecretManager

Scaleway Secret Manager adapter for Compendium Framework: a concrete ISecretVault implementing the Compendium.Abstractions.Secrets ports against the Scaleway Secret Manager regional API (v1beta1). Immutable versions addressed by revision, enable/disable kill-switch, destroy for retention control, hierarchical paths and tag filters, uniform SecretVault.* error mapping including throttling with Retry-After.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.5-preview.4 143 7/24/2026