Appearance
Objects
Objects are Hub's content storage — the artifacts a device actually runs: kernels, the system image, platform/app filesystems, and other binary content. Objects API is the heart of cloud file storage for everything a step references.
API: the objects service — request flows, plus the /objects endpoint reference to try calls live.
Content-addressed
Every object is identified by the sha256 of its content. Because the identity is the hash:
- The same content is stored once, no matter how many devices or steps reference it (deduplication).
- A device can verify exactly what it downloaded.
- Steps reference objects by a stable
prn(Pantahub resource name) that never points at different bytes.
Each object also has a size, content type, visibility (public/private), and an owner.
Uploading and downloading
You create an object by uploading its content; Hub stores the bytes in S3-compatible storage and records the metadata. Downloads don't stream through the API — instead the object's download endpoint returns a short-lived, pre-signed URL straight to the storage backend, which the client then fetches directly. This keeps large transfers off the API path.
How steps use objects
A trail step doesn't embed artifacts — it references them by object prn plus an access token. To ship new software you:
- Upload the artifact as an object (or reuse an existing one / an app).
- Append a step whose state points at that object.
- The device resolves the reference, downloads the object via its pre-signed URL, and applies it.
Objects are marked deleted rather than hard-removed, so references in historical revisions stay meaningful.