Skip to main content
Releases can include metadata about artifacts (container images), dependencies (required services), and migrations (database schema changes). This metadata is defined in a {service-name}-release.ryvn.yaml file that the Ryvn CLI reads when creating releases.
Unlike other Ryvn resource types (Service, Environment, ServiceInstallation), release metadata files do not use the kind/metadata.name envelope. The file contains only the release content fields (artifacts, dependencies, migrations) and the service and version are inferred from the filename and CLI arguments.

Specify artifacts

Artifacts define the container images associated with a release.
Multiple artifacts:

Specify dependencies

Dependencies specify other services required for this service to function.
Multiple dependencies with optional:
Version constraints support wildcards:
  • 1.2.3 - Exact version
  • 1.2.x - Any patch version of 1.2
  • 1.x.x - Any minor/patch version of 1
  • 0.x.x - Any version in the 0.x series

Specify migrations

Migrations track database schema changes associated with a release. Migrations block (version required, name optional):

Properties

artifacts[].name

string — required Identifier for the artifact (e.g., “api”, “worker”, “migrator”). Must be unique within a release.

artifacts[].image.repository

string — required Full image repository URL including registry path.

artifacts[].image.tag

string — required Image tag, typically the release version.

dependencies[].service

string — required Name of the required service.

dependencies[].minVersion

string — optional Minimum required version. Supports wildcards.

dependencies[].maxVersion

string — optional Maximum allowed version. Supports wildcards.

dependencies[].optional

boolean — required Whether the dependency is optional. Required dependencies block deployment if missing.

migrations[].version

integer — required Migration version number. Must be a non-negative integer.

migrations[].name

string — optional Optional name for the migration (max 120 characters). Provides context about what the migration does.

Examples

Basic service with single artifact:
Service with dependencies:
Multi-artifact service: