FluxFlow.Components.Storage.FileSystem
3.0.0
See the version list below for details.
dotnet add package FluxFlow.Components.Storage.FileSystem --version 3.0.0
NuGet\Install-Package FluxFlow.Components.Storage.FileSystem -Version 3.0.0
<PackageReference Include="FluxFlow.Components.Storage.FileSystem" Version="3.0.0" />
<PackageVersion Include="FluxFlow.Components.Storage.FileSystem" Version="3.0.0" />
<PackageReference Include="FluxFlow.Components.Storage.FileSystem" />
paket add FluxFlow.Components.Storage.FileSystem --version 3.0.0
#r "nuget: FluxFlow.Components.Storage.FileSystem, 3.0.0"
#:package FluxFlow.Components.Storage.FileSystem@3.0.0
#addin nuget:?package=FluxFlow.Components.Storage.FileSystem&version=3.0.0
#tool nuget:?package=FluxFlow.Components.Storage.FileSystem&version=3.0.0
FluxFlow.Components.Storage.FileSystem
File-system-backed storage adapter for FluxFlow.Components.Storage.
This package does not add workflow nodes. It provides an IStorageStore
implementation and registration helpers for the existing storage nodes:
storage.putstorage.getstorage.querystorage.delete
Register
var registry = new RuntimeNodeFactoryRegistry()
.RegisterStorageComponents(options => options
.UseFileSystemStorage(new FileSystemStorageStoreOptions
{
RootDirectory = "data/storage",
DefaultCollection = "items"
}));
Set StorageComponentOptions.UseClock(...) when node results and adapter
records should share a deterministic time source. FileSystemStorageStore
also accepts FileSystemStorageStoreOptions.Clock for direct store use or an
adapter-specific override.
Behavior
- one JSON file per record
- hashed store, collection, and key paths
- create, replace, and upsert write modes
- optimistic version checks through
ExpectedVersion - expiration honored by
storage.get - query by collection, key prefix, attributes, stored time bounds, expiration, offset, and limit
- best-effort atomic writes through a temporary file then replace
- owned store lifetime when created through
UseFileSystemStorage
The adapter is intended for single-machine workflows, samples, tests, and simple desktop or service hosts. It does not claim cross-process write coordination in this first version.
Options
| Option | Purpose |
|---|---|
RootDirectory |
Required directory where records are stored. |
StoreName |
Optional fallback store name when the node does not set store. |
CreateDirectory |
Creates the root directory when it does not exist. |
AllowAbsoluteRootDirectory |
Allows absolute root directory values. |
MaxValueBytes |
Rejects values whose serialized JSON exceeds the limit. |
DefaultCollection |
Optional fallback collection. |
FlushOnWrite |
Flushes file contents before replacing the record file. |
Clock |
Optional direct-store time source override. |
The package persists only neutral StorageRecord data. Hosts that need exact
payload shaping should compose serialization or payload nodes before storage.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. 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 is compatible. 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. |
-
net10.0
- FluxFlow.Components.Storage (>= 3.0.0)
-
net8.0
- FluxFlow.Components.Storage (>= 3.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 6.0.0-rc.1 | 86 | 9/5/2026 |
| 5.0.0 | 143 | 8/3/2026 |
| 3.3.5 | 123 | 7/3/2026 |
| 3.3.4 | 119 | 7/2/2026 |
| 3.0.0 | 125 | 6/19/2026 |
| 2.0.0 | 141 | 6/18/2026 |
| 1.1.0 | 425 | 6/12/2026 |
| 1.0.0 | 123 | 6/4/2026 |
| 0.3.0-alpha.1 | 70 | 6/3/2026 |
| 0.2.0-alpha.1 | 247 | 6/2/2026 |
| 0.1.1-alpha.1 | 82 | 6/2/2026 |
| 0.1.0-alpha.1 | 81 | 6/2/2026 |
2.0 preview: TimeProvider clock migration. Replaces the package's bespoke clock abstraction with System.TimeProvider — the clock is now configured via UseClock(TimeProvider)/the TimeProvider-typed Clock option, and the old IXxxClock/System*Clock public types are removed (breaking). Runtime behavior is unchanged.