CoffeeNet currently utilizes Eureka to discover CoffeeNet applications in the eco-system and also decide, which applications CoffeeNet users can access. This approach has several short-comings:
Coupling of applications discovery to a specific service-discovery mechanism
Not flexible the way it is done, solely relying on global roles for what applications are accessible
Eureka-specific, therefore not allowing for different approaches to propagating service discovery (like K8S, AMQP, etc.)
Eureka and the Netflix stack in general becoming slowly deprecated on Spring Boot
Health of applications bound to the health of the discovery service
Proposal:
Create API for CoffeeNet application discovery in a new service
don't reuse the coffeenet-discovery project, it is something different
authenticated API, returning registered applications for the user
support multiple mechanisms for actual application discovery
K8S API
AMQP
OIDC scopes
etc.
support more fine-grained mechanism for application accessability decision
Application-level RBAC
ABAC
etc.
Migrate the user facing parts of the application discovery (coffeenet-navigationbar) to query the service instead of being populated by Eureka
CoffeeNet currently utilizes Eureka to discover CoffeeNet applications in the eco-system and also decide, which applications CoffeeNet users can access. This approach has several short-comings:
Proposal:
coffeenet-discovery
project, it is something differentcoffeenet-navigationbar
) to query the service instead of being populated by Eurekacoffeenet-discovery