To ensure efficient deployment of all Kyma Control Plane (KCP) components and Kyma modules across multiple KCP landscapes, we will adopt the Open Component Model (OCM) as the standard for describing these components. This standardization will facilitate consistent delivery and management of software bills of delivery (SBOD) for KCP components.
Decision:
All KCP components and Kyma modules will be represented and published as OCM components, which can be referenced using an aggregated OCM component.
OCM components:
OCM component name
Definition
kyma-project.io/kcp
Represents a deliverable SBOD that references all KCP components and Kyma modules.
Channel as OCM extra Identity to Kyma Module OCM component
For Kyma modules released in specific channels, an extra identity channel will be introduced, containing the expected channel as its value.
Example
In the following example, it has kyma-project.io/kcp with version 1.6.0 published in OCI registry ghcr.io/ruanxin/kcp-source. It includes various Kyma modules and KCP components(not a complete list).
kyma-project.io/module/istio is released in both fast and regular channels with version 1.6.0
kyma-project.io/module/istio also released with version 1.5.0 which allow users to choose additionally besides subscribing to a specific channel.
kyma-project.io/module/btp is released version 1.1.8 in fast and 1.1.7 in regular channel
It contains KCP component kyma-project.io/kcp/klm, kyma-project.io/kcp/kyma-environment-broker
Created on 2024-05-28 by Xin Ruan (@ruanxin)
Decision log
Context
To ensure efficient deployment of all Kyma Control Plane (KCP) components and Kyma modules across multiple KCP landscapes, we will adopt the Open Component Model (OCM) as the standard for describing these components. This standardization will facilitate consistent delivery and management of software bills of delivery (SBOD) for KCP components.
Decision:
All KCP components and Kyma modules will be represented and published as OCM components, which can be referenced using an aggregated OCM component.
OCM components:
kyma-project.io/kcp
kyma-project.io/module/*
*
means Kyma module short name), the detailed definition can be found in this decision record https://github.com/kyma-project/lifecycle-manager/issues/1587kyma-project.io/kcp/*
kyma-project.io/kcp/klm
, the detailed definition can be found in this decision record https://github.com/kyma-project/lifecycle-manager/issues/1605Channel as OCM extra Identity to Kyma Module OCM component
For Kyma modules released in specific channels, an extra identity
channel
will be introduced, containing the expected channel as its value.Example
In the following example, it has
kyma-project.io/kcp
with version1.6.0
published in OCI registryghcr.io/ruanxin/kcp-source
. It includes various Kyma modules and KCP components(not a complete list).kyma-project.io/module/istio
is released in bothfast
andregular
channels with version1.6.0
kyma-project.io/module/istio
also released with version1.5.0
which allow users to choose additionally besides subscribing to a specific channel.kyma-project.io/module/btp
is released version1.1.8
infast
and1.1.7
inregular
channelkyma-project.io/kcp/klm
,kyma-project.io/kcp/kyma-environment-broker
Consequences: