Skip to content
Draft
Show file tree
Hide file tree
Changes from 12 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions docs/shared/cloud-router-discontinuation-notice.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<Caution>

Apollo is discontinuing Serverless and Dedicated plans, which use cloud routers. Cloud routers will no longer be available after [TODO SUNSET DATE].

Check warning on line 3 in docs/shared/cloud-router-discontinuation-notice.mdx

View check run for this annotation

Apollo Librarian / AI Style Review

docs/shared/cloud-router-discontinuation-notice.mdx#L3

Resolve the placeholder date before merging. ```suggestion Apollo is discontinuing Serverless and Dedicated plans, which use cloud routers. Cloud routers will no longer be available after [Date]. ```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adding a PR comment here so that we don't forget to address the [TODO SUNSET DATE]


<br/><br/>

If you're currently on a Serverless or Dedicated plan, migrate your graphs to use self-hosted routers. [See the migration guide](/graphos/routing/cloud/migrate-to-self-hosted) for step-by-step instructions.

</Caution>
2 changes: 2 additions & 0 deletions docs/source/_sidebar.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,8 @@ items:
href: "./cloud/"
- label: "Configuration"
href: "./cloud/configuration"
- label: "Migrate to Self-Hosted"
href: "./cloud/migrate-to-self-hosted"
- label: "Secure Subgraphs"
href: "./cloud/secure-subgraphs"
- label: "Subscriptions"
Expand Down
4 changes: 4 additions & 0 deletions docs/source/routing/cloud/aws-migration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ description: Migrate your Apollo GraphOS Serverless cloud router to AWS for impr
noIndex: true
---

import CloudRouterDiscontinuationNotice from '../../../shared/cloud-router-discontinuation-notice.mdx';

<CloudRouterDiscontinuationNotice />

<Note>

This page only applies to Serverless cloud routers created before May 21, 2024.
Expand Down
4 changes: 4 additions & 0 deletions docs/source/routing/cloud/configuration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ redirectFrom:
- /graphos/cloud-routing/configuration
---

import CloudRouterDiscontinuationNotice from '../../../shared/cloud-router-discontinuation-notice.mdx';

<CloudRouterDiscontinuationNotice />

After you create a cloud supergraph, you can manage its router configuration from the **Cloud Router** page in [GraphOS Studio](https://studio.apollographql.com?referrer=docs-content).

The **General** tab shows the following information:
Expand Down
4 changes: 3 additions & 1 deletion docs/source/routing/cloud/custom-domains.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@ redirectFrom:
- /graphos/cloud-routing/custom-domains
---

<CloudPlanPause />
import CloudRouterDiscontinuationNotice from '../../../shared/cloud-router-discontinuation-notice.mdx';

<CloudRouterDiscontinuationNotice />

To interact with your supergraph, clients send requests to your router's endpoint. The _custom domains_ feature lets you replace the default `apollographos.net` router endpoint URL with your own subdomain.

Expand Down
4 changes: 3 additions & 1 deletion docs/source/routing/cloud/dedicated-quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ subtitle: Create your first Dedicated cloud router
description: Run a cloud router for your GraphQL APIs on dedicated infrastructure that Apollo provisions and manages.
---

<CloudPlanPause />
import CloudRouterDiscontinuationNotice from '../../../shared/cloud-router-discontinuation-notice.mdx';

<CloudRouterDiscontinuationNotice />

Follow this hands-on guide to create a new graph that uses a Dedicated cloud router.
To learn about Dedicated cloud routing in general, go to the [Cloud Dedicated overview](/graphos/routing/cloud/dedicated).
Expand Down
4 changes: 3 additions & 1 deletion docs/source/routing/cloud/dedicated.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ subtitle: Learn about the Dedicated cloud router offering and pricing
description: Learn about Apollo's dedicated cloud routing for GraphQL APIs including available AWS regions and pricing.
---

<CloudPlanPause />
import CloudRouterDiscontinuationNotice from '../../../shared/cloud-router-discontinuation-notice.mdx';

<CloudRouterDiscontinuationNotice />

GraphOS _Cloud Dedicated_ is the Apollo offering that lets you run a cloud router on dedicated, pre-provisioned infrastructure that you control and scale. It gives you access to a fully managed and monitored fleet of GraphOS Routers.

Expand Down
14 changes: 3 additions & 11 deletions docs/source/routing/cloud/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,9 @@ title: Cloud Routing
subtitle: Cloud-hosted routers for cloud supergraphs
---

<Note>

Apollo has paused new sign-ups for Serverless and Dedicated plans while we improve our offerings based on user feedback. This means cloud routing is temporarily unavailable to new users. In the meantime, you can explore other GraphOS features with a [Free plan](https://studio.apollographql.com/signup?referrer=docs-content).
import CloudRouterDiscontinuationNotice from '../../../shared/cloud-router-discontinuation-notice.mdx';

</Note>
<CloudRouterDiscontinuationNotice />

When you create a cloud supergraph, GraphOS provisions and manages a _cloud router_. Routers act as entry points to your GraphQL APIs. Individual GraphQL APIs are called _subgraphs_ in this architecture.

Expand Down Expand Up @@ -49,16 +47,10 @@ Cloud supergraphs use [Apollo Federation 2](/federation/) for their core archite

## Cloud router types and availability

Cloud supergraphs are only available to organizations with Serverless and Dedicated plans<sup>**</sup>.
Cloud supergraphs are only available to organizations with Serverless and Dedicated plans.
Serverless cloud routers run on shared infrastructure. Dedicated cloud routers run on dedicated infrastructure that you control and scale.
Cloud routers aren't available with Enterprise or legacy Free or Team plans.

<Note>

<sup>**</sup>We've paused new sign-ups for Serverless and Dedicated plans while we improve our offerings based on user feedback. In the meantime, you can explore GraphOS features with a [Free plan](https://studio.apollographql.com/signup?referrer=docs-content).

</Note>

## Cloud router regions

Serverless cloud routers are hosted in the us-east-1 AWS region. Dedicated cloud routers have a wider [variety of options](/graphos/routing/cloud/dedicated/#runs-on-aws). Region selection for cloud routers is only available on the Dedicated plan. <TrackableLink href="https://www.apollographql.com/contact-sales?type=dedicated&referrer=docs" eventName="content_contact_cloud">Contact Sales</TrackableLink> to learn more.
Expand Down
4 changes: 3 additions & 1 deletion docs/source/routing/cloud/lattice-configuration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@ redirectFrom:
- /graphos/cloud-routing/lattice
---

<CloudPlanPause />
import CloudRouterDiscontinuationNotice from '../../../shared/cloud-router-discontinuation-notice.mdx';

<CloudRouterDiscontinuationNotice />

Cloud Dedicated uses [Amazon VPC Lattice](https://aws.amazon.com/vpc/lattice/) to send traffic to subgraphs running in an Amazon VPC without exposing them to the internet.

Expand Down
4 changes: 3 additions & 1 deletion docs/source/routing/cloud/lattice-management.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@ redirectFrom:
- /graphos/cloud-routing/lattice-management
---

<CloudPlanPause />
import CloudRouterDiscontinuationNotice from '../../../shared/cloud-router-discontinuation-notice.mdx';

<CloudRouterDiscontinuationNotice />

This guide covers:

Expand Down
4 changes: 3 additions & 1 deletion docs/source/routing/cloud/lattice-troubleshooting.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@ redirectFrom:
- /graphos/cloud-routing/lattice-troubleshooting
---

<CloudPlanPause />
import CloudRouterDiscontinuationNotice from '../../../shared/cloud-router-discontinuation-notice.mdx';

<CloudRouterDiscontinuationNotice />

Refer to the [configuration page](/graphos/routing/cloud/lattice-configuration) to learn how to configure AWS VPC Lattice to send traffic to your subgraphs.

Expand Down
4 changes: 3 additions & 1 deletion docs/source/routing/cloud/migrate-to-dedicated.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ subtitle: Learn what to consider when migrating to a Dedicated cloud router
description: Migrate your self-hosted GraphQL APIs to a federated cloud supergraph with a pre-provisioned router on dedicated infrastructure.
---

<CloudPlanPause />
import CloudRouterDiscontinuationNotice from '../../../shared/cloud-router-discontinuation-notice.mdx';

<CloudRouterDiscontinuationNotice />

GraphOS supports [self-hosted and cloud graphs](../../graphs/#graph-types), each recommended for different use cases. You may want to migrate to a cloud graph in these scenarios:

Expand Down
100 changes: 100 additions & 0 deletions docs/source/routing/cloud/migrate-to-self-hosted.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
---
title: Migrate Cloud Graphs to Self-Hosted
subtitle: Migrate your graph from cloud-hosted to self-hosted
description: Migrate all Apollo GraphOS cloud graphs (Serverless and Dedicated) to self-hosted Apollo Router instances as part of Cloud Router retirement.
---

The Serverless and Dedicated plans end on [TODO SUNSET DATE]. After this date, cloud routers are no longer available.

If you are on a Serverless or Dedicated plan, you will need to migrate your graphs to use self-hosted routers by [TODO SUNSET DATE]. After migration, move your organization to a [supported plan](https://www.apollographql.com/pricing).

Check notice on line 9 in docs/source/routing/cloud/migrate-to-self-hosted.mdx

View check run for this annotation

Apollo Librarian / AI Style Review

docs/source/routing/cloud/migrate-to-self-hosted.mdx#L9

Use imperative verbs for instructions ('migrate' instead of 'you will need to migrate'). ```suggestion If you are on a Serverless or Dedicated plan, migrate your graphs to self-hosted routers by [TODO SUNSET DATE]. After migration, move your organization to a [supported plan](https://www.apollographql.com/pricing). ```

During the migration window, your cloud router continues to receive traffic, schema updates, and configuration updates. The migration window ends on [TODO SUNSET DATE].

This guide provides step-by-step instructions to migrate graphs on Serverless or Dedicated plans to self-hosted graphs on a supported plan. Complete these steps before [TODO SUNSET DATE]:

1. Export your cloud router configuration
1. Change your graph's hosting mode to self-hosted
1. Deploy a self-hosted router
1. Validate and shift traffic to your self-hosted endpoint
1. Move your organization to a supported plan

## Steps to migrate

### Export your cloud router configuration

You need this router configuration in a later step when you deploy your self-hosted router.

You can export your cloud router configuration in two ways:

#### Using Studio

In Studio, navigate to your graph's **Cloud Router** page and click the **Router configuration YAML** tab to download the config.

[TODO SCREENSHOT]

Check warning on line 33 in docs/source/routing/cloud/migrate-to-self-hosted.mdx

View check run for this annotation

Apollo Librarian / AI Style Review

docs/source/routing/cloud/migrate-to-self-hosted.mdx#L33

Resolve the placeholder screenshot before merging. ```suggestion ![Description of screenshot](path/to/image.jpg) ```

If you cannot access the Cloud Router page (for example, if you have already changed your graph's hosting mode), use the Rover CLI to export the configuration.

Check notice on line 35 in docs/source/routing/cloud/migrate-to-self-hosted.mdx

View check run for this annotation

Apollo Librarian / AI Style Review

docs/source/routing/cloud/migrate-to-self-hosted.mdx#L35

Use dictionary-valid contractions for readability. ```suggestion If you can't access the Cloud Router page (for example, if you've already changed your graph's hosting mode), use the Rover CLI to export the configuration. ```

#### Using the Rover CLI

Use the Rover CLI's [`cloud config fetch` command](/rover/commands/cloud#cloud-config-fetch).

Replace the `<GRAPH_REF>` placeholder in the following command with your own graph ref to download the router configuration YAML to a local `router.yaml` file.

```bash showLineNumbers={false}
rover cloud config fetch <GRAPH_REF> > router.yaml
```

[Install](/rover/getting-started) and [configure](/rover/configuring) the Rover CLI to run this command.

### Change the graph's hosting mode to self-hosted

In Studio, click the **Start the migration process** button at the top of the graph variant's page to change the graph's hosting mode to self-hosted.

During the migration window, the cloud router remains running and continues to receive schema and configuration updates.

### Deploy a self-hosted router

Deploy a self‑hosted router using your preferred platform.

For Kubernetes deployments, use the [Apollo GraphOS Operator](/apollo-operator).

For other platforms, see the following guides:
- [Kubernetes](/graphos/routing/self-hosted/containerization/kubernetes/quickstart)
- [Docker](/graphos/routing/self-hosted/containerization/docker)
- [AWS](/graphos/routing/self-hosted/containerization/aws)
- [Azure](/graphos/routing/self-hosted/containerization/azure)
- [GCP](/graphos/routing/self-hosted/containerization/gcp)
- [Railway](/graphos/routing/self-hosted/managed-hosting/railway)
- [Render](/graphos/routing/self-hosted/managed-hosting/render)

Use the router configuration YAML you exported in the previous step to configure your self-hosted router.

### Validate and shift traffic

Validate the new endpoint, then gradually shift production traffic from the cloud router to your self-hosted endpoint.

### Move your organization to a supported plan

After you migrate all graphs to self-hosted mode, navigate to [TODO] to move your organization to a supported plan.

Check warning on line 78 in docs/source/routing/cloud/migrate-to-self-hosted.mdx

View check run for this annotation

Apollo Librarian / AI Style Review

docs/source/routing/cloud/migrate-to-self-hosted.mdx#L78

Resolve the placeholder link before merging. ```suggestion After you migrate all graphs to self-hosted mode, navigate to [Link] to move your organization to a supported plan. ```

## Frequently asked questions

### What happens to my running cloud routers when I change my graph's hosting mode?

Check notice on line 82 in docs/source/routing/cloud/migrate-to-self-hosted.mdx

View check run for this annotation

Apollo Librarian / AI Style Review

docs/source/routing/cloud/migrate-to-self-hosted.mdx#L82

Frame content relative to the reader ('you/your') instead of using first person ('my/I'). ```suggestion ### What happens to your running cloud routers when you change your graph's hosting mode? ```

Changing a graph's hosting mode does not affect running cloud routers. Cloud routers continue to receive traffic, emit telemetry, and receive schema and configuration updates until a [shutdown event occurs for Serverless routers](/graphos/routing/cloud/serverless#automatic-deletion-of-unused-routers) or the migration period ends on [TODO SUNSET DATE].

Check notice on line 84 in docs/source/routing/cloud/migrate-to-self-hosted.mdx

View check run for this annotation

Apollo Librarian / AI Style Review

docs/source/routing/cloud/migrate-to-self-hosted.mdx#L84

Use dictionary-valid contractions ('doesn't') for readability. ```suggestion Changing a graph's hosting mode doesn't affect running cloud routers. Cloud routers continue to receive traffic, emit telemetry, and receive schema and configuration updates until a [shutdown event occurs for Serverless routers](/graphos/routing/cloud/serverless#automatic-deletion-of-unused-routers) or the migration period ends on [TODO SUNSET DATE]. ```

### How do I retrieve and update the configuration of my running cloud routers after converting to self-hosted mode?

Check notice on line 86 in docs/source/routing/cloud/migrate-to-self-hosted.mdx

View check run for this annotation

Apollo Librarian / AI Style Review

docs/source/routing/cloud/migrate-to-self-hosted.mdx#L86

Frame content relative to the reader ('you/your') instead of using first person ('my/I'). ```suggestion ### How do you retrieve and update the configuration of your running cloud routers after converting to self-hosted mode? ```

Use the [Rover CLI's `cloud config fetch` command](/rover/commands/cloud#cloud-config-fetch) to fetch your cloud router configuration:

Check notice on line 88 in docs/source/routing/cloud/migrate-to-self-hosted.mdx

View check run for this annotation

Apollo Librarian / AI Style Review

docs/source/routing/cloud/migrate-to-self-hosted.mdx#L88

Never use articles or possessives in front of standalone, proper product names ('Rover CLI'). ```suggestion Use the [`cloud config fetch` command](/rover/commands/cloud#cloud-config-fetch) to fetch your cloud router configuration: ```

```bash showLineNumbers={false}
rover cloud config fetch <GRAPH_REF> > router.yaml
```

Use the [Rover CLI's `cloud config update` command](/rover/commands/cloud#cloud-config-update) to update your running cloud routers' configuration. For example, to apply changes from a local `router.yaml`:

Check notice on line 94 in docs/source/routing/cloud/migrate-to-self-hosted.mdx

View check run for this annotation

Apollo Librarian / AI Style Review

docs/source/routing/cloud/migrate-to-self-hosted.mdx#L94

Never use articles or possessives in front of standalone, proper product names ('Rover CLI'). ```suggestion Use the [`cloud config update` command](/rover/commands/cloud#cloud-config-update) to update your running cloud routers' configuration. For example, to apply changes from a local `router.yaml`: ```

```bash

Check notice on line 96 in docs/source/routing/cloud/migrate-to-self-hosted.mdx

View check run for this annotation

Apollo Librarian / AI Style Review

docs/source/routing/cloud/migrate-to-self-hosted.mdx#L96

Remove line numbering with `showLineNumbers=false` for terminal commands. ```suggestion ```bash showLineNumbers={false} ```
rover cloud config update --file router.yaml <GRAPH_REF>
```

[Install](/rover/getting-started) and [configure](/rover/configuring) the Rover CLI to run this command.
4 changes: 4 additions & 0 deletions docs/source/routing/cloud/secure-subgraphs.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ redirectFrom:
- /graphos/graphs/securing-a-subgraph
---

import CloudRouterDiscontinuationNotice from '../../../shared/cloud-router-discontinuation-notice.mdx';

<CloudRouterDiscontinuationNotice />

To keep your supergraph secure, it's important that your individual subgraphs are [queried only by your router](/federation/building-supergraphs/subgraphs-overview/#securing-your-subgraphs). That's because your subgraphs expose powerful fields that the router uses to execute operations across them. External clients should not have access to these fields.

To restrict subgraph communication to only your router, Apollo recommends creating a separate shared secret for each of your subgraphs. Whenever your router queries a subgraph, it includes that subgraph's corresponding secret in an HTTP header.
Expand Down
4 changes: 3 additions & 1 deletion docs/source/routing/cloud/serverless.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ subtitle: Learn about Serverless cloud routing use cases and limitations
description: Learn about Apollo GraphOS Serverless cloud routers, including intended use cases, limitations, and router statuses.
---

<CloudPlanPause />
import CloudRouterDiscontinuationNotice from '../../../shared/cloud-router-discontinuation-notice.mdx';

<CloudRouterDiscontinuationNotice />

GraphOS Serverless cloud routers run on shared infrastructure that Apollo manages. Serverless is for demos, proof-of-concepts, and small production apps that don't need more than ten requests per second (RPS) or more than 150 concurrent subscriptions.

Expand Down
8 changes: 2 additions & 6 deletions docs/source/routing/cloud/subscriptions.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,9 @@ redirectFrom:
releaseStage: preview
---

<PreviewFeature >
import CloudRouterDiscontinuationNotice from '../../../shared/cloud-router-discontinuation-notice.mdx';

Cloud supergraph support for GraphQL subscriptions is currently in [preview](/graphos/reference/feature-launch-stages#preview).

You can also use subscriptions with an Enterprise self-hosted supergraph. See the [GraphOS Router documentation](/graphos/routing/operations/subscriptions/).

</PreviewFeature>
<CloudRouterDiscontinuationNotice />

Cloud supergraphs provide preview support for GraphQL subscription operations:

Expand Down
4 changes: 3 additions & 1 deletion docs/source/routing/cloud/throughput-guide.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ subtitle: Understand GCU performance and scale your graph's capacity
description: Learn about Graph Compute Units (GCUs)—a measure of throughput—and how to calculate and manage them for your supergraph on GraphOS Dedicated
---

<CloudPlanPause />
import CloudRouterDiscontinuationNotice from '../../../shared/cloud-router-discontinuation-notice.mdx';

<CloudRouterDiscontinuationNotice />

This guide covers:

Expand Down