Skip to content

Snapshots

Snapshots are derived read models for the .firecube/ control plane. They make inspection and cleanup commands faster, but the WAL under .firecube/runs/ is the authoritative state.

PRODUCT_URI="file:///data/products/MY_PRODUCT.zarr"
PRODUCT_NAME="MY_PRODUCT"

Check Snapshot Status

firecube chunks snapshots status --product-name "$PRODUCT_NAME"

Expected output when no snapshot exists:

No snapshot found for product.zarr

Use JSON when automation needs to branch on exists:

firecube chunks snapshots status \
  --product-name "$PRODUCT_NAME" \
  --format json

Expected output after a rebuild resembles:

{
  "exists": true,
  "completed_before": "2026-06-03T15:54:27.100797+00:00",
  "age_human": "3m",
  "generation": "1780502101660654725",
  "records": 0
}

Rebuild A Snapshot

Preview:

firecube chunks snapshots rebuild \
  --product-name "$PRODUCT_NAME" \
  --dry-run

Expected output:

[dry-run] Would rebuild snapshot for product 'product.zarr'

Rebuild:

firecube chunks snapshots rebuild --product-name "$PRODUCT_NAME"

Expected output:

Rebuilt snapshot for product.zarr: generation=1780502101660654725 records=4

Use JSON if you need the snapshot path:

firecube chunks snapshots rebuild \
  --product-name "$PRODUCT_NAME" \
  --format json

Expected output resembles:

{
  "product": "product.zarr",
  "generation": "1780502101660654725",
  "records": 4,
  "snapshot_path": "file:///data/products/product.zarr/.firecube/snapshots/snapshot-1780502101660654725.jsonl",
  "locked": false,
  "remote": false
}

Next Steps