Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Spring Data Apache Geode #14

Closed
nebhale opened this issue May 10, 2020 · 5 comments
Closed

Support Spring Data Apache Geode #14

nebhale opened this issue May 10, 2020 · 5 comments
Assignees

Comments

@nebhale
Copy link
Member

nebhale commented May 10, 2020

Add Spring Data Apache Geode support.

@ekcasey ekcasey self-assigned this Jun 25, 2020
@nebhale
Copy link
Member Author

nebhale commented Jul 1, 2020

No work needs to be done.

@nebhale nebhale closed this as completed Jul 1, 2020
@jxblum
Copy link

jxblum commented Jul 31, 2020

@nebhale + @ekcasey - I'd be curious to learn more about what led to "No work needs to be done."

Specifically, what has or has not be technically done or what (e.g. SDG, or SBDG) is handling this concern for SC bindings?

@ekcasey and I spoke awhile back but curious what our discussion and her further findings led to after we talked.

Thanks,
@jxblum

@ekcasey
Copy link
Contributor

ekcasey commented Aug 3, 2020

Hey @jxblum!

SBDG currently uses the flattened version of VCAP_SERVICES and spring-cloud-bindings registers a kubernetesServiceBindingFlattened PropertySource that always provides the flattened bindings. Therefore the level of support is analogous to what is currently required by SBDG without requiring additional work. The one caveat is that the service bindings generated by PCC include nested data that can't be represented in the new binding format.

Happy to chat more

@jxblum
Copy link

jxblum commented Aug 4, 2020

Hi @ekcasey - Thank you for your response.

Just a quick followup... Is this "kubernetesServiceBindingFlattened" PropertySource named as such?

Currently, inside SBDG, when I construct a helper object (i.e. VcapPropertySource instance) from the Environment, I am expecting (this) there to be a specifically named PropertySource called "vcap".

The "vcap" PropertySource is then further validated to contain specific properties (specifically, using a pre-constructed/determined Predicate), which expects the "vcap.application.name" and "vcap.application.uris" properties to exist.

I gather that we are essentially letting Spring Boot's existing CloudFoundryVcapPostProcessor do its work then? Even inside a Kubernetes environment?

@ekcasey
Copy link
Contributor

ekcasey commented Aug 17, 2020

Just a quick followup... Is this "kubernetesServiceBindingFlattened" PropertySource named as such?

Yes!

Currently, inside SBDG, when I construct a helper object (i.e. VcapPropertySource instance) from the Environment, I am expecting (this) there to be a specifically named PropertySource called "vcap".

To integrate with Spring Cloud Bindings, SBDG will likely need to look for the new kubernetesServiceBindingFlattened property source.

I gather that we are essentially letting Spring Boot's existing CloudFoundryVcapPostProcessor do its work then? Even inside a Kubernetes environment?

This library works with credentials provided in the format specified in https://github.com/k8s-service-bindings/spec, or https://github.com/buildpacks/spec/blob/main/extensions/bindings.md (the latter will eventually be removed in favor of the former spec). In general, Spring Cloud Bindings are not CF-specific and therefore we make no assumptions about whether CloudFoundryVcapPostProcessor runs. TAS on k8s may or may not continue to set and use VCAP_SERVICES or VCAP_APPLICATION. I assume that, if service credentials are provided in VCAP_SERVICES, this would be a temporary solution for compatibility before migrating to the new specification, but I don't actually know what the plan is there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants