Closed tcdowney closed 2 years ago
@akrishna90 I'm trying to think back to an earlier conversation we had a few weeks ago. In the case of K8s ServiceBinding
s did you recommend we set provider
to user-provided
?
If we do it then any concrete implementation of the Service Binding spec would override provider
value that is set on the secret. It doesn't do any harm to set it on the binding as I don't see other implementations depending on that value. It makes our code simpler while filtering for user-provided service bindings.
I am saying this keeping in mind that type
value on the binding/secret has an impact on how it is used later - https://github.com/spring-cloud/spring-cloud-bindings
IIRC, Isn't the type
also user-provided
?
Thanks @akrishna90 for the additional context. 🙂 I added type
as well.
I updated the spec.workload
section to directly reference the StatefulSets
that Eirini will be producing with some flexibility around whether or not we refer to them by name or by an app-guid
label selector. I think the label selector approach sounds appealing, but I'm wondering if there are any security concerns there around someone labeling other StatefulSets with a different app's GUID. 🤔 Might not be an issue since this all exists in the same namespace anyway and presumably they could get access in other ways by just volume mounting those binding secrets directly themselves. (cc @akrishna90 @julian-hj )
Also, I recognize that targeting the StatefulSet
directly will break some encapsulation around what Eirini (or other future runtimes) are doing under the hood, but it feels like something the can iterate on over time. In the future if we have a different intermediate resource than the Eirini LRP we could point at that directly. Even if it's not Pod-specable we could use ClusterWorkloadResourceMapping
resource to tell a Service Binding reconciler how to manipulate it. (cc @matt-royal about the future runtimes thoughts)
Blockers/Dependencies
Background
As an App Developer I want there to be K8s
ServiceBinding
s for anyCFServiceBinding
s I create So that I can interoperate with the larger K8s services ecosystemAcceptance Criteria
GIVEN I have a applied a
CFServiceBinding
to my cluster WHEN Ikubectl get servicebindings -n NAMESPACE_NAME
THEN I see an instance of a K8sServiceBinding
associated with theCFServiceBinding
I createdDev Notes
ownerReferences
/status
/labels
cf-binding-
like we are in https://github.com/cloudfoundry/cf-k8s-controllers/issues/724Resources:
ServiceBindings
portion of the K8s Service Bindings Spec: https://github.com/servicebinding/spec#service-binding