Gateway
As already mentioned in Architecture#Schema Stitching, the gateway relies heavily on @graphql-tools/stitch, and most of the gateway code is defined in packages/gateway/src.
The list of services including development/fallback listening ports of the services are defined in packages/services/list.ts
The gateway expects the following environment variables that point to the services, and if they are not found, the gateway fallbacks to the services list ports in localhost:
- Users: USERS_URL | Fallback to
http://127.0.0.1:3002/graphql - Actions: ACTIONS_URL | Fallback to
http://127.0.0.1:3003/graphql - Content: CONTENT_URL | Fallback to
http://127.0.0.1:3004/graphql - Domain: DOMAIN_URL | Fallback to
http://127.0.0.1:3005/graphql - Projects: PROJECTS_URL | Fallback to
http://127.0.0.1:3006/graphql - State: STATE_URL | Fallback to
http://127.0.0.1:3007/graphql
The target service url should have the http protocol, GraphQL pathname, host and port if its different than 80 for http or 443 for https, for example: http://127.0.0.1:8080/graphql or https://domain.learner-model-gql.com/graphql.