Display and Examine Component Versions
List Component Versions
To show the list of all component versions of a specific component stored in an OCM repository or CTF archive (which technically is also an OCM repository), the
ocm get component-version command can be used. Only specify the component name and skip the version.
In the example below, we use the OCM component ocm.software/toi/demo/helmdemo from the OCM repository ghcr.io/open-component-model/ocm.
Notice the format of the specified component, which has a prefix defining the OCM repository followed by a double slash // and then the component name.
ocm get cv ghcr.io/open-component-model/ocm//ocm.software/toi/demo/helmdemo COMPONENT │ VERSION │ PROVIDER
────────────────────────────────┼─────────────┼──────────────
ocm.software/toi/demo/helmdemo │ 0.21.0 │ ocm.software
│ 0.21.0-rc.1 │
│ 0.20.1 │
│ 0.20.1-rc.1 │
│ 0.20.0 │
│ 0.20.0-rc.1 │
│ 0.19.1 │
...Get Component Versions
To see just a specific component version, add a version to the component name:
ocm get cv ghcr.io/open-component-model/ocm//ocm.software/toi/demo/helmdemo:0.21.0 COMPONENT │ VERSION │ PROVIDER
────────────────────────────────┼─────────┼──────────────
ocm.software/toi/demo/helmdemo │ 0.21.0 │ ocm.softwareTo get the component descriptor of that component version, use the output format option -o yaml (the output below has been shortened for better readability, digests have been removed and only the image and chart resources are listed).
ocm get cv ghcr.io/open-component-model/ocm//ocm.software/toi/demo/helmdemo:0.21.0 -o yamlcomponent:
componentReferences:
- componentName: ocm.software/toi/installers/helminstaller
digest:
...
name: installer
version: 0.21.0
creationTime: "2025-03-06T07:37:08Z"
name: ocm.software/toi/demo/helmdemo
provider: ocm.software
repositoryContexts:
- baseUrl: ghcr.io
componentNameMapping: urlPath
subPath: open-component-model/ocm
type: OCIRegistry
resources:
...
- access:
imageReference: ghcr.io/open-component-model/ocm/google-containers/echoserver:1.10@sha256:cb5c1bddd1b5665e1867a7fa1b5fa843a47ee433bbb75d4293888b71def53229
type: ociArtifact
digest:
...
name: image
relation: external
type: ociImage
version: "1.0"
- access:
imageReference: ghcr.io/open-component-model/ocm/ocm.software/toi/demo/helmdemo/echoserver:0.1.0@sha256:8ab41f82c9a28535f1add8ffbcd6d625a19ece63c4e921f9c8358820019d1ec2
type: ociArtifact
digest:
...
name: chart
relation: local
type: helmChart
version: 0.21.0
...In the example above, ghcr.io/open-component-model/ocm is the OCM repository, whereas ocm.software/toi/demo/helmdemo is the component stored in this component repository and 0.21.0 the component’s version.
Under Construction
The --recursive option is currently implemented from scratch and not available yet. Stay tuned for updates!
With the option --recursive, it is possible to show the complete component version, including the component versions it references.
ocm get cv ghcr.io/open-component-model/ocm//ocm.software/toi/demo/helmdemo:0.21.0 --recursive REFERENCEPATH COMPONENT VERSION PROVIDER IDENTITY
ocm.software/toi/demo/helmdemo 0.21.0 ocm.software
ocm.software/toi/demo/helmdemo:0.21.0 ocm.software/toi/installers/helminstaller 0.21.0 ocm.software "name"="installer"Under Construction
The -o tree option is currently implemented from scratch and not available yet. Stay tuned for updates!
To get a tree view, add the option -o tree:
ocm get cv ghcr.io/open-component-model/ocm//ocm.software/toi/demo/helmdemo:0.21.0 --recursive -o tree NESTING COMPONENT VERSION PROVIDER IDENTITY
└─ ⊗ ocm.software/toi/demo/helmdemo 0.21.0 ocm.software
└─ ocm.software/toi/installers/helminstaller 0.21.0 ocm.software "name"="installer"As mentioned before, a CTF archive itself is an OCM repository, so we can execute the same commands on a CTF archive. So, let’s get the information about the component github.com/acme.org/helloworld we created in the previous step and that we stored in the CTF archive /tmp/helloworld/ctf-hello-world:
ocm get cv /tmp/helloworld/transport-archive//github.com/acme.org/helloworld:1.0.0 COMPONENT │ VERSION │ PROVIDER
────────────────────────────────┼─────────┼──────────
github.com/acme.org/helloworld │ 1.0.0 │ acme.orgList Resources of a Component Version
Under Construction
Listing resources and sources most likely will become part of the ocm get cv command and become an additional option. Stay tuned for updates!
To list the resources found in a component version tree, the command
ocm get resources can be used:
ocm get resources ghcr.io/open-component-model/ocm//ocm.software/toi/demo/helmdemo:0.12.0 --recursive -o treeCOMPONENT NAME VERSION IDENTITY TYPE RELATION
└─ ocm.software/toi/demo/helmdemo 0.21.0
├─ chart 0.21.0 helmChart local
├─ config-example 0.21.0 yaml local
├─ creds-example 0.21.0 yaml local
├─ image 1.0 ociImage external
├─ package 0.21.0 toiPackage local
└─ ocm.software/toi/installers/helminstaller installer 0.21.0
├─ toiexecutor 0.21.0 toiExecutor local
└─ toiimage 0.21.0 ociImage local