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
path traversal rejection
read existing file
write new file
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 |