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:

Plugin System
Both the OCM CLI and OCM controllers support a plugin system for extensibility:
| Tool | Plugin Usage |
|---|---|
| CLI | Custom commands, repository types, input methods |
| Controllers | Custom repository backends, credential providers |
Learn More
- Discover the benefits of OCM.
- Create your first component version.