Skip to main content

Inert Koan storage contracts for providers, services, objects, capabilities, listing, stat, copy, presign, and model binding.

Total Downloads
4.1K
4,062
Published
Sep 13, 2026
1mo ago

Get Started

dotnet add package Sylin.Koan.Storage.Abstractions --version 1.0.32
ProductVersions
.NET
net10.0

README

Sylin.Koan.Storage.Abstractions

Inert provider, service, object, capability, and binding contracts for Koan Storage. Reference this package to build a provider or a module that speaks Storage without activating routing, IO, or Entity behavior.

Install

dotnet add package Sylin.Koan.Storage.Abstractions

Applications normally install a functional provider package instead; it brings the Storage runtime transitively.

Smallest meaningful use

using Koan.Core.Capabilities;
using Koan.Storage.Abstractions;
using Koan.Storage.Abstractions.Capabilities;

public sealed class ArchiveProvider : IStorageProvider
{
    public string Name => "archive";
    public StorageProviderPlacement Placement => StorageProviderPlacement.Remote;

    public void Describe(ICapabilities caps)
        => caps.Add(StorageCaps.SequentialRead);

    // Implement Write, OpenRead, OpenReadRange, Delete, and Exists.
}

Add IStatOperations, IListOperations, IServerSideCopy, or IPresignOperations only when the provider can perform that operation, and declare the matching StorageCaps token. Storage rejects inconsistent claims during composition. Use [ProviderPriority] only when this provider should win automatic election over another provider in the same placement.

Guarantees and boundaries

  • This package contains no KoanModule; referencing it alone registers and activates nothing.
  • StorageProviderPlacement describes topology, while StorageCaps describes backend guarantees. Provider names do not imply either.
  • IStorageProvider is the backend SPI. IStorageService is the functional runtime boundary consumed by modules.
  • Result objects report observed metadata; they do not imply durability, consistency, atomicity, public access, or distributed transactions.
  • Profile policy, provider election, replication, segmentation, Entity helpers, and startup reporting belong to Sylin.Koan.Storage.

See TECHNICAL.md for contract ownership and provider-author rules.

Downloads by Version

Similar & Alternative Packages

Hand-picked matching NuGet libraries based on tags & ecosystem

Depended On By

Find packages that declare this package as a dependency. NuGet does not provide a reverse-dependency endpoint, so candidates are checked on demand.

Adoption Assessment

Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.

Compatibility metadata lists 1 target framework; confirm the exact target used by your application.The published metadata declares 14 direct dependency entries across framework groups. Inspect the resolved dependency graph for your target framework.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.