Commit Graph

85 Commits

Author SHA1 Message Date
Emily Casey
5be10f2702 Reads authentication method from secret/method
Previously we used provider

Signed-off-by: Emily Casey <ecasey@vmware.com>
2020-06-23 10:44:29 -04:00
Emily Casey
02c0c59d4b Supports Spring Cloud Vault
Adds support for the following authentication types
* APPROLE
* CERT
* CUBBYHOLE
* TOKEN

See
https://cloud.spring.io/spring-cloud-vault/reference/html/#vault.config.authentication
for more details about these authentication methods.

Signed-off-by: Emily Casey <ecasey@pivotal.io>
2020-06-19 18:11:40 -04:00
E Casey
706fa705d7 Merge pull request #46 from spring-cloud/feature/35-spring-security-oauth2
Adds support for Spring Security OAuth2
2020-06-19 17:26:12 -04:00
Emily Casey
c2a550e916 Adds support for Spring Security OAuth2
Autoconfigures spring.security.oauth2.* application properties. The name of the binding will become the name of the client. The name of the provider will be taken from metadata/provider.

Resolves #35

Signed-off-by: Emily Casey <ecasey@pivotal.io>
2020-06-19 12:33:37 -04:00
E Casey
d0caf31ab4 Merge pull request #44 from spring-cloud/docs/34-extension-via-factory
Documents extension via custom factory
2020-06-04 17:22:12 -04:00
Emily Casey
b254d7e518 Documents extention via custom factory
Describes how to add support for additional service types and provides
a simple example.

Resolves #34

Signed-off-by: Emily Casey <ecasey@pivotal.io>
2020-06-04 17:05:55 -04:00
E Casey
e72179cdeb Merge pull request #45 from spring-cloud/feature/12-ldap
Adds support for spring-ldap
2020-06-02 19:07:02 -04:00
Emily Casey
2b45fffefd Adds support for spring-ldap
Resolves #12

Signed-off-by: Emily Casey <ecasey@pivotal.io>
2020-06-02 19:06:12 -04:00
E Casey
3296874ce3 Merge pull request #43 from spring-cloud/feature/26-scs-config-server
Adds Spring Cloud Config Server support
2020-06-02 14:24:15 -04:00
Emily Casey
e6fbccfc31 Alphabetize factories
Signed-off-by: Emily Casey <ecasey@pivotal.io>
2020-06-02 14:23:16 -04:00
Emily Casey
923c2abacc Alphabetize bindings. Makes clear that config/eureka properties are specific to SCS
Signed-off-by: Emily Casey <ecasey@pivotal.io>
2020-06-02 14:20:12 -04:00
Emily Casey
bbda2549f1 Adds support for SCS config server
Adds support for Spring Cloud Services Config Server. Bindings must have kind config.

Signed-off-by: Emily Casey <ecasey@pivotal.io>
2020-06-02 14:20:12 -04:00
E Casey
a1c171e2aa Merge pull request #41 from spring-cloud/feature/13-support-r2dbc
Support r2dbc
2020-06-02 14:18:37 -04:00
E Casey
2db38648d4 Merge pull request #42 from spring-cloud/feature/40-k8s-style-bindings
Handles k8s style bindings
2020-06-02 14:18:05 -04:00
Emily Casey
cf71d08515 Documents r2dbc properties in README
Signed-off-by: Emily Casey <ecasey@pivotal.io>
2020-06-01 18:19:10 -04:00
Emily Casey
32c9629e09 Handles k8s style bindings
When a binding is provided as a mounted ConfigMap/Secret pair (containing
metadata and secret values respectively) the files within the metadata and
secret directories will be symlinks to files in a colocated hidden directory
that contains the content. In order to handle bindings presented in this
format a Binding object will ignore hidden files and directories when it is
contructed using a path. This prevents errors that previously occured
when the Binding assumed all metadata and secret entries were regular files, and
attempted to read the content of those directories directly.

Resolves #40

Signed-off-by: Emily Casey <ecasey@pivotal.io>
2020-05-29 11:52:05 -04:00
Emily Casey
704a9d38a6 Handles k8s style bindings
When a binding is provided as a mounted ConfigMap/Secret pair (containing
metadata and secret values respectively) the files within the metadata and
secret directories will be symlinks to files in a colocated hidden directory
that contains the content. In order to handle bindings presented in this
format a Binding object will ignore hidden files and directories when it is
contructed using a path. This prevents errors that previously occured
when the Binding assumed all metadata and secret entries were regular files, and
attempted to read the content of those directories directly.

Resolves #40

Signed-off-by: Emily Casey <ecasey@pivotal.io>
2020-05-29 11:47:36 -04:00
Emily Casey
8595e847a3 Support r2dbc
Adds r2dbc properties for mysql, postgres, sqlserver, oracle, and db2
bindings. This allow bindings to be used with reactive drivers.

Signed-off-by: Emily Casey <ecasey@pivotal.io>
2020-05-28 18:25:29 -04:00
E Casey
05596d901e Merge pull request #39 from spring-cloud/27-eureka
Eureka Support
2020-05-20 19:27:36 -04:00
Emily Casey
44cb4a1f19 Eureka Support
[resolves #27]

Adds initial eureka client support.

Signed-off-by: Emily Casey <ecasey@pivotal.io>
2020-05-18 09:49:55 -04:00
Ben Hale
6163be2aa7 ApplicationEventListeners
Previously, the implementations of the EnvironmentPostProcessors added
ApplicationEventListener to their interface as well.  These implementations
tested fine, but of course since there was no full integration test to ensure
that they were registered I forgot to add them to spring.factories.

This change adds their declarations as ApplicationEventListeners to the
spring.factories file and ensures that the logs are replayed when the
application is finished preparing.

Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-15 17:27:58 -07:00
E Casey
ade8797e09 Merge pull request #38 from spring-cloud/37-wavefront
Wavefront Support
2020-05-15 16:53:20 -04:00
Emily Casey
f68c71cab1 fix kafka kind
Signed-off-by: Emily Casey <ecasey@pivotal.io>
2020-05-15 16:50:39 -04:00
Emily Casey
3193bd9acf Wavefront Support
[resolves #37]

Also fixes failure when there is no provider in the binding metadata.

Signed-off-by: Emily Casey <ecasey@pivotal.io>
2020-05-15 16:32:39 -04:00
Ben Hale
815d7de222 Deferred Logging
Previously the logging put out by the library happened synchronously with the
code executing.  Because this library typically runs so early in the Spring
Boot lifecycle that logging isn't yet configured, it needs to defer that
logging until later.

This change converts the library to use Boot's DeferredLogger and listen for
an ApplicationPrepared event before logging out its messages.

Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-15 12:47:35 -07:00
Ben Hale
03f17f2bd6 Polishing
Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-13 07:24:59 -07:00
Ben Hale
3a208c6015 Merge branch '36-unused-class'
Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-12 08:08:25 -07:00
Ben Hale
0c6035082d Unused Class
This change removes an extraneous unused class

[resolves #36]

Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-12 08:08:01 -07:00
Ben Hale
587db5ccc8 Merge branch '22-kafka'
Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-12 08:06:38 -07:00
Ben Hale
6885bcbd24 Kafka Support
[resolves #22]

Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-12 08:06:28 -07:00
Ben Hale
4c2846d75c Merge branch '21-rabbitmq'
Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-12 06:25:45 -07:00
Ben Hale
4e47c3f59b RabbitMQ Support
[resolves #21]

Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-12 06:25:37 -07:00
Ben Hale
5488de454e Merge branch '20-neo4j'
Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-11 16:57:25 -07:00
Ben Hale
e15d0a1b61 Neo4J
This change contributes Neo4J support.

[resolves #20]

Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-11 16:57:02 -07:00
Ben Hale
2a8b156302 Merge branch '18-elastic-search'
Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-11 16:42:37 -07:00
Ben Hale
9f99fbc8fb Elasticsearch
This change adds support for Elasticsearch bindings.

[resolves #18]

Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-11 16:42:14 -07:00
Ben Hale
831d7616f6 Polishing
Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-11 16:23:34 -07:00
Ben Hale
d9d1ea0840 Merge branch '17-couchbase'
Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-11 16:20:49 -07:00
Ben Hale
05f5e5a34f Couchbase Support
This change adds support for auto-configuring Couchbase.

[resolves #17]

Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-11 16:20:29 -07:00
Ben Hale
23d0c97307 Merge branch '7-redis-binding'
Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-11 16:06:38 -07:00
Ben Hale
2b4b1da636 Redis Binding
This change expands the Redis bindings to handle more properties.

[resolves #7]

Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-11 16:06:18 -07:00
Ben Hale
888b855f78 Merge branch '6-mongodb-binding'
Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-11 15:46:33 -07:00
Ben Hale
0416df43f7 MongoDB Binding
This change expands the MongoDB bindings to handle more properties.

[resolves #6]

Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-11 15:46:18 -07:00
Ben Hale
c864bbaaed Improve Property Mapping API
Previously the PutIfPresent API was a clunky way of only setting a property in
the PropertySource if the corresponding entry from the binding existed.  It
was pointed out in #31 that there are better APIs for doing this same thing.
Unfortunately the suggestion in that issue wasn't suitable (it was built for
beans not maps), but it did inspire a better API that was suited to maps.
This change implements that new API.

Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-11 15:33:47 -07:00
Ben Hale
e3384e82f6 Merge branch '30-guards-use-environment'
Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-11 14:26:55 -07:00
Ben Hale
a33dcf034b Guards Should Use Environment
Previously all of the guard behavior was triggered by the contents of
environment variables.  In a Spring Boot application, looking at the
environment isn't the only way to get configuration.  This change updates the
guards to use the Environment for configuration retrieval.

[resolves #30]

Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-11 14:24:41 -07:00
Ben Hale
3ba8b42ce4 Merge branch '32-missing-factory'
Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-11 13:48:49 -07:00
Ben Hale
ebdec5dcc3 Add BindingFlattenedEnvironmentPostProcessor to Spring Factories
This was missed during the implementation.  The broader integration test that
should have caught this will come in #33.

[resolves #32]

Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-11 13:43:58 -07:00
Ben Hale
5df8fd2cd9 Merge branch '5-cassandra-binding'
Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-11 11:56:03 -07:00
Ben Hale
c9091503ef Expand Cassandra Bindings
This change expands the Cassandra bindings to handle more properties.

[resolves #5]

Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-11 11:55:54 -07:00