-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Kyma module as OCM component #1587
Labels
decision
Architecture decision record
Comments
7 tasks
an example:
|
lgtm |
6 tasks
This was referenced Jul 8, 2024
2 tasks
2 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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:
Each Kyma module will be defined as an OCM component. This involves specifying several required and optional OCM resources for each module.
Naming convention
Prefix each module with
kyma-project.io/module/
followed by the module's short name to comply with the OCM component naming pattern.OCM Resources Definition
The following table describes the required and optional resources for each Kyma module:
[Required]
the module Default CR, provided by module team in github release as assets, e.g: in this keda-manager release, it's keda-default-cr.yaml[Required]
the module resources, provided by module team in github release as assets, e.g: in this keda-manager release, it's keda-manager.yaml[required]
All module images, including those managed by the module, each image is a dedicated ociArtifact resource[optional]
for those managed module which have managed resources, provided by module team in github release as assets, this content will be the source of truth for providing theassociatedResources
field in module configuration, check an example for keda module here[optional]
to be compatible with ocm-controller, we provided this additional localizationConfigData
resource for localization purposes, for the detailed usage, check the ocm-controller documentKyma Module Deployment resources
To ensure the Kyma Lifecycle Manager (KLM) can replace localized module images during deployment, all required images must be listed in the Module Operator Deployment Kubernetes resource. Images are categorized into two groups:
Deployment
as container images.Deployment
as a dedicated container env value.All images must be published and signed in the central image registry:
europe-docker.pkg.dev/kyma-project/prod
Consequences:
Adopting this approach will streamline the deployment process, enhance consistency across different environments, and provide a clear structure for managing module resources. It will also support localization needs and integration with KLM or existing OCM tools.
The text was updated successfully, but these errors were encountered: