-
Story
-
Resolution: Done
-
Blocker
-
None
-
None
-
None
-
5
-
False
-
False
-
Undefined
-
-
AppSvc Sprint 196, AppSvc Sprint 197
TL;DR: ServiceBinding API group needs to be changed - OLM does not
allow operators to define webhooks for API group
'operators.coreos.com' and that is by OLM design.
As a part of the work on APPSVC-46 we
need to define a mutating web hook, so that we can gather
information about requester. Webhooks are also the k8s way to go in
cases when we need to validate our ServiceBindings (we have already a
few issues related to that)
Unfortunately, I have stumbled upon a blocker, and the issue can be
solved only by changing ServiceBinding API group. Currently, it is set
to 'operators.coreos.com' and that group is particularly protected by
OLM, even OpenShift documentation mentions it:
- look for "Admission webhook rules constraints"
- the OLM code ref:
https://github.com/operator-framework/operator-lifecycle-manager/blob/master/pkg/controller/install/webhook.go#L29
As a result, ServiceBinding CSV gets marked as "Failed" and the
operator cannot be installed.
It is a good thing that we still did not reach GA, and our api is
still marked as v1alpha1. Group change can certainly be disruptive for
some, we need to update dev console UI as well, but that is not the
hard part.
The main question is - what should be the new group name? If we want
to stay within coreos.com, we can go with e.g.
'binding.operators.coreos.com', but now is the chance to switch to
something that can last longer/looks better. Do we want to move to a
group under `redhat.com`? Or something completely different? Just
checked and 'servicebinding.dev' domain is available
Anyhow, we need to make the decision quickly, so that we can resume
the work on APPSVC-46 (the feature is a part of GA roadmap)