Skip to main content

Module artifact

Module artifact 

Source
Expand description

Artifact production and consumption from a running workflow.

ArtifactSink is the seam between the engine and wherever artifact bytes actually live. The engine never talks to a blob store directly, because the two execution topologies reach storage differently:

  • in-process (API server, tests): DirectArtifactSink writes to the blob store and records the metadata itself;
  • remote worker: the worker’s sink uploads over the internal HTTP API, which keeps storage credentials on the API side only.

Ordering is always “bytes first, metadata second”. The metadata row is the source of truth, so a crash in between leaves an unreferenced blob rather than a record pointing at nothing.

Structs§

ArtifactUpload
Everything needed to record an artifact, minus the bytes.
DirectArtifactSink
ArtifactSink backed by a blob store and a run store in the same process.

Traits§

ArtifactSink
Where a running workflow reads and writes artifact bytes.

Type Aliases§

ArtifactFuture
Boxed future returned by ArtifactSink methods – keeps the trait object safe.