From 1448e62409bb8f504b8673dd1bc2b65155a8da3f Mon Sep 17 00:00:00 2001 From: Maria Elisabeth Schreiber Date: Fri, 16 Feb 2024 09:34:44 -0700 Subject: [PATCH 1/9] Specify anchors in pricing page links --- docs/source/configuration/distributed-caching.mdx | 2 +- docs/source/configuration/operation-limits.mdx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/configuration/distributed-caching.mdx b/docs/source/configuration/distributed-caching.mdx index c5e8a69d70..c81d425ea8 100644 --- a/docs/source/configuration/distributed-caching.mdx +++ b/docs/source/configuration/distributed-caching.mdx @@ -4,7 +4,7 @@ subtitle: Redis-backed caching for query plans and APQ description: Distributed caching for Apollo Router with GraphOS Enterprise. Configure a Redis-backed cache for query plans and automatic persisted queries (APQ). --- - + If you have multiple Apollo Router instances, those instances can share a Redis-backed cache for their query plans and automatic persisted queries (APQ). This means that if _any_ of your router instances caches a particular value, _all_ of your instances can look up that value to significantly improve responsiveness. For more details on query plans and APQ, see the article on [in-memory caching](./in-memory-caching). diff --git a/docs/source/configuration/operation-limits.mdx b/docs/source/configuration/operation-limits.mdx index 07bc435932..4641fe1ba0 100644 --- a/docs/source/configuration/operation-limits.mdx +++ b/docs/source/configuration/operation-limits.mdx @@ -3,7 +3,7 @@ title: Enforcing operation limits in the Apollo Router description: With GraphOS Enterprise --- - + You can define **operation limits** in your router's configuration to reject potentially malicious requests. An operation that exceeds _any_ specified limit is rejected (unless you run your router in [`warn_only` mode](#warn_only-mode)). From 5c892b48a9ad263ea4286b4e90276acdcaad5454 Mon Sep 17 00:00:00 2001 From: Maria Elisabeth Schreiber Date: Fri, 16 Feb 2024 09:37:31 -0700 Subject: [PATCH 2/9] Callout Dedicated/Enterprise features vs. only Enterprise features --- .../configuration/telemetry/instrumentation/conditions.mdx | 2 +- .../configuration/telemetry/instrumentation/events.mdx | 2 +- .../configuration/telemetry/instrumentation/instruments.mdx | 2 +- .../configuration/telemetry/instrumentation/spans.mdx | 6 +++--- docs/source/configuration/telemetry/overview.mdx | 6 +++--- docs/source/customizations/coprocessor.mdx | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/source/configuration/telemetry/instrumentation/conditions.mdx b/docs/source/configuration/telemetry/instrumentation/conditions.mdx index e07e8791c1..59d4f4a997 100644 --- a/docs/source/configuration/telemetry/instrumentation/conditions.mdx +++ b/docs/source/configuration/telemetry/instrumentation/conditions.mdx @@ -4,7 +4,7 @@ subtitle: Set conditions for when events or instruments are triggered description: Set conditions for when events or instruments are triggered in the Apollo Router --- - + You can set conditions for when an [instrument](./instruments) should be mutated or an [event](./events) should be triggered. diff --git a/docs/source/configuration/telemetry/instrumentation/events.mdx b/docs/source/configuration/telemetry/instrumentation/events.mdx index 70b7a3d0e4..71380f816b 100644 --- a/docs/source/configuration/telemetry/instrumentation/events.mdx +++ b/docs/source/configuration/telemetry/instrumentation/events.mdx @@ -61,7 +61,7 @@ telemetry: ### Custom events - + For each service you can also configure custom events. diff --git a/docs/source/configuration/telemetry/instrumentation/instruments.mdx b/docs/source/configuration/telemetry/instrumentation/instruments.mdx index 875032d582..cfd3cbce8f 100644 --- a/docs/source/configuration/telemetry/instrumentation/instruments.mdx +++ b/docs/source/configuration/telemetry/instrumentation/instruments.mdx @@ -59,7 +59,7 @@ See the [attributes](#attributes) configuration for more information. ### Custom instruments - + You can define custom instruments on the router, supergraph and subgraph services in the router pipeline. diff --git a/docs/source/configuration/telemetry/instrumentation/spans.mdx b/docs/source/configuration/telemetry/instrumentation/spans.mdx index 417d9c3382..41fc4c399b 100644 --- a/docs/source/configuration/telemetry/instrumentation/spans.mdx +++ b/docs/source/configuration/telemetry/instrumentation/spans.mdx @@ -37,11 +37,11 @@ Spans may have attributes attached to them from the Apollo Router pipeline. Thes Attributes may be drawn from [standard attributes](./standard-attributes) or [selectors](./selectors). - + -Granular customization of attributes on spans is an Enterprise Feature that requires a [GraphOS Enterprise plan](/graphos/enterprise/). +Granular customization of attributes on spans requires a GraphOS [Dedicated or Enterprise plan](https://www.apollographql.com/pricing#observability). - + The attributes that are available depend on the service of the pipeline. diff --git a/docs/source/configuration/telemetry/overview.mdx b/docs/source/configuration/telemetry/overview.mdx index 61b072be65..5e09444e65 100644 --- a/docs/source/configuration/telemetry/overview.mdx +++ b/docs/source/configuration/telemetry/overview.mdx @@ -141,8 +141,8 @@ Example attributes include: You can use [standard attributes](./instrumentation/standard-attributes) or [selectors](./instrumentation/selectors) as span attributes. - + -[Custom attributes for spans](./instrumentation/spans/#attributes) is an Enterprise Feature that requires a [GraphOS Enterprise plan](/graphos/enterprise/). +[Custom attributes for spans](./instrumentation/spans/#attributes) equire a GraphOS [Dedicated or Enterprise plan](https://www.apollographql.com/pricing#observability). - + diff --git a/docs/source/customizations/coprocessor.mdx b/docs/source/customizations/coprocessor.mdx index 12c4c1dd49..056894d763 100644 --- a/docs/source/customizations/coprocessor.mdx +++ b/docs/source/customizations/coprocessor.mdx @@ -5,7 +5,7 @@ description: Customize your router's behavior in any language import CoprocTypicalConfig from '../../shared/coproc-typical-config.mdx'; - + With **external coprocessing**, you can hook into the Apollo Router's request-handling lifecycle by writing standalone code in any language and framework. This code (i.e., your **coprocessor**) can run anywhere on your network that's accessible to the router over HTTP. From e84e618941b2806c0eec17c8408aa55de94c2214 Mon Sep 17 00:00:00 2001 From: Maria Elisabeth Schreiber Date: Fri, 16 Feb 2024 09:39:17 -0700 Subject: [PATCH 3/9] Explain GraphOS Router --- docs/source/enterprise-features.mdx | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/docs/source/enterprise-features.mdx b/docs/source/enterprise-features.mdx index a29e199b75..eae81b122f 100644 --- a/docs/source/enterprise-features.mdx +++ b/docs/source/enterprise-features.mdx @@ -3,28 +3,23 @@ title: Enterprise features for the Apollo Router description: Available with GraphOS Enterprise --- -The Apollo Router provides expanded performance, security, and customization features for organizations with a [GraphOS Enterprise plan](https://www.apollographql.com/pricing/). +Since the Apollo Router is [source-available](https://www.apollographql.com/blog/evaluating-apollo-router-understanding-free-and-open-vs-commercial-features), you can use its codebase without connecting it to GraphOS. GraphOS organizations with the Enterprise plan can [connect a self-hosted router to GraphOS](/graphos/quickstart/self-hosted#6-connect-the-router-to-graphos) for an expanded feature set. + +A router connected to GraphOS, whether cloud- or self-hosted, is called a **GraphOS Router**, and has access to specific GraphOS features depending on the connected GraphOS organization's plan. Refer to the [pricing page](https://www.apollographql.com/pricing#graphos-router) to compare GraphOS Router features across plan types. -Try out these Enterprise features for free with an [Enterprise trial](/graphos/org/plans/#enterprise-trials). +Try out Enterprise GraphOS Router features for free with an [Enterprise trial](/graphos/org/plans/#enterprise-trials). ## List of features -- **Real-time updates** via [GraphQL subscriptions](./executing-operations/subscription-support/) -- **Authentication of inbound requests** via [JSON Web Token (JWT)](./configuration/authn-jwt/) -- [**Authorization** of specific fields and types](./configuration/authorization) through the [`@requiresScopes`](./configuration/authorization#requiresscopes), [`@authenticated`](./configuration/authorization#authenticated), and [`@policy`](./configuration/authorization#policy) directives -- Redis-backed [**distributed caching** of query plans and persisted queries](./configuration/distributed-caching/) and [**subgraph entity caching**](./configuration/entity-caching/) -- **Custom request handling** in any language via [external coprocessing](./customizations/coprocessor/) -- **Mitigation of potentially malicious requests** via [operation limits](./configuration/operation-limits) and [safelisting with persisted queries](./configuration/persisted-queries) -- **Custom instrumentation and telemetry**, including [custom attributes for spans](./configuration/telemetry/instrumentation/spans/#attributes). -- An [**offline Enterprise license**](#offline-enterprise-license) enables running the router with Enterprise features when disconnected from the internet. + -Articles specifically about Enterprise features are marked with a **❖** icon in the left navigation. +Articles about enterprise features are marked with a **❖** icon in the left navigation. From 22199e8ac0b3f6396b871bcbb8406db22aad1362 Mon Sep 17 00:00:00 2001 From: Maria Elisabeth Schreiber Date: Fri, 16 Feb 2024 09:39:53 -0700 Subject: [PATCH 4/9] Fix typo --- .../configuration/telemetry/exporters/metrics/overview.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/configuration/telemetry/exporters/metrics/overview.mdx b/docs/source/configuration/telemetry/exporters/metrics/overview.mdx index 943f45f0fa..b9bd7e006c 100644 --- a/docs/source/configuration/telemetry/exporters/metrics/overview.mdx +++ b/docs/source/configuration/telemetry/exporters/metrics/overview.mdx @@ -180,7 +180,7 @@ telemetry: -OpenTelemetry includes many [standard attributes](https://opentelemetry.io/docs/specs/semconv/attributes-registry/) that you can use these via custom [instruments](../instrumentation/instruments). +OpenTelemetry includes many [standard attributes](https://opentelemetry.io/docs/specs/semconv/attributes-registry/) that you can use via custom [instruments](../instrumentation/instruments). From 923df6a048ab0f476390b1f5e9d6f03b67151c0b Mon Sep 17 00:00:00 2001 From: Maria Elisabeth Schreiber Date: Fri, 16 Feb 2024 09:50:41 -0700 Subject: [PATCH 5/9] Replace legacy callouts --- docs/source/configuration/authn-jwt.mdx | 2 +- docs/source/configuration/authorization.mdx | 2 +- docs/source/configuration/persisted-queries.mdx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/source/configuration/authn-jwt.mdx b/docs/source/configuration/authn-jwt.mdx index c0ca0644fe..626d2be233 100644 --- a/docs/source/configuration/authn-jwt.mdx +++ b/docs/source/configuration/authn-jwt.mdx @@ -3,7 +3,7 @@ title: JWT Authentication in the Apollo Router description: Restrict access to credentialed users and systems --- - + Authentication is crucial to prevent illegitimate access and protect sensitive data in your graph. The Apollo Router supports request authentication and key rotation via the [JSON Web Token](https://www.rfc-editor.org/rfc/rfc7519) (**JWT**) and [JSON Web Key](https://www.rfc-editor.org/rfc/rfc7517) (**JWK**) standards. This support is compatible with popular identity providers (**IdPs**) like Okta and Auth0. diff --git a/docs/source/configuration/authorization.mdx b/docs/source/configuration/authorization.mdx index 0e73f467b3..190d2aa8d2 100644 --- a/docs/source/configuration/authorization.mdx +++ b/docs/source/configuration/authorization.mdx @@ -3,7 +3,7 @@ title: Authorization in the Apollo Router description: Strengthen service security with a centralized governance layer --- - + APIs provide access to business-critical data. Unrestricted access can result in data breaches, monetary losses, or potential denial of service. Even for internal services, checks can be essential to limit data to authorized parties. diff --git a/docs/source/configuration/persisted-queries.mdx b/docs/source/configuration/persisted-queries.mdx index f6892412f0..2566ffbbc2 100644 --- a/docs/source/configuration/persisted-queries.mdx +++ b/docs/source/configuration/persisted-queries.mdx @@ -4,7 +4,7 @@ description: Secure your graph while minimizing request latency minVersion: 1.25.0 --- - + From 6e3754f0832879de8d87de2b4e22172a79edc8ac Mon Sep 17 00:00:00 2001 From: Maria Elisabeth Schreiber Date: Fri, 16 Feb 2024 09:52:54 -0700 Subject: [PATCH 6/9] Update subscription plan support --- docs/source/executing-operations/subscription-support.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/source/executing-operations/subscription-support.mdx b/docs/source/executing-operations/subscription-support.mdx index e427768274..8b53a7ebc0 100644 --- a/docs/source/executing-operations/subscription-support.mdx +++ b/docs/source/executing-operations/subscription-support.mdx @@ -3,13 +3,13 @@ title: GraphQL subscriptions with a self-hosted router description: Real-time data with GraphOS Enterprise --- -
+ -⚠️ **For self-hosted routers, subscription support is an [Enterprise feature](../enterprise-features/).** +**For self-hosted routers, subscription support is an [Enterprise feature](../enterprise-features/).** -Subscription support is also available for cloud routers with a GraphOS Serverless plan. [See the docs.](/graphos/operations/subscriptions) +Subscription support is also available for cloud routers with a GraphOS Serverless or Dedicated plan. [See the docs.](/graphos/operations/subscriptions) -
+
With [GraphOS Enterprise](/graphos/enterprise/), self-hosted instances of the Apollo Router provide support for GraphQL subscription operations: From e0c6b84dc79b9e29a6646a31db85cbb34d861fec Mon Sep 17 00:00:00 2001 From: Maria Elisabeth Schreiber Date: Fri, 16 Feb 2024 09:56:06 -0700 Subject: [PATCH 7/9] Capitalize Enterprise consistently --- docs/source/configuration/telemetry/overview.mdx | 2 +- docs/source/enterprise-features.mdx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/configuration/telemetry/overview.mdx b/docs/source/configuration/telemetry/overview.mdx index 5e09444e65..821f4e707c 100644 --- a/docs/source/configuration/telemetry/overview.mdx +++ b/docs/source/configuration/telemetry/overview.mdx @@ -143,6 +143,6 @@ You can use [standard attributes](./instrumentation/standard-attributes) or [sel -[Custom attributes for spans](./instrumentation/spans/#attributes) equire a GraphOS [Dedicated or Enterprise plan](https://www.apollographql.com/pricing#observability). +[Custom attributes for spans](./instrumentation/spans/#attributes) require a GraphOS [Dedicated or Enterprise plan](https://www.apollographql.com/pricing#observability). diff --git a/docs/source/enterprise-features.mdx b/docs/source/enterprise-features.mdx index eae81b122f..87ae4cf4de 100644 --- a/docs/source/enterprise-features.mdx +++ b/docs/source/enterprise-features.mdx @@ -19,7 +19,7 @@ Try out Enterprise GraphOS Router features for free with an [Enterprise trial](/ -Articles about enterprise features are marked with a **❖** icon in the left navigation. +Articles about Enterprise features are marked with a **❖** icon in the left navigation. From 17b3f1f0c5a34c5f7c77bac9cab62873327e873d Mon Sep 17 00:00:00 2001 From: Maria Elisabeth Schreiber Date: Fri, 16 Feb 2024 10:33:06 -0700 Subject: [PATCH 8/9] Apply suggestions from code review Co-authored-by: Edward Huang --- docs/source/enterprise-features.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/enterprise-features.mdx b/docs/source/enterprise-features.mdx index 87ae4cf4de..135f48bbaa 100644 --- a/docs/source/enterprise-features.mdx +++ b/docs/source/enterprise-features.mdx @@ -5,7 +5,7 @@ description: Available with GraphOS Enterprise Since the Apollo Router is [source-available](https://www.apollographql.com/blog/evaluating-apollo-router-understanding-free-and-open-vs-commercial-features), you can use its codebase without connecting it to GraphOS. GraphOS organizations with the Enterprise plan can [connect a self-hosted router to GraphOS](/graphos/quickstart/self-hosted#6-connect-the-router-to-graphos) for an expanded feature set. -A router connected to GraphOS, whether cloud- or self-hosted, is called a **GraphOS Router**, and has access to specific GraphOS features depending on the connected GraphOS organization's plan. Refer to the [pricing page](https://www.apollographql.com/pricing#graphos-router) to compare GraphOS Router features across plan types. +A router connected to GraphOS, whether cloud- or self-hosted, is called a **GraphOS Router**. It has access to specific GraphOS features depending on the connected GraphOS organization's plan. Refer to the [pricing page](https://www.apollographql.com/pricing#graphos-router) to compare GraphOS Router features across plan types. From 5f8d80b7fc4580430f45c4f71f3440a117bb1d03 Mon Sep 17 00:00:00 2001 From: Maria Elisabeth Schreiber Date: Fri, 16 Feb 2024 13:07:41 -0700 Subject: [PATCH 9/9] Lowercase router in GraphOS router --- docs/source/enterprise-features.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/enterprise-features.mdx b/docs/source/enterprise-features.mdx index 135f48bbaa..797d093822 100644 --- a/docs/source/enterprise-features.mdx +++ b/docs/source/enterprise-features.mdx @@ -5,11 +5,11 @@ description: Available with GraphOS Enterprise Since the Apollo Router is [source-available](https://www.apollographql.com/blog/evaluating-apollo-router-understanding-free-and-open-vs-commercial-features), you can use its codebase without connecting it to GraphOS. GraphOS organizations with the Enterprise plan can [connect a self-hosted router to GraphOS](/graphos/quickstart/self-hosted#6-connect-the-router-to-graphos) for an expanded feature set. -A router connected to GraphOS, whether cloud- or self-hosted, is called a **GraphOS Router**. It has access to specific GraphOS features depending on the connected GraphOS organization's plan. Refer to the [pricing page](https://www.apollographql.com/pricing#graphos-router) to compare GraphOS Router features across plan types. +A router connected to GraphOS, whether cloud- or self-hosted, is called a **GraphOS router**. It has access to specific GraphOS features depending on the connected GraphOS organization's plan. Refer to the [pricing page](https://www.apollographql.com/pricing#graphos-router) to compare GraphOS router features across plan types. -Try out Enterprise GraphOS Router features for free with an [Enterprise trial](/graphos/org/plans/#enterprise-trials). +Try out Enterprise GraphOS router features for free with an [Enterprise trial](/graphos/org/plans/#enterprise-trials).