-
Notifications
You must be signed in to change notification settings - Fork 126
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
Split Metric and Lifecycle into two distinct operators #823
Comments
Looking into this I found some questions that we need to address:
|
Sharing CRDs is generally not a best practise I think 😄 In any case I would suggest to keep API groups in one operator and not split them over 2 operators. |
If we can't easily have a shared "CRD", I agree with @mowies. The Providers shall be moved into the metric-operator. The lifecycle-operator should only use |
I think there was a plan for retrieving metrics from that generic endpoint. However, right now we also support KeptnEvaluationDefinitions referring to e.g. Prometheus and Dynatrace EvaluationProviders directly as well (i.e. not only the KeptnMetrics). So the problem is that in the In my opinion, the cleanest approach would be to introduce something like |
Goal
Split the current operator into two separate operators, one for each CRD group.
Technical Details
There are two main reasons why this change is beneficial for end users:
Furthermore, we can restrict the permissions for each operator with more fine granularity.
This split can cause issues during upgrades. In the case the new metric operator is up-and-running while the old single-operator runs, there are two controllers on the same resource that try to write. Bumping the Metric CRD version should suffice to avoid this problem.
General action plan
Acceptance Criteria
DoD
v1alpha2
Tasks
KeptnEvaluationProvider
operator from lifecycle operator #847The text was updated successfully, but these errors were encountered: