Apollo Router
Inigo distributes a custom build of the open-source Apollo Router that includes the Inigo Agent compiled an open-source Rust plugin. This distribution makes it easy to gain all of the observability, security, and Apollo Federation schema management of Inigo when using the open-source Apollo Router. The Inigo distribution of Apollo Router is available as a Docker image.
Note: Existing capabilities of the open-source Apollo Router code are not overridden or disabled by the Inigo Rust plugin. The Apollo Router is configured via input variables to achieve the desired behavior when used with Inigo.
Note: The Inigo distribution of Apollo Router can be freely deployed to your infrastructure per the terms of the Apollo Router Elastic License.
Run Apollo Router in Docker
The simplest way to get started with the Inigo distribution of Apollo Router is to run it locally with docker run
and a locally composed supergraph schema.
Configure the router.yaml
for Apollo Router
Apollo Router requires a YAML configuration to run.
The router.yaml
for use with docker run
:
supergraph:
introspection: true
listen: 0.0.0.0:8080
health_check:
listen: 0.0.0.0:8088
homepage:
enabled: false
sandbox:
enabled: false
include_subgraph_errors:
all: true
headers:
all:
request:
- propagate:
matching: .*
cors:
allow_any_origin: true
origins: []
plugins:
inigo.middleware: {}
Run docker run
for the Inigo distribution of Apollo Router
IMPORTANT: An
INIGO_SERVICE_TOKEN
variable (-e
) must be passed to thedocker run
command.
echo $INIGO_SERVICE_TOKEN
docker run --rm -p 4000:8080 \
-v ${PWD}/router.yaml:/dist/config/router.yaml \
-e APOLLO_ROUTER_CONFIG_PATH=/dist/config/router.yaml \
-e APOLLO_ROUTER_SUPERGRAPH_PATH=/dist/config/supergraph.graphql \
-e INIGO_SERVICE_TOKEN=$INIGO_SERVICE_TOKEN \
--name apollo_router inigohub/inigo_apollo_router:latest