Our solution
Swap the router, keep your subgraphs
Cosmo Router implements the Federation v1 and v2 directives in its compatibility matrix (up to v2.5). After migrating your graph configuration, fetch the router config from Cosmo and deploy. Subgraph code stays as it is. Router-side customizations need porting, and the next section lists them.
From Apollo Router to Cosmo Router
Complete the Apollo GraphOS graph migration (or set up Cosmo manually).
Deploy Cosmo Router using the router config available in Cosmo after migration. Fetch it with: npx wgc federated-graph fetch <graph-name>.
Update your load balancer or API gateway to route traffic to Cosmo Router.
Cosmo Router handles query planning, subgraph orchestration, and response aggregation.
Subgraphs whose directives are in the compatibility matrix (up to v2.5) need no changes. If clients parse Apollo error codes or status codes, turn on the Apollo compatibility flags, which are off by default. For a detailed breakdown of how Cosmo handles Apollo Router compatibility, see the compatibility post.
Access Cosmo Studio immediately for observability, analytics, and schema management.
Deploy once. Existing subgraphs keep working.

