Artifact Storage
All artifacts are stored in MinIO. Ordo tracks URI references; n8n executors perform the actual uploads and downloads.
URI format
Intermediate artifacts (produced during job execution) are stored under:
artifacts/job_{job_id}/{step_id}/{filename}Examples:
artifacts/job_4/reproject/output.copc.laz
artifacts/job_4/build_ept/tileset/ ← EPT directory
artifacts/job_4/dataset_info/info.json
artifacts/job_4/build_copc/output.copc.lazFinalized outputs
When a job declares outputs, the Job Finalizator copies each declared artifact into its declared directory after all steps have finished, and only if none failed. The declared path is a directory. A file keeps its intermediate name, and a folder's contents are copied directly into the directory. A folder delivers only the objects written since the job was created:
artifacts/job_4/build_copc/output.copc.laz → production/results/survey/copc/output.copc.laz
artifacts/job_4/build_ept/tileset/… → development/results/piney-dam/ept/…These paths are stable and suitable for downstream consumption. See MinIO Outputs for the delivered name of every executor.
Artifact record
Each artifact in Ordo has:
| Field | Description |
|---|---|
name | Namespaced artifact reference (e.g. step:build_copc.output_copc) |
type | Artifact type (las, ept, potree, json, tif) |
uri | MinIO path (no bucket prefix) |
hash | MD5 or other content hash |
metadata | Optional JSON blob — for LAS artifacts, contains PDAL info output |
Input artifacts
Input artifacts provided at job submission are stored with the URI you supply. They are not copied by Ordo — the URI is expected to already exist in MinIO at the time workers pick up the step.
Cleanup
Ordo does not clean up intermediate artifacts. The artifacts/job_{id}/ namespace grows with each job. Implement a retention policy in MinIO if storage management is needed.