This template can be used to quickly create an Apollo Federation subgraph with the async-graphql crate.
- A basic, Apollo Federation subgraph with simple examples for queries, entities, and mutations. You can run this subgraph with
cargo run
orcargo watch -x run
if using cargo-watch for auto-reloading. - Example tests in the
tests
directory. You can run these tests withcargo test
. - GitHub Actions workflows which will:
- Run
cargo test
on every push. - Check the schema against Apollo Studio on every push.
- Publish the subgraph to Apollo Studio on every push to the
main
branch.
- Run
- Download Rover and start it using the command printed out from
cargo run
to start a local version of Apollo Explorer. - Replace "my-subgraph" in
Cargo.toml
with the name of your subgraph. - Start filling in your own types and resolvers in
src/lib.rs
. - Set these secrets in GitHub Actions:
APOLLO_KEY
: An Apollo Studio API key for the supergraph to enable schema checks and publishing of the subgraph.APOLLO_GRAPH_REF
: The name of the supergraph in Apollo Studio.PRODUCTION_URL
: The URL of the deployed subgraph that the supergraph gateway will route to.
- Remove the
if: false
lines from.github/workflows/checks.yaml
and.github/workflows/deploy.yaml
to enable schema checks and publishing. - Write your custom deploy logic in
.github/workflows/deploy.yaml
. - Send the
Router-Authorization
header from your Cloud router and set theROUTER_SECRET
environment variable wherever you deploy this to.