Inigo Gateway
The Inigo gateway provides full observability and controls on all individual subgraphs. Follow the instructions to get up and running.
Get service token
Set up a service and a token by following Getting Started.
Build your docker image
Use Inigo Gateway docker image as a base one to build your own, use example below.
FROM inigohub/gateway
COPY federated.schema.graphql schema.graphql
COPY inigo.gateway.yml config.yml
ENTRYPOINT ["/usr/bin/gateway", "--schema", "schema.graphql", "--config", "config.yml"]
--schema
(optional) - it is a static schema, which is used as a fallback in case if gateway is not connected to Inigo registry or it cannot pick up a schema from there for a particular reason.--config
(optional) - it is a basic gateway configuration, that must be picked up on a startup. See the example of the runtime configuratin below.
Config
listen_port: 80 # default
graphql_route: /graphql # default
subgraph_http_request_timeout: 30s # default
pass_through_url: http://api-service:80
health_check: # default
enable: true
path: /health
headers:
all:
- operation: propagate
named: Authorization
- operation: propagate
named: X-App-Header
open_telemetry:
enabled: true
service_name: inigo-gateway
endpoint: opentelemetry-collector
collect_all: true
insecure: true
Run
$ docker run -d \
-e INIGO_SERVICE_TOKEN="YOUR-INIGO-SERVICE-TOKEN" \
-p 80:80 gateway
Head over to the Configuration documentation to learn more about the available environment variables.