Skip to content
ReferenceCLI

intropy release

Authoritative reference for intropy release: publishing and inspecting immutable release manifests.

A release names a set of built bits: a component version, the source commit it was built from, and the image digests CI published for that commit. Releases change no environment. Creating one records what a version means; shipping it is a separate step, owned by intropy deploy pin <component> <version>.

intropy release create <component> [flags]
intropy release list <component> [flags]
intropy release show <component> <version> [flags]

In all three, the component is located by searching the GitOps repository for domains/*/*/<component>, so only the name is passed. If the name occurs under more than one domain or system, the error lists the candidates; disambiguate with --domain and --system.

Resolve the image digests CI published for HEAD and record them, with the commit and generated notes, as an immutable release manifest in the registry: a versioned OCI manifest stored beside the component’s images. An annotated git tag (<component>/v<version>) is pushed alongside it; a tag-push failure is a warning rather than an error, because the OCI manifest is the release.

Run it inside the component’s source repository. The commit comes from HEAD and must be pushed, and the working tree must be clean under the component’s source paths (--allow-dirty waives the cleanliness check). Notes are generated from the component-scoped commits since the previous release this one descends from.

Terminal window
intropy release create order-extractor --version 1.4.2
Flag Description
--version <version> Version to publish. Required.
-w, --watch Wait for the commit’s images to appear in the registry instead of failing immediately. No timeout: the wait ends when the image arrives or you interrupt it.
--allow-dirty Release despite uncommitted changes under the component’s source paths.
--domain <name> Disambiguate the component by domain.
--system <name> Disambiguate the component by system.
--gitops-repo <url> GitOps repository URL. Defaults to gitopsRepo from configuration, or INTROPY_GITOPS_REPO.
-o, --output <format> plain (default) or json.

If CI has not finished publishing the commit’s images, the command fails unless --watch is given. Re-running for a version that already exists is safe: an identical release is recognised and only a missing git tag is repaired; a different one is refused, because versions are immutable.

Whatever each environment was running, it still is — and because the version resolves the same commit, it resolves the same digests.

List the versions released for a component, newest first, with the date each was cut, its source commit, and the first line of its notes. Pass one of those versions to release show to read the full manifest.

Terminal window
intropy release list order-extractor
Flag Description
--domain <name> Disambiguate the component by domain.
--system <name> Disambiguate the component by system.
--gitops-repo <url> GitOps repository URL. Defaults to gitopsRepo from configuration, or INTROPY_GITOPS_REPO.
-o, --output <format> plain (default) or json. The JSON form adds total and each release’s full digest.

Releases are read from the registry beside the component’s images, so this reports what is actually published rather than what git tags claim, in publication order. Anything in that repository that is not a readable release is skipped with a note on stderr, and a component that has never been released is reported as such rather than treated as an error. It changes no source repository, GitOps remote, or environment.

Read the release manifest for a version and print what it records: the source commit, the pinned image digests, what the notes were measured against, and the notes themselves. Use it to sanity-check generated notes before deploying anything from the release.

Terminal window
intropy release show order-extractor 1.4.2
Flag Description
--domain <name> Disambiguate the component by domain.
--system <name> Disambiguate the component by system.
--gitops-repo <url> GitOps repository URL. Defaults to gitopsRepo from configuration, or INTROPY_GITOPS_REPO.
-o, --output <format> plain (default) or json. json receives the manifest itself.

The command verifies that the requested OCI tag and the manifest’s declared version agree. It changes no source repository, GitOps remote, or environment.