How OCM Works

The Open Component Model (OCM) helps you securely deliver and deploy your software.

The OCM toolset

  • OCM Format: Allows you to describe your software artifacts and their lifecycle metadata in a consistent, technology-independent way
  • OCM CLI: Provides commands for interacting with OCM elements, helping you create OCM component versions and embed them in CI and CD processes
  • OCM Controllers: Enable automated software deployment using OCM and Flux

How OCM Works

OCM components are the building blocks of OCM. They represent the artifacts of your delivery.

To create a component version, you need two things – a component descriptor file and an OCM repository.

The component descriptor file is a YAML file that contains the following information:

  • Component identity (name and version)
  • Provider information
  • Resources (artifacts like container images, binaries, configuration)
  • Sources (source code repositories, build inputs)
  • References to other component versions
  • Labels and extra identity attributes

After you have created a component descriptor file, you can use the OCM CLI to add a component version to an OCM repository.

OCM repositories are the home of OCM components. An OCM repository can be a repository in an Open Container Initiative (OCI) registry or a Common Transport Format (CTF) archive.

Once your component version is stored in an OCM repository, you can:

OCM use cases

Plugin System

Both the OCM CLI and OCM controllers support a plugin system for extensibility:

ToolPlugin Usage
CLICustom commands, repository types, input methods
ControllersCustom repository backends, credential providers

Learn More