Open
Description
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:
- Remove from
deprecatedGroupResource
all instances of resources where only theirv1alpha1
orv1beta1
versions were deprecated, these lists should only contain resources that were actually removed/deprecated. - 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