Release

Releases are a point-in-time snapshot of configuration stored as an OCI image. A Release bundles the Units in a Space that are assigned to the Space's release Target (its ReleaseTargetID), capturing each Unit either at its head Revision or at a specified tagged one. The ID of that Target is stored on the Release (TargetID), both as the record of what the configuration was published for and as the basis for pull authorization.

Each Release carries a ReleaseNum — a sequence number that increments per Space — along with two OCI digests: ManifestDigest for the image manifest and Digest for the compressed bundle layer. Each Release also either creates a Tag or uses the one provided, associating it with the bundled Revisions.

The OCI URL for each Space's Releases can be found via the Space.ReleaseURL, with either the latest OCI tag or a specific digest. latest refers to the most recently published Release for the Space's current release Target. This URL is used by OCI clients, such as ArgoCD or FluxCD, to consume the image and apply the configuration accordingly. Pulling requires View permission on the Release, which is derived from the Target: the worker listed on the Target, and anyone with ViewChildren permission on it, may pull. See Releases and OCI delivery.

A Release can be withdrawn, which takes it out of service: it is no longer served from the OCI endpoint, while the Release itself is retained as the record of what was published. Deleting a Release removes it and its stored bundle. A Destroy Gate on any Unit in the bundle blocks withdrawal until it clears. See Publishing Releases.