In this EPIC we'll create the actual Federated Gateway service. Our Gateway will need to use Apollo Gateway and conform to the Apollo Federation spec.
User Stories
As a developer I should be able to add services to the Gateway via an .env variable.
As a developer I should be able to query through the Gateway endpoint and view federated data from across the reaction node and pricing engine services.
As a developer I need to enforce system level permissions in the Gateway: #4
Acceptance Criteria
Gateway service available that includes Reaction 3.0 API and the Pricing Engine API.
We can query products from the Gateway and see Pricing Engine data included.
Verify system level access control is working.
Consideration
The Gateway services it's self is a pretty small application and most examples show it being used directly with Apollo Server. I think it's worth the effort to create the Gateway using a more common node.js server (express, hapi, koa, etc) and provide Apollo via a middle-ware, this will give us a little more granular control of the server it's self and removes some of the apollo magic.
Create Gateway Service
In this EPIC we'll create the actual Federated Gateway service. Our Gateway will need to use Apollo Gateway and conform to the Apollo Federation spec.
User Stories
.env
variable.Acceptance Criteria
products
from the Gateway and see Pricing Engine data included.Consideration
The Gateway services it's self is a pretty small application and most examples show it being used directly with Apollo Server. I think it's worth the effort to create the Gateway using a more common node.js server (express, hapi, koa, etc) and provide Apollo via a middle-ware, this will give us a little more granular control of the server it's self and removes some of the apollo magic.