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

[Module Catalog] Support internal and beta flags for updated module metadata #2059

Closed
6 tasks done
c-pius opened this issue Nov 25, 2024 · 10 comments · Fixed by #2097, #2111 or #2134
Closed
6 tasks done

[Module Catalog] Support internal and beta flags for updated module metadata #2059

c-pius opened this issue Nov 25, 2024 · 10 comments · Fixed by #2097, #2111 or #2134
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature.

Comments

@c-pius
Copy link
Contributor

c-pius commented Nov 25, 2024

Description

Current ModuleTemplates support operator.kyma-project.io/internal, operator.kyma-project.io/beta, and operator.kyma-project.io/sync flags (see also docs).

With our change to the split setup with ModuleTemplates and ModuleReleaseMeta, this doesn't cover the full story anymore. E.g., if a beta ModuleTemplate is synced to a beta SKR, how can it be enabled? Right now, we would need to reference it in a ModuleReleaseMeta which is synced to all clusters, not only beta ones.

The simple idea is to also introduce beta and internal flags to ModuleReleaseMeta.spec. Dashboard and CLI should then only display those modules depending on the presence of the same flags in the KymaCR.

In addition, we introduce spec.internal and spec.beta on the ModuleReleaseMeta level with the same behavior as for ModuleTemplate.

Reasons

Right now we have undefined behavior / an incomplete story for that case.

Acceptance Criteria

  • Given ModuleReleaseMeta with .spec.internal
    • only sync ModuleReleaseMeta to SKRs where KymaCR is marked with operator.kyma-project.io/internal
    • only sync ModuleTemplates of the same module to SKRs where KymaCR is marked with operator.kyma-project.io/internal
  • Given ModuleReleaseMeta with .spec.beta
    • only sync ModuleReleaseMeta to SKRs where KymaCR is marked with operator.kyma-project.io/beta
    • only sync ModuleTemplates of the same module to SKRs where KymaCR is marked with operator.kyma-project.io/beta

Feature Testing

No response

Testing approach

No response

Attachments

No response

@c-pius c-pius added the kind/feature Categorizes issue or PR as related to a new feature. label Nov 25, 2024
@lindnerby lindnerby changed the title [Module Catalog] Support internal, beta and sync flags for updated module metadata [Module Catalog] Support internal and beta flags updated module metadata Dec 4, 2024
@lindnerby lindnerby changed the title [Module Catalog] Support internal and beta flags updated module metadata [Module Catalog] Support internal and beta flags for updated module metadata Dec 4, 2024
@c-pius
Copy link
Contributor Author

c-pius commented Dec 4, 2024

@mrCherry97 we are planning to move the internal / beta flags to the .spec of the new ModuleReleaseMeta resource. When true, the ModuleReleaseMeta and related ModuleTemplates will only be synced to those SKRs where the same is true. Does that work for you or any concerns?

@mrCherry97
Copy link

hi @c-pius
thanks for the ping about the changes!
To get it clear, if a module has the beta flag, then the user will be able to use that module only on clusters that are also set to beta? In my opinion, it doesn't make a big difference. We just need to adjust our functionality because we are taking this info from annotations to display warnings about SLA, etc. for beta modules.

@c-pius
Copy link
Contributor Author

c-pius commented Dec 5, 2024

Yes exactly. The current behavior doesn't change. It is just that the indicator whether a module is in beta moves from the ModuleTemplate to the ModuleReleaseMeta.

@mrCherry97
Copy link

Okay, so it's fine for us, I made an issue to adjust this changes in Busola after your merge.

@c-pius
Copy link
Contributor Author

c-pius commented Dec 11, 2024

Re-opening to address the additional topic of preventing installations of unsynced modules.

@mrCherry97
Copy link

Hi @c-pius, are these changes released on DEV? I reopened an issue for us to adjust the Add Modules view, and I'm wondering if we can pick it up in the oncoming days. Thanks in advance!

@c-pius
Copy link
Contributor Author

c-pius commented Dec 11, 2024

Hey, no, not yet. Regular plan would be Friday Monday actually. Does that work for you or do you prefer to get it earlier?

@mrCherry97
Copy link

yes, that sounds good, thanks!

@c-pius
Copy link
Contributor Author

c-pius commented Dec 16, 2024

@mrCherry97 the change is on DEV now. In case you are playing around with beta/internal on the ModuleReleaseMeta, it takes about 5 mins to sync that to the SKR. We are working on speeding that up :)

@c-pius
Copy link
Contributor Author

c-pius commented Dec 17, 2024

Not possible to verify on STAGE as we don't have ModuleReleaseMetas there yet. But can confirm that on DEV the sync works as expected, and when trying to enable a not synced module we get:

  - channel: regular                                                                 │
│     fqdn: kyma-project.io/module/template-operator                                   │
│     message: 'module template not allowed: module is beta or internal'               │
│     name: template-operator                                                          │
│     state: Error          

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment