Skip to content
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

Modularization API Upgrade #776

Open
7 of 12 tasks
janmedrek opened this issue Aug 2, 2023 · 6 comments
Open
7 of 12 tasks

Modularization API Upgrade #776

janmedrek opened this issue Aug 2, 2023 · 6 comments
Assignees
Labels
API Denotes that an issue is tied to the potential change of the API Epic

Comments

@janmedrek
Copy link
Contributor

janmedrek commented Aug 2, 2023

Description

With the features requested the current API of the modularization components is getting outdated, we need to upgrade it to ensure that we can continue to provide support and new features to our users.

Acceptance Criteria

Reasons

Upgrading the API version of the Lifecycle Manager operator is necessary to ensure that we can continue to provide support and new features to our users. Upgrading the API version will bring many benefits, including better stability, performance, and functionality.

Attachments

@janmedrek janmedrek added Epic API Denotes that an issue is tied to the potential change of the API labels Aug 2, 2023
@janmedrek janmedrek self-assigned this Sep 18, 2023
@kyma-bot
Copy link
Contributor

This issue or PR has been automatically marked as stale due to the lack of recent activity.
Thank you for your contributions.

This bot triages issues and PRs according to the following rules:

  • After 60d of inactivity, lifecycle/stale is applied
  • After 7d of inactivity since lifecycle/stale was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Close this issue or PR with /close

If you think that I work incorrectly, kindly raise an issue with the problem.

/lifecycle stale

@kyma-bot kyma-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 15, 2023
@ruanxin ruanxin removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 15, 2023
@jeremyharisch
Copy link
Contributor

The field kyma.spec.modules[i].controllername is not used and deprecated. It should be fully removed on next API release.

@ruanxin
Copy link
Contributor

ruanxin commented Dec 20, 2023

Change to required

Add

Remove

  • manifest.spec.config
  • kyma.spec.modules[i].controllername

@janmedrek
Copy link
Contributor Author

As the discussions started recently - we should revisit how ModuleTemplates are used:

  • how can we change/simplify ModuleTemplate CRD?
  • is there something we can drop?
  • ModuleTemplates should be used specifically for the KLM, not as a source of information for other components/UI
  • Perhaps we can drop them and use the same stuff as the UI? It would require using some sort of central module registry

@TorstenD-SAP
Copy link

@janmedrek I would not drop the module template at all since it is basically an OCM descriptor. OCM is already part of the North Star Architecture document and will soon be part of the Product Security Standard (there are already discussions ongoing). In addition it will be used in some automation around Vulnerability Management by SGS to identify the owners of container images (an initiative towards that goal is already ongoing). The removal of the corresponding CRD should be no problem.

@janmedrek
Copy link
Contributor Author

We should not use the stored image version migrator as it is not compatible with GKE clusters (and introduces a massive amount of errors).

If the new version involves schema changes and requires custom logic, a conversion webhook should be implemented in KLM.
If there are no schema changes, the default None conversion strategy may be used in the CRD. Then I would just proceed with the "Option 2: Manually upgrade the existing objects to a new stored version" as documented in the K8S docs, i.e. to have a simple script which list all existing related objects and write them with the same content. This forces the backend to write objects in the current storage version. Then moduify the KLM chart to drop the old version in the CRD status.storedVersions (edited)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
API Denotes that an issue is tied to the potential change of the API Epic
Projects
None yet
Development

No branches or pull requests

5 participants