Files is the workspace's Drive: files you upload, and files your flows save, in folders. It's built on next-drive: Mooflair keeps the records, the engines keep the bytes (each file on one; any engine reads it). Flows read and write it with the Drive node. Run files (screenshots, downloads) are separate: they live with their run on the engine and go when the run's files expire. Drive files stay until you delete them.
The Drive belongs to the workspace, not to whoever uploaded: every member who may see datasets sees every file. Who uploaded each file shows in Uploaded by.
Use the Drive
Go to Dataset › Files.
| Do | How | Needs (datasets) |
|---|---|---|
| Upload | Upload, pick one or more files. They go into the folder you're in, straight to the engine, resumable (a dropped connection carries on). A name already there asks: Replace, Keep both or Skip. | create |
| Make a folder | New folder, name it. | create |
| Open a folder | Click it; the path at the top goes back. | view |
| Find a file | The search box looks in every folder. | view |
| Download | ⋯ › Download (a signed link, an hour; the engine holding it serves it). | view |
| Rename | ⋯ › Rename. | edit |
| Move | ⋯ › Move, pick the folder (or Drive for the top). | edit |
| Delete | ⋯ › Move to trash. Trash lists it: Restore, or Delete forever; Empty trash clears it all. The trash empties itself after 30 days. | delete |
The top line shows how many files the Drive holds and their size, and a bar shows the plan's storage used.
Limits
Each plan sets the Drive's size and its largest file:
| Plan | Files storage | Largest file |
|---|---|---|
| Free | 1 GB | 10 MB |
| Pro | 10 GB | 50 MB |
| Team | 50 GB | 100 MB |
| Business | 200 GB | 500 MB |
Files in the trash still count until they're deleted for good. An upload over a limit is refused before it starts; a Drive node write over the storage fails with the reason.
In flows
The works by path (/folder/name). The engine runs it itself (no browser), as a member of the Drive:
| Operation | Does |
|---|---|
| Read a file | Puts the file on the item (its file key, default data), with its details as the JSON. A file on another engine is copied over first. |
| Save a file | Saves one of the item's files at the path (missing folders are made), on this engine. Replace a file of that name off: a file already there fails it. |
| List a folder | One item per file (Subfolders too for the whole tree). |
| Get a file's info | Its id, folder, name, mime, size. |
| Move or rename | To another path (missing folders are made). A file already there fails it. |
| Delete a file | Moves it to the Drive's trash (restorable for 30 days). |
Test runs read for real, but saving, moving and deleting change nothing (the log says so).
Where the bytes live
| Where | What |
|---|---|
Mooflair, library/drive/drive.db | The records (SQLite): folders, files, trash, quota. Mooflair keeps no bytes (capacity: 0). |
Each engine, library/drive/ | The bytes of the files placed on it (blob/<sha256>/data.bin, identical files kept once). |
A new file goes to an engine the workspace's flows, campaigns or accounts are on, while it's online with room; otherwise to the online engine with the fewest bytes. Engines join the Drive on their own at boot with the network secret (see ). Deleting the workspace deletes its Drive (the engines drop the bytes).
Browsers call the Drive at /api/drive/<workspace slug>: that route checks you're a member and the action's permission, then passes you to the Drive signed (x-mooflair-drive, 5 minutes). /api/drive itself only answers signed links, upload tickets and the engines.
FAQ
Is the Drive the same as a run's files?
No. A run's files belong to that run and expire with it. Save one into the Drive with the Drive node when you want to keep it.
Can a flow read a file I uploaded?
Yes: a Drive node with Read a file and its path, like /price-list.xlsx. Then reads its rows.
Why do uploads go to the engine and not Mooflair?
So flows on that engine read the file from its own disk, and big files never pass through Mooflair. Mooflair only keeps the list.
What happens when the Drive is full?
Uploads are refused and Drive node saves fail with the reason. Empty the trash, delete files, or move to a bigger plan.
What if the engine holding a file is offline?
Its files can't be downloaded or read until it's back: the list still shows them, marked On engine A, which is down (no Download), and the Drive node says the file is on an engine that isn't answering. New uploads go to another online engine.