Containerizing the GraphOS Router

Run router images in containers


Apollo provides container images of the Apollo Router Core that you can self-host and run with GraphOS as GraphOS Routers. By containerizing the router, you can run it in a cluster and leverage the portability, scalability, and high availability benefits of containerization. Containers can also simplify and speed up local development.

note
The Apollo Router Core source code and all its distributions are made available under the Elastic License v2.0 (ELv2) license.

About router container images

Apollo provides container images of the router on GitHub in its container repository. The router images are based on debian:bullseye-slim, which is designed to provide constrained, secure, and small images.

Each release of the router includes both default (production) and debug images. While each image for a release contains the same build, the debug images have helpful debugging utilities installed and run the router under the control of heaptrack.

A router image has the following layout:

  • A /dist directory containing the router executable and licensing details

  • A dist/config directory containing a default configuration file, router.yaml

  • A /dist/schema directory for conveniently mounting a locally defined supergraph schema

Next steps

The default behavior of a router image is suitable for a basic deployment or development scenario.

For examples of customizing and deploying router images in specific environments, see the guides for:

See the Apollo Solutions example Cloud Foundry deployment for a minimal router configuration and Cloud Foundry manifest file.

note
The code in this repository is experimental and has been provided for reference purposes only.
Feedback

Edit on GitHub

Forums