FluxFlow.Components.Storage.FileSystem
1.1.0
See the version list below for details.
dotnet add package FluxFlow.Components.Storage.FileSystem --version 1.1.0
NuGet\Install-Package FluxFlow.Components.Storage.FileSystem -Version 1.1.0
<PackageReference Include="FluxFlow.Components.Storage.FileSystem" Version="1.1.0" />
<PackageVersion Include="FluxFlow.Components.Storage.FileSystem" Version="1.1.0" />
<PackageReference Include="FluxFlow.Components.Storage.FileSystem" />
paket add FluxFlow.Components.Storage.FileSystem --version 1.1.0
#r "nuget: FluxFlow.Components.Storage.FileSystem, 1.1.0"
#:package FluxFlow.Components.Storage.FileSystem@1.1.0
#addin nuget:?package=FluxFlow.Components.Storage.FileSystem&version=1.1.0
#tool nuget:?package=FluxFlow.Components.Storage.FileSystem&version=1.1.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 (>= 1.1.0)
-
net8.0
- FluxFlow.Components.Storage (>= 1.1.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 |
Store instances are shared per resolved root so optimistic concurrency is serialized across nodes, queries scan only the resolved collection directory and skip corrupt record files, expired records no longer block Create-mode writes, and value size limits are measured against compact JSON.