Artifact (kind: artifact)
A pinnable, named reference to something external strata doesn’t fetch or deploy itself — a
container image today, possibly other identifiers later. Referenced by identity from anywhere in
the solution: a store: artifact variable (an external provisioner’s own input) or a module
service’s image (once that binding is wired up).
Schema
spec.image_name— the container image path (e.g.int-docker-test/src/acme.dispatcher.api) — identity, never overridden by aversionpinspec.image_tag— the tag/digest to deploy; may be blank until a real image exists. Overridden bykind: version’sspec.pins.artifacts[name]when setspec.registry— free-text registry host, documentation only — not a remote reference (strata never fetches an image; the runtime pulls it at deploy time)spec.integration— optionalintegration(capability:sources) providing registry credentialsspec.properties/spec.configuration/spec.custom— free-form/passthrough data, never merged
Example
apiVersion: strata.huybrechts.xyz/v2
kind: artifact
meta:
name: dispatcher-api
spec:
image_name: int-docker-test/src/acme.dispatcher.api
image_tag: "1.4.2"
registry: cdn-feeds.acme.com
Referenced from an environment’s variables:
variables:
- key: DISPATCHER_API_IMAGE_TAG
store: artifact
value: dispatcher-api
Notes
Deliberately not built on
SourceModeldespite the surface similarity to its chart mode — a remote’sfetchdescribes who materializes bytes on disk, and strata never fetches a container image (the registry pulls it at deploy time, not strata at build time).No chart mode: a chart pin already targets a real
moduledocument’s ownspec.source.chart_version— fully served by the existing mechanism, not a gap this kind covers.