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.
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 detailsA
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.