ores.compute.client
Table of Contents
2. Summary
ores.compute.client is the shared consumer-side library for publishing
compute engine packages. Its single class, package_publisher, uploads a
local package archive to the canonical per-triplet storage location and
verifies its integrity: it computes the local SHA256 before uploading,
compares it against the server's own SHA256 of the bytes received, and
throws on mismatch rather than returning a result the caller might trust.
It is the one shared core behind the ores.shell's non-interactive publish
command. Building and sending the put_app_request and
put_app_version_request NATS messages that register
the uploaded package stays with each caller, since each already has its
own request/response plumbing.
3. Inputs
- The app name, version, and platform triplet to publish under.
- The local path of the package archive to upload.
- The HTTP base URL of the storage server.
4. Outputs
package_publish_result: the storage-relative package URI and the server-computed SHA256, ready forores_compute_app_version_platforms_tbl.package_uriand.sha256.
5. Entry points
client/package_publisher.hpp—package_publisher::publish()and thepackage_publish_resultstruct.
6. Dependencies
ores.storage— thestorage_transferHTTP upload client.ores.compute.api— the domain types the result rows feed into (via the callers' own NATS registrations).
7. See also
- ores.compute — component group overview.
- ores.compute.core — registers the uploaded packages as app versions.
- ores.compute.wrapper — the worker that runs the packages this part publishes.
