ReleaseKit. Manifest
(ReleaseKit v0.3.1)
Copy Markdown
Manifest describing a built OTP release artifact.
The manifest is intentionally deployment-tool neutral. It records the release tarball, runtime command, environment hints, and an optional HTTP health check. ReleaseKit writes the typed struct as ETF so consumers running on the BEAM can inspect it with ordinary tooling.
Summary
Functions
Builds a manifest struct from normalized options.
Reads a typed manifest from ETF.
Validates a typed manifest contract.
Writes a manifest as ETF.
Types
@type health_check() :: %{path: String.t(), port: pos_integer(), url: String.t()}
@type runtime() :: %{command: [String.t()]}
@type t() :: %ReleaseKit.Manifest{ app: String.t(), artifact: ReleaseKit.ArtifactInfo.t() | nil, assets: [ReleaseKit.AssetInfo.t()], build: ReleaseKit.BuildInfo.t() | nil, env: env(), format: atom(), format_version: pos_integer(), health_check: health_check() | nil, mix_env: String.t(), release: String.t(), runtime: runtime(), tarball: Path.t(), target: ReleaseKit.Target.t() | nil, tool: String.t(), version: String.t() }
Functions
Builds a manifest struct from normalized options.
Reads a typed manifest from ETF.
Validates a typed manifest contract.
Writes a manifest as ETF.