From 9d863ffa118e60fad36b4f49c24002549a37d527 Mon Sep 17 00:00:00 2001 From: Maria Elisabeth Schreiber Date: Mon, 7 Apr 2025 15:13:54 -0600 Subject: [PATCH 1/4] Update README --- README.md | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 18d87e0d0..8d66b854c 100644 --- a/README.md +++ b/README.md @@ -4,22 +4,15 @@ --- -**Announcement:** -Join 1000+ engineers at GraphQL Summit for talks, workshops, and office hours, Oct 8-10 in NYC. [Get your pass here ->](https://summit.graphql.com/?utm_campaign=github_federation_readme) - ---- - # Apollo Federation Apollo Federation is an architecture for declaratively composing APIs into a unified graph. Each team can own their slice of the graph independently, empowering them to deliver autonomously and incrementally. -Federation 2 is an evolution of the original Apollo Federation with an improved shared ownership model, enhanced type merging, and cleaner syntax for a smoother developer experience. It’s backwards compatible, requiring no major changes to your subgraphs. - -Checkout the [Federation 2 docs](https://www.apollographql.com/docs/federation) and [demo repo](https://github.com/apollographql/supergraph-demo-fed2) to take it for a spin and [let us know what you think](https://community.apollographql.com/t/announcing-apollo-federation-2/1821)! +## What does Apollo Federation do? -For Federation 1, see the [docs](https://www.apollographql.com/docs/federation/v1) and [code](https://github.com/apollographql/federation/tree/version-0.x). +Apollo Federation acts as an API orchestration layer for your organization’s microservices. It enables you to compose multiple APIs—whether GraphQL, REST, or other sources—into a single, unified graph that clients can query just like any GraphQL API. -Checkout the [project roadmap](ROADMAP.md) to see what's coming next! +When paired with the [Apollo Router](https://github.com/apollographql/router), Federation allows incoming requests to be intelligently routed to the appropriate services. The router orchestrates data fetching across services and assembles a unified response for the client. This keeps client complexity low and enables backend teams to evolve independently. ## Contributing @@ -39,7 +32,9 @@ If you ever have any problems, questions, or ideas, the maintainers of this proj [Apollo](https://apollographql.com/) builds open-source tools and commercial services to make application development easier, better, and accessible to more people. We help you ship faster with: * [GraphOS](https://www.apollographql.com/graphos) - The platform for building, managing, and scaling a supergraph: a unified network of your organization's microservices and their data sources—all composed into a single distributed API. -* [Apollo Federation](https://www.apollographql.com/federation) – The industry-standard open architecture for building a distributed graph. Use Apollo’s gateway to compose a unified graph from multiple subgraphs, determine a query plan, and route requests across your services. +* [Apollo Federation](https://www.apollographql.com/federation) – The industry-standard open architecture for building a distributed graph. +* [Apollo Connectors](https://www.apollographql.com/docs/graphos/schema-design/connectors) are built on Federation. +* Use the [Apollo Router](https://github.com/apollographql/router) to compose a unified graph from multiple subgraphs, determine a query plan, and route requests across your services. * [Apollo Client](https://github.com/apollographql/apollo-client) – The most popular GraphQL client for the web. Apollo also builds and maintains [Apollo iOS](https://github.com/apollographql/apollo-ios) and [Apollo Kotlin](https://github.com/apollographql/apollo-kotlin). * [Apollo Server](https://www.apollographql.com/docs/apollo-server/) – A production-ready JavaScript GraphQL server that connects to any microservice, API, or database. Compatible with all popular JavaScript frameworks and deployable in serverless environments. From 9d862984a1407594f8a3bcba3b635ea06bd0216e Mon Sep 17 00:00:00 2001 From: Maria Elisabeth Schreiber Date: Mon, 7 Apr 2025 15:19:39 -0600 Subject: [PATCH 2/4] Restructure --- README.md | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 8d66b854c..80fafe822 100644 --- a/README.md +++ b/README.md @@ -14,18 +14,7 @@ Apollo Federation acts as an API orchestration layer for your organization’s m When paired with the [Apollo Router](https://github.com/apollographql/router), Federation allows incoming requests to be intelligently routed to the appropriate services. The router orchestrates data fetching across services and assembles a unified response for the client. This keeps client complexity low and enables backend teams to evolve independently. -## Contributing - -If this project seems like something to which you want to contribute, first off **thank you**. We are so excited that you are excited about this project and we want to make sure contributing is a safe, fun, and fruitful experience for you. Please read our [code of conduct](https://github.com/apollographql/.github/blob/HEAD/CODE_OF_CONDUCT.md) and then head on over to the [contributing guide](./CONTRIBUTING.md) to learn how to work on this project. - -If you ever have any problems, questions, or ideas, the maintainers of this project are available to help. Please open an issue for assistance! - - - -### Current branches - -1. **Federation 2** is the current `main` branch. Installing `latest` from npm is the most recent published code from `main`. -2. **Prior releases** are located under the `version-0.x` branch. This comprises all 0.x packages previously released. Installing `latest-1` from npm is the most recent published code from `version-0.x`. +Check out the [docs](https://www.apollographql.com/docs/graphos/schema-design/federated-schemas/federation) to learn more. ## Who is Apollo? @@ -33,15 +22,28 @@ If you ever have any problems, questions, or ideas, the maintainers of this proj * [GraphOS](https://www.apollographql.com/graphos) - The platform for building, managing, and scaling a supergraph: a unified network of your organization's microservices and their data sources—all composed into a single distributed API. * [Apollo Federation](https://www.apollographql.com/federation) – The industry-standard open architecture for building a distributed graph. -* [Apollo Connectors](https://www.apollographql.com/docs/graphos/schema-design/connectors) are built on Federation. -* Use the [Apollo Router](https://github.com/apollographql/router) to compose a unified graph from multiple subgraphs, determine a query plan, and route requests across your services. -* [Apollo Client](https://github.com/apollographql/apollo-client) – The most popular GraphQL client for the web. Apollo also builds and maintains [Apollo iOS](https://github.com/apollographql/apollo-ios) and [Apollo Kotlin](https://github.com/apollographql/apollo-kotlin). +* [Apollo Router](https://github.com/apollographql/router) - The routing runtime for supergraphs. It determines a query plan, routes requests across your services, and provides detailed observability. +* [Apollo Connectors](https://www.apollographql.com/docs/graphos/schema-design/connectors) - A declarative way of plugging REST APIs into your graph built on the Apollo Router and Federation. * [Apollo Server](https://www.apollographql.com/docs/apollo-server/) – A production-ready JavaScript GraphQL server that connects to any microservice, API, or database. Compatible with all popular JavaScript frameworks and deployable in serverless environments. +* [Apollo Client](https://github.com/apollographql/apollo-client) – The most popular GraphQL client for the web. Apollo also builds and maintains [Apollo iOS](https://github.com/apollographql/apollo-ios) and [Apollo Kotlin](https://github.com/apollographql/apollo-kotlin). ## Learn how to build with Apollo Check out the [Odyssey](https://odyssey.apollographql.com/) learning platform, the perfect place to start your GraphQL journey with videos and interactive code challenges. Join the [Apollo Community](https://community.apollographql.com/) to interact with and get technical help from the GraphQL community. +## Contributing + +If this project seems like something to which you want to contribute, first off **thank you**. We are so excited that you are excited about this project and we want to make sure contributing is a safe, fun, and fruitful experience for you. Please read our [code of conduct](https://github.com/apollographql/.github/blob/HEAD/CODE_OF_CONDUCT.md) and then head on over to the [contributing guide](./CONTRIBUTING.md) to learn how to work on this project. + +If you ever have any problems, questions, or ideas, the maintainers of this project are available to help. Please open an issue for assistance! + + + +### Current branches + +1. **Federation 2** is the current `main` branch. Installing `latest` from npm is the most recent published code from `main`. +2. **Prior releases** are located under the `version-0.x` branch. This comprises all 0.x packages previously released. Installing `latest-1` from npm is the most recent published code from `version-0.x`. + ## Licensing Source code in this repository is covered by (i) the Elastic License 2.0 or (ii) an MIT compatible license, in each case, as designated by a licensing file in a subdirectory or file header. The default throughout the repository is a license under the Elastic License 2.0, unless a file header or a licensing file in a subdirectory specifies another license. From 9c43c5d5c415340c43cf9e75102d5ace5c9d5a1c Mon Sep 17 00:00:00 2001 From: Maria Elisabeth Schreiber Date: Tue, 8 Apr 2025 09:49:17 -0600 Subject: [PATCH 3/4] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 80fafe822..b01ba989f 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Apollo Federation is an architecture for declaratively composing APIs into a uni ## What does Apollo Federation do? -Apollo Federation acts as an API orchestration layer for your organization’s microservices. It enables you to compose multiple APIs—whether GraphQL, REST, or other sources—into a single, unified graph that clients can query just like any GraphQL API. +When paired with the Apollo Router, Apollo Federation acts as an API orchestration layer for your organization’s microservices. It enables you to compose multiple APIs—whether GraphQL, REST, or other sources—into a single, unified graph that clients can query just like any GraphQL API. When paired with the [Apollo Router](https://github.com/apollographql/router), Federation allows incoming requests to be intelligently routed to the appropriate services. The router orchestrates data fetching across services and assembles a unified response for the client. This keeps client complexity low and enables backend teams to evolve independently. From 52db78491a50687b86058073a5549a94f5648afd Mon Sep 17 00:00:00 2001 From: Maria Elisabeth Schreiber Date: Tue, 8 Apr 2025 09:52:11 -0600 Subject: [PATCH 4/4] Update README.md --- README.md | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/README.md b/README.md index b01ba989f..9d79d9837 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,3 @@ - - [![CircleCI](https://circleci.com/gh/apollographql/federation/tree/main.svg?style=shield)](https://circleci.com/gh/apollographql/federation/tree/main) [![Netlify Status](https://api.netlify.com/api/v1/badges/3a012f93-2d02-41f7-bb2b-848cf005b831/deploy-status)](https://app.netlify.com/sites/apollo-federation-docs/deploys) --- @@ -11,8 +9,7 @@ Apollo Federation is an architecture for declaratively composing APIs into a uni ## What does Apollo Federation do? When paired with the Apollo Router, Apollo Federation acts as an API orchestration layer for your organization’s microservices. It enables you to compose multiple APIs—whether GraphQL, REST, or other sources—into a single, unified graph that clients can query just like any GraphQL API. - -When paired with the [Apollo Router](https://github.com/apollographql/router), Federation allows incoming requests to be intelligently routed to the appropriate services. The router orchestrates data fetching across services and assembles a unified response for the client. This keeps client complexity low and enables backend teams to evolve independently. +The router handles incoming requests by routing them to the appropriate services and combining the results into a single response. This simplifies client logic and gives backend teams the flexibility to evolve independently. Check out the [docs](https://www.apollographql.com/docs/graphos/schema-design/federated-schemas/federation) to learn more. @@ -37,8 +34,6 @@ If this project seems like something to which you want to contribute, first off If you ever have any problems, questions, or ideas, the maintainers of this project are available to help. Please open an issue for assistance! - - ### Current branches 1. **Federation 2** is the current `main` branch. Installing `latest` from npm is the most recent published code from `main`.