Upstream code:
https://github.com/cap-js/cap-operator-plugin/blob/v0.14.0/lib/util.js#L252-L271 - writeCAPApplicationCRO() generates the CAPApplication metadata. No reference to sme.sap.com/enable-cleanup-monitoring exists anywhere in the repo.
Problem:
The plugin does not generate the sme.sap.com/enable-cleanup-monitoring: "true" annotation on the CAPApplication resource. Without it, old CAPApplicationVersion resources accumulate indefinitely after each Helm upgrade/ArgoCD sync. Each stale version spawns its own set of workloads, causing duplicate pods, resource waste, and potential routing conflicts.
The CAP Operator already supports this annotation and will automatically delete old CAPApplicationVersion resources no longer serving any tenants.
Expected behavior:
Add sme.sap.com/enable-cleanup-monitoring: "true" as a default annotation on the CAPApplication resource, or provide a configuration option. The annotation is inert until Prometheus is configured on the operator side, so enabling it by default is safe.
Severity:
Medium - stale CAPApplicationVersions accumulate over time.
Upstream code:
https://github.com/cap-js/cap-operator-plugin/blob/v0.14.0/lib/util.js#L252-L271 -
writeCAPApplicationCRO()generates the CAPApplication metadata. No reference tosme.sap.com/enable-cleanup-monitoringexists anywhere in the repo.Problem:
The plugin does not generate the
sme.sap.com/enable-cleanup-monitoring: "true"annotation on the CAPApplication resource. Without it, old CAPApplicationVersion resources accumulate indefinitely after each Helm upgrade/ArgoCD sync. Each stale version spawns its own set of workloads, causing duplicate pods, resource waste, and potential routing conflicts.The CAP Operator already supports this annotation and will automatically delete old CAPApplicationVersion resources no longer serving any tenants.
Expected behavior:
Add
sme.sap.com/enable-cleanup-monitoring: "true"as a default annotation on the CAPApplication resource, or provide a configuration option. The annotation is inert until Prometheus is configured on the operator side, so enabling it by default is safe.Severity:
Medium - stale CAPApplicationVersions accumulate over time.