Skip to main content

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, can be omitted
graphql_route: /graphql # default, can be omitted
subgraph_http_request_timeout: 30s # default, can be omitted
pass_through_url: http://api-service:80

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.