api icon indicating copy to clipboard operation
api copied to clipboard

Validation code incorrectly issues warning for deprecated apis referenced in RBAC

Open JoaoBraveCoding opened this issue 1 year ago • 1 comments

The validation code is preforming validation for deprecated APIs that are used in the RBAC rules of a CSV. However, since rules don't have the concept of version the validation code is simply checking if the group and resource are being used in an RBAC and issuing a warning. This results in a warning that it's not correct and may lead developers to incorrectly update their RBAC.

Example: In the loki-operator in our CSV we have RBAC for that allows our operator to create poddisruptionbudgets. This results in the operator-sdk issuing the following warning, even thought our operator is using the latest versions of these APIs.

WARN[0000] Warning: Value loki-operator.v0.7.1: this bundle is using APIs which were deprecated and removed in v1.25. More info: https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-25. Migrate the API(s) for poddisruptionbudgets: (["ClusterServiceVersion.Spec.InstallStrategy.StrategySpec.ClusterPermissions[0].Rules[14]"]) 

My proposal would be to either:

  1. Remove from deprecatedGroupResource all instances of resources where only their v1alpha1 or v1beta1 versions were deprecated, these lists should only contain resources that were actually removed/deprecated.
  2. Update the warning message so at least informs developers that this warning might be a false positive but they should regardless validate if their operator is using the latest version of these APIs

JoaoBraveCoding avatar Nov 27 '24 12:11 JoaoBraveCoding

Issues go stale after 90 days of inactivity. If there is no further activity, the issue will be closed in another 30 days.

github-actions[bot] avatar May 28 '25 01:05 github-actions[bot]