Data projects
A project with no web address, made of databases and scheduled jobs: a data warehouse that other projects read, nightly processing.
Updated November 9, 2026.
You, to your agent: Set up a data warehouse that loads our sales every night.
What your agent writes
Your agent writes it in while.yaml, at the root of your app:
crons:
- name: ingestion
schedule: "30 5 * * *"
command: [node, ingestion.js]
source: .
What your app receives
Your app receives these environment variables at every deployment:
| Variable | What it holds |
|---|---|
DATABASE_URL | The address of the project’s database. |
WHILE_CRON | The job’s name. |
WHILE_TRIGGER | How this run was started. |
When to use it
For data and processing without a screen: nightly loads, a project that other projects read.
How it works
A data project gathers databases and tasks, with no web address: a data warehouse, nightly processing. Its health is its databases and the runs of its tasks.
What to know
The while.yaml has no services. Each task is built from its sources (source, dockerfile) or starts from an image, with 100 mCPU and 128 MiB by default (resources). A rollback gives the tasks back the image of the target version.
Pricing
These prices are the same on every plan, excluding VAT:
| Resource | Price | Details |
|---|---|---|
| CPU and memory | €17 per vCPU·month and €8.50 per GiB·month | apps by usage, caches by reservation |
Your agent’s MCP tools
Your agent handles it with the deploy_app, list_tasks and run_task tools.