Capgemini / spring-boot-capgemini

Apache License 2.0
16 stars 8 forks source link

Apollo Starer #22

Open rhart opened 9 years ago

rhart commented 9 years ago

We should create a starter to make running apps on Apollo (https://github.com/Capgemini/Apollo) easier.

Even though Apollo uses Consul for service discovery, and there is already a Spring-Cloud-Consul, it does too much for Apollo and doesn't look to be being maintained actively.

We don't need to register the app as a service because Apollo already takes care of this using Registrator (https://github.com/gliderlabs/registrator). However, we do need to register a TTL check. We should also register any other health checks that have been defined.

One option might be to extend Spring-Cloud-Consul and override the bits we don't want to happen as there is already lots of useful stuff there. https://github.com/spring-cloud/spring-cloud-consul/blob/master/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulLifecycle.java

andrewharmellaw commented 9 years ago

That would be ludicrously cool. We're planning to move our things over to this so could help out.

wallies commented 9 years ago

This would be very cool. Also if you used consul to retrieve all the property values

rhart commented 9 years ago

spring-cloud-consul already has the property source support https://github.com/spring-cloud/spring-cloud-consul/tree/master/spring-cloud-consul-config

Also planning on adding Consul as a Spring cache impl https://github.com/Capgemini/spring-boot-capgemini/issues/21

My initial thinking is to follow the spring-cloud-cloudfoundry pattern where we provide an integration between Apollo and spring cloud tools. We contribute to projects like spring-cloud-consul but aren't tied to them should we need to do something different, and we will. We may end up integrating with a number of spring cloud projects and even deriving our own.

Any help would be awesome. I just need to finish adding a TTL check into https://github.com/Capgemini/apollo-spring-boot and some quick docs, then I'll sketch out a roadmap and create some issues