Documentation
WakeRetention and cost
Updated
Retention
Wake keeps 30 days by default. The cutoff is a whole UTC day, so the retention run removes complete expired day partitions rather than trimming part of a day, and a line is kept for between 30 and 31 days depending on when in the day it arrived.
wake:lake-retain runs daily at 04:15 from the schedule. It removes the expired lake rows, prunes the matching locator, hourly-count and error rows from PostgreSQL, expires the DuckLake snapshots those files belonged to, and then deletes the physical objects. Cleanup is last on purpose: deleting a catalog row on its own does not remove anything from the bucket, so a run that stopped halfway would leave you paying for files nothing references.
The window is a server setting rather than an environment value. Configuration explains what that means for changing it.
Storage
Parquet is about 56 MB per million log lines. On most installations storage is not what you notice on the bill.
What the bill is actually made of
The minute flush is what keeps PostgreSQL awake, and on the smallest setup that database dominates everything else at around $25 a month. This is the number worth understanding before you size anything: Wake is cheap to store and the cost is in keeping a database available enough to accept a batch every minute.
The managed queue is close to free. At the measured 35-second daily rewrite, the 2 GiB Flex queue adds about $0.14 a month, roughly $0.13 of that being baseline polling and $0.01 the rewrite compute, before object-storage request charges. It scales to zero between runs, which is why a 2 GiB instance costs less than a smaller always-on one would.
Those figures are Wake's own measurements from a 50 million-row verification on Laravel Cloud, not estimates. Your own volume and region will move them.
If 30 days is wrong for you
Shorter is cheaper in storage and in the retention run's work. Longer is the expensive direction, and the thing that grows is the bucket rather than the database, since the query plane only holds locators, hourly counts and error rows.
A log line that has aged out is gone. Wake has no archive tier and no rehydration: if you need a line for longer than your retention window, it has to be somewhere other than Wake.