Skip to content

Commit

Permalink
Restore docs from next branch
Browse files Browse the repository at this point in the history
  • Loading branch information
dylan-apollo committed Aug 6, 2024
1 parent 7b4e714 commit 19542f1
Show file tree
Hide file tree
Showing 37 changed files with 1,568 additions and 1,625 deletions.
2 changes: 1 addition & 1 deletion .cspell/cspell.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,6 @@ overrides:
- "\\]\\([^)]+\\)"
- "youTubeID=.+/>"
# Ignore user and repo names in GitHub links to supported subgraph libraries.
- filename: '**/compatible-subgraphs.md'
- filename: '**/supported-subgraphs.md'
ignoreRegExpList:
- "Github: <a .+</a>"
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ jobs:
if: steps.changesets.outputs.published == 'true'
# write token to the NPM rc file (npm login)
run: echo //registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }} > ~/.npmrc

- name: Update next tags if appropriate
if: steps.changesets.outputs.published == 'true'
run: node scripts/update-next-tags.mjs
15 changes: 4 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,6 @@

[![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)

---

**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.
Expand Down Expand Up @@ -36,11 +29,11 @@ If you ever have any problems, questions, or ideas, the maintainers of this proj

## Who is Apollo?

[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:
[Apollo](https://apollographql.com/) builds open-source software and a graph platform to unify GraphQL across your apps and services. 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 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).
* [GraphOS](https://www.apollographql.com/docs/graphos) – A free, end-to-end platform for managing your GraphQL lifecycle. Track your GraphQL schemas in a hosted registry to create a source of truth for everything in your graph. GraphOS provides an IDE (Apollo Explorer) so you can explore data, collaborate on queries, observe usage, and safely make schema changes.
* [Apollo Federation](https://www.apollographql.com/apollo-federation) – The industry-standard open architecture for building a distributed graph. Use Apollo’s to compose a unified graph from multiple subgraphs, determine a query plan, and route requests across your services.
* [Apollo Client](https://www.apollographql.com/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 Android](https://github.com/apollographql/apollo-android).
* [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.

## Learn how to build with Apollo
Expand Down
2 changes: 1 addition & 1 deletion docs/shared/enterprise-directive.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<EnterpriseFeature>

This directive is an [Enterprise feature](/router/enterprise-features) of the GraphOS Router and requires an organization with a [GraphOS Enterprise plan](https://www.apollographql.com/pricing/). If your organization doesn't have an Enterprise plan, you can test it out by signing up for a free [Enterprise trial](/graphos/org/plans/#enterprise-trials).
This directive is an [Enterprise feature](/router/enterprise-features) of the Apollo Router and requires an organization with a [GraphOS Enterprise plan](https://www.apollographql.com/pricing/). If your organization doesn't have an Enterprise plan, you can test it out by signing up for a free [Enterprise trial](/graphos/org/plans/#enterprise-trials).

</EnterpriseFeature>
2 changes: 1 addition & 1 deletion docs/shared/progressive-override-enterprise.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<EnterpriseFeature>

Progressive `@override` is an [Enterprise feature](/router/enterprise-features) of the GraphOS Router and requires an organization with a [GraphOS Enterprise plan](https://www.apollographql.com/pricing/). If your organization doesn't have an Enterprise plan, you can test it out by signing up for a free [Enterprise trial](/graphos/org/plans/#enterprise-trials).
Progressive `@override` is an [Enterprise feature](/router/enterprise-features) of the Apollo Router and requires an organization with a [GraphOS Enterprise plan](https://www.apollographql.com/pricing/). If your organization doesn't have an Enterprise plan, you can test it out by signing up for a free [Enterprise trial](/graphos/org/plans/#enterprise-trials).

</EnterpriseFeature>
26 changes: 7 additions & 19 deletions docs/source/_redirects
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
/subgraphs/ /docs/apollo-server/using-federation/apollo-subgraph-setup/
/gateway/ /docs/federation/building-supergraphs/router/
/router/ /docs/federation/building-supergraphs/router/
/supported-subgraphs/ /docs/federation/building-supergraphs/compatible-subgraphs/
/building-supergraphs/supported-subgraphs/ /docs/federation/building-supergraphs/compatible-subgraphs/
/other-servers/ /docs/federation/building-supergraphs/compatible-subgraphs/
/supported-subgraphs/ /docs/federation/building-supergraphs/supported-subgraphs/
/other-servers/ /docs/federation/building-supergraphs/supported-subgraphs/
/federation-spec/ /docs/federation/subgraph-spec/
/building-supergraphs/subgraphs-apollo-server/ /docs/apollo-server/using-federation/apollo-subgraph-setup/
/api/apollo-subgraph /docs/apollo-server/using-federation/api/apollo-subgraph/
Expand All @@ -16,21 +15,10 @@
/value-types/ /docs/federation/v2/federated-types/sharing-types/
/federated-types/value-types/ /docs/federation/v2/federated-types/sharing-types/

/quickstart-pt-2/ /docs/federation/quickstart/
/quickstart-pt-3/ /docs/federation/quickstart/
/quickstart-pt-4/ /docs/federation/quickstart/
/quickstart/setup/ /docs/federation/quickstart/
/quickstart/studio-composition/ /docs/federation/quickstart/
/quickstart/local-composition/ /docs/federation/quickstart/
/quickstart/local-subgraphs/ /docs/federation/quickstart/
/quickstart/ /docs/federation/v2/quickstart/setup/
/quickstart-pt-2/ /docs/federation/v2/quickstart/studio-composition/
/quickstart-pt-3/ /docs/federation/v2/quickstart/local-composition/
/quickstart-pt-4/ /docs/federation/v2/quickstart/local-subgraphs/

/managed-federation/monitoring/ /docs/federation/performance/monitoring
/api/apollo-federation/ /docs/federation/api/apollo-subgraph/

/entities-advanced /docs/federation/entities/define-advanced-keys
/federated-types/overview /docs/federation/federated-schemas/
/federated-types/composition /docs/federation/federated-schemas/composition
/federated-types/federated-directives /docs/federation/federated-schemas/federated-directives
/federated-types/sharing-types /docs/federation/federated-schemas/sharing-types
/federated-types/interfaces /docs/federation/entities/interfaces
/federated-schemas/interfaces /docs/federation/entities/interfaces
/api/apollo-federation/ /docs/federation/api/apollo-subgraph/
16 changes: 12 additions & 4 deletions docs/source/building-supergraphs/router.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -23,18 +23,26 @@ graph LR;

Apollo actively supports the following options for your router:

- **The graphos Router (recommended)**: This is a high-performance, precompiled Rust binary.
- **The Apollo Router (recommended)**: This is a high-performance, precompiled Rust binary.

- If you're getting started with federation, we recommend [creating a cloud supergraph](/graphos/quickstart/cloud/) with Apollo GraphOS. With a cloud supergraph, GraphOS provisions and manages your router for you.
- You can also host your own GraphOS Router instances. [See the Federation Quickstart](../quickstart/setup/) to get started.
- You can also host your own Apollo Router instances. [See the Federation Quickstart](../quickstart/setup/) to get started.

- **Apollo Server**: Apollo Server can act as your router via the [`@apollo/gateway`](https://www.npmjs.com/package/@apollo/gateway) extension library.
- [See how to set up Apollo Gateway](/apollo-server/using-federation/apollo-gateway-setup).

<Tip>

Apollo recommends starting with the GraphOS Router. It's faster to configure, performant even under high request loads, and supports many enterprise features.
Apollo recommends starting with the Apollo Router. It's faster to configure, performant even under high request loads, and supports many enterprise features.

</Tip>

If you'll use the GraphOS Router, get started with the resources linked above. If you'll use Apollo Server, see [Setting up Apollo Gateway](/apollo-server/using-federation/apollo-gateway-setup).
<ExpansionPanel title="When should I use Apollo Server?">

You might need to use Apollo Server for your router if your subgraphs use a custom authentication method that it's currently difficult to configure with the Apollo Router. Note that teams unfamiliar with Rust can still customize the Apollo Router's behavior using the [Rhai scripting language](/router/customizations/rhai).

Regardless of which library you start with, you can swap to the other without making any changes to other parts of your supergraph.

</ExpansionPanel>

If you'll use the Apollo Router, get started with the resources linked above. If you'll use Apollo Server, see [Setting up Apollo Gateway](/apollo-server/using-federation/apollo-gateway-setup).
2 changes: 1 addition & 1 deletion docs/source/building-supergraphs/subgraphs-overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ You can implement different subgraphs using completely different programming lan

Every subgraph in your supergraph should use a subgraph-compatible GraphQL server library. These are libraries that adhere to the Apollo Federation subgraph specification, which ensures that your supergraph can take full advantage of federation features like [entities](../entities/).

[See federation-compatible subgraph libraries.](./compatible-subgraphs/)
[See federation-compatible subgraph libraries.](./supported-subgraphs/)

After you select a subgraph library, consult its documentation to learn how to configure it to run as a subgraph.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ Type: Code first | SDL first<br/>
Stars: 4.9k ⭐<br/>
Last Release: 2024-04-22<br/>
<br/>
Federation Library: <a href="https://github.com/apollographql/federation-hotchocolate">apollographql/federation-hotchocolate</a>
Federation Library: <a href="https://github.com/apollographql/federation-hotchocolate">apollographql/federation-hotchocolate&nbsp;&nbsp;<img style="display:inline-block; height:1em; width:auto;" alt="Maintained by Apollo" src="https://raw.githubusercontent.com/apollographql/apollo-federation-subgraph-compatibility/d7829ef89441c337749bf6538711a642cfa2689c/docs/assets/horizon_logo.png"/></a>
</td>
<td>
<table>
Expand Down
23 changes: 8 additions & 15 deletions docs/source/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,19 @@
"Changelog": "/federation-versions",
"Building Your Supergraph": {
"Subgraphs": "/building-supergraphs/subgraphs-overview",
"Compatible Subgraph Libraries": "/building-supergraphs/compatible-subgraphs",
"Supported Subgraph Libraries": "/building-supergraphs/supported-subgraphs",
"Router": "/building-supergraphs/router",
"Apollo Server Subgraphs": "https://apollographql.com/docs/apollo-server/using-federation/apollo-subgraph-setup",
"JetBrains IDE Support": "/building-supergraphs/jetbrains-ide-support"
},
"Federated Schemas": {
"Overview": "/federated-schemas/",
"Composition": "/federated-schemas/composition",
"Entities": {
"Introduction to Entities": "/entities/",
"Define Advanced Keys": "/entities/define-advanced-keys",
"Contribute and Reference Entity Fields": "/entities/contribute-fields",
"Resolve Another Subgraph's Fields": "/entities/resolve-another-subgraphs-fields",
"Use Contexts to Share Data": "/entities/use-contexts",
"Entity Interfaces": "/entities/interfaces",
"Migrate Fields": "/entities/migrate-fields",
"Handling the N+1 Problem": "entities/handling-n-plus-one"
},
"Sharing Types (Value Types)": "/federated-schemas/sharing-types",
"Federated Directives": "/federated-schemas/federated-directives",
"Overview": "/federated-types/overview",
"Composition": "/federated-types/composition",
"Federated Directives": "/federated-types/federated-directives",
"Sharing Types (Value Types)": "/federated-types/sharing-types",
"Introduction to Entities": "/entities",
"Advanced Entities": "/entities-advanced",
"Entity Interfaces": "/federated-types/interfaces",
"Migrating from Schema Stitching": "/migrating-from-stitching"
},
"Managed Federation": {
Expand Down
Loading

0 comments on commit 19542f1

Please sign in to comment.