Filesystem
Local filesystem store for walkerOS server flows. Reads and writes files relative to a base directory with path traversal protection.
Installation
- Integrated
- Bundled
Add to your flow.json:
Configuration
This store uses the standard store config wrapper (consent, data, env, id, ...). For the shared fields see store configuration. Package-specific fields live under config.settings and are listed below.
Settings
| Property | Type | Description | More |
|---|---|---|---|
basePath | string | Root directory for file operations. All keys are resolved relative to this path. |
Mapping
This package does not define custom rule-level settings. For the standard rule fields (consent, condition, data, batch, name, policy) see mapping.
Examples
Read file
Read an existing file and receive its contents as a Buffer
Write file
Write creates intermediate directories automatically
API
get() returns Buffer for compatibility with the file transformer, which uses content instanceof Buffer for Content-Length calculation.
File serving pattern
Use with the file transformer to serve static assets from the local filesystem:
A request to /static/walker.js reads ./public/walker.js from disk.
Security
- Path traversal protection: Requests with
.., absolute paths, or backslash traversal are rejected and logged as warnings - Base path scoping: All operations are restricted to the configured
basePathdirectory - Intermediate directories:
set()creates parent directories automatically viamkdir -p
When to use
| Scenario | Recommended store |
|---|---|
| Local development | Filesystem: files on disk, no credentials needed |
| Docker with baked-in assets | Filesystem: mount or copy files into the image |
| Cloud / managed deployments | S3: files in a bucket, hot-swappable |
| Caching / ephemeral data | Memory: fastest, no I/O |