Skip to main content

Stores

Stores are the fourth component type in walkerOS, alongside sources, transformers, and destinations. They provide passive key-value storage that other components consume — no event chains, no push functions.

The Store interface

Every store implements four operations:

Loading...

Stores can be synchronous or asynchronous — the interface supports both.

Available implementations

PackageEnvironmentStorageFeatures
@walkeros/store-memoryAnyIn-memoryLRU eviction, TTL, namespace utility
@walkeros/server-store-fsNode.jsFilesystemRead/write files, directory listing
@walkeros/server-store-s3Node.jsS3-compatibleObject storage via AWS SDK

Configuration

Bundled mode (flow.json)

Define stores in the stores section of a flow config:

Loading...

Integrated mode (TypeScript)

Loading...

Connecting stores to components

Use the $store: prefix in a component's env to inject a store instance at runtime:

Loading...

The bundler resolves $store:cache to the initialized store instance. Invalid references (pointing to undefined stores) are caught at build time.

Lifecycle

Stores follow a strict lifecycle relative to other components:

  1. Stores initialize first — before sources, transformers, and destinations
  2. Stores destroy last — after all other components have shut down

This guarantees stores are available when any component starts and remain available while they gracefully shut down.

Next steps

💡 Need implementation support?
elbwalker offers hands-on support: setup review, measurement planning, destination mapping, and live troubleshooting. Book a 2-hour session (€399)