From 742bc650c8ce5e2af6de563c6ff49c66d6342352 Mon Sep 17 00:00:00 2001 From: Kamil Kisiela Date: Mon, 18 Nov 2024 15:00:17 +0100 Subject: [PATCH] Update hierarchy of headings on /federation page (#5988) --- packages/web/docs/src/components/federation-page.tsx | 6 +++--- packages/web/docs/src/components/landing-page.tsx | 4 ++-- packages/web/docs/src/pages/docs/gateway/index.mdx | 12 ++++++------ .../src/pages/docs/get-started/apollo-federation.mdx | 4 +++- packages/web/docs/src/pages/docs/index.mdx | 6 +++--- .../src/pages/docs/schema-registry/contracts.mdx | 2 +- .../docs/src/pages/docs/schema-registry/index.mdx | 3 +++ .../docs/src/pages/docs/use-cases/apollo-studio.mdx | 9 ++++++--- 8 files changed, 27 insertions(+), 19 deletions(-) diff --git a/packages/web/docs/src/components/federation-page.tsx b/packages/web/docs/src/components/federation-page.tsx index 8219c6ced..34bb56a6f 100644 --- a/packages/web/docs/src/components/federation-page.tsx +++ b/packages/web/docs/src/components/federation-page.tsx @@ -103,7 +103,7 @@ function Intro() { function WhyFederation(props: { className?: string }) { return (
- + Why GraphQL Federation?
    @@ -296,7 +296,7 @@ function WhyHive({ className }: { className?: string }) { className, )} > - + Why Choose Hive for GraphQL Federation?
      @@ -382,7 +382,7 @@ function GetStarted(props: { className?: string }) { props.className, )} > - + Get Started with GraphQL Federation

      diff --git a/packages/web/docs/src/components/landing-page.tsx b/packages/web/docs/src/components/landing-page.tsx index 4f6015ae1..f90b346f1 100644 --- a/packages/web/docs/src/components/landing-page.tsx +++ b/packages/web/docs/src/components/landing-page.tsx @@ -126,7 +126,7 @@ function EnterpriseFocusedCards({ className }: { className?: string }) {

      - + Enterprise-Focused Tools Tailored for You
        @@ -164,7 +164,7 @@ function EnterpriseFocusedCards({ className }: { className?: string }) { function UltimatePerformanceCards() { return (
        - + GraphQL Federation for the Ultimate Performance
          diff --git a/packages/web/docs/src/pages/docs/gateway/index.mdx b/packages/web/docs/src/pages/docs/gateway/index.mdx index 978e0baf4..91df1e6a3 100644 --- a/packages/web/docs/src/pages/docs/gateway/index.mdx +++ b/packages/web/docs/src/pages/docs/gateway/index.mdx @@ -8,8 +8,8 @@ import { Callout, Cards, Tabs } from '@theguild/components' # Hive Gateway -Hive Gateway is a fully open-source MIT-licensed GraphQL gateway that can act as a Apollo Federation -Gateway or a Proxy Gateway for any GraphQL services. +Hive Gateway is a fully open-source MIT-licensed GraphQL gateway that can act as a +[GraphQL federation](/federation) Gateway or a Proxy Gateway for any GraphQL services. The Hive Gateway can be run as a standalone binary, a Docker Image, or as a JavaScript package (e.g. within Node.js, Bun, Deno, Google Cloud Functions, Azure Functions or Cloudflare Workers) @@ -87,7 +87,7 @@ npm i @graphql-hive/gateway Hive Gateway supports two different modes: -- **Apollo Federation.** Serve a supergraph provided by a schema registry like +- [**GraphQL Federation.**](/federation) Serve a supergraph provided by a schema registry like [Hive Registry](https://the-guild.dev/graphql/hive/docs/schema-registry), a composition tool like [Apollo Rover](https://www.apollographql.com/docs/rover/), [GraphQL Mesh](https://graphql-mesh.com/) or any other Federation compliant composition tool such @@ -102,9 +102,9 @@ Hive Gateway supports two different modes: -To serve a Apollo Federation Gateway, we need to point the Gateway to either a local supergraph file -or a supergraph served by our schema registry. For this example, we will serve a supergraph from the -Hive schema registry. +To serve a [GraphQL federation](/federation) Gateway, we need to point the Gateway to either a local +supergraph file or a supergraph served by our schema registry. For this example, we will serve a +supergraph from the Hive schema registry. diff --git a/packages/web/docs/src/pages/docs/get-started/apollo-federation.mdx b/packages/web/docs/src/pages/docs/get-started/apollo-federation.mdx index d45b6bdfa..cc5485696 100644 --- a/packages/web/docs/src/pages/docs/get-started/apollo-federation.mdx +++ b/packages/web/docs/src/pages/docs/get-started/apollo-federation.mdx @@ -17,9 +17,11 @@ import tokenImage from '../../../../public/docs/pages/guides/token.png' # Get started with Apollo Federation -Once you've created a Hive project of type **Apollo Federation**, you can start pushing your Apollo +Once you've created a Hive project of type **Federation**, you can start pushing your GraphQL Federation subgraph schemas to the Hive registry. +> Learn more about [GraphQL federation and its benefits](/federation). + This guide will walk you through the basics of schema pushing, checking, and spin up the Hive Gateway serving the federated GraphQL schema. diff --git a/packages/web/docs/src/pages/docs/index.mdx b/packages/web/docs/src/pages/docs/index.mdx index f7aad2ad1..70154f0c0 100644 --- a/packages/web/docs/src/pages/docs/index.mdx +++ b/packages/web/docs/src/pages/docs/index.mdx @@ -2,9 +2,9 @@ import { Callout, Cards } from '@theguild/components' # Introduction to Hive -**Hive** is a GraphQL schema registry for managing and collaborating on all your **Apollo -Federation**, **Monolithic** or **[Schema Stitching](https://the-guild.dev/graphql/stitching)** -GraphQL workflows. +**Hive** is a GraphQL schema registry for managing and collaborating on all your +[**GraphQL Federation**](/federation), **Monolithic** or +**[Schema Stitching](https://the-guild.dev/graphql/stitching)** GraphQL workflows. The Hive platform gives the tools you need to gain insights, make decissions, and evolve your GraphQL API with confidence. diff --git a/packages/web/docs/src/pages/docs/schema-registry/contracts.mdx b/packages/web/docs/src/pages/docs/schema-registry/contracts.mdx index c313451f7..a3e52b22e 100644 --- a/packages/web/docs/src/pages/docs/schema-registry/contracts.mdx +++ b/packages/web/docs/src/pages/docs/schema-registry/contracts.mdx @@ -48,7 +48,7 @@ For each contract definition, Hive runs: ### Federation Contracts -In Federation subgraphs, fields can be tagged with the `@tag` directive. +In [Federation](/federation) subgraphs, fields can be tagged with the `@tag` directive. ```graphql filename="Example Subgraph" {6,11,12,13} extend schema diff --git a/packages/web/docs/src/pages/docs/schema-registry/index.mdx b/packages/web/docs/src/pages/docs/schema-registry/index.mdx index 550e21680..4f20b38f6 100644 --- a/packages/web/docs/src/pages/docs/schema-registry/index.mdx +++ b/packages/web/docs/src/pages/docs/schema-registry/index.mdx @@ -9,6 +9,9 @@ Hive as a schema registry serves the main purpose of preventing breaking changes your GraphQL API stays up-to-date and running smoothly. This allows you to plan ahead and make the necessary modifications to your schema in a timely manner. +> Schema Registry is essential for successfully implementing [federated GraphQL APIs](/federation), +> as it ensures consistent schema management and type definitions. + However, it is important to note that determining what constitutes a breaking change can be a complex task. It requires a thorough understanding of your GraphQL API, consumers and real-world traffic patterns. Hive provides a set of tools to help you with this task. diff --git a/packages/web/docs/src/pages/docs/use-cases/apollo-studio.mdx b/packages/web/docs/src/pages/docs/use-cases/apollo-studio.mdx index 6b97ee7c7..5be6dd534 100644 --- a/packages/web/docs/src/pages/docs/use-cases/apollo-studio.mdx +++ b/packages/web/docs/src/pages/docs/use-cases/apollo-studio.mdx @@ -17,8 +17,8 @@ One of GraphQL Hive's standout features is its **seamless integration with the A It works alongside the [Apollo Router](/docs/other-integrations/apollo-router) and [Apollo Gateway](/docs/other-integrations/apollo-gateway), ensuring a consistent and smooth experience for users. This integration extends to supporting -[Apollo Federation v1 and v2](/docs/get-started/apollo-federation), allowing you to leverage the -advantages of federated architectures while benefiting from GraphQL Hive's capabilities. +[Apollo Federation v1 and v2](/federation), allowing you to leverage the advantages of federated +architectures while benefiting from GraphQL Hive's capabilities. ```mermaid @@ -49,7 +49,7 @@ For those fimiliar with using Rover CLI, transitioning to Hive is remarkably str existing users**. This aspect simplifies the migration process from Apollo GraphOS to Hive, allowing developers to quickly adapt and continue their work without interruption. -## Open Source Freedom, No Vendor Lock-in +## Open Source GraphQL Federation Platform Built on a foundation of open source technologies like [Postgres, ClickHouse, and Redis](https://github.com/graphql-hive/platform/blob/main/docker/docker-compose.community.yml), @@ -61,6 +61,9 @@ GraphQL infrastructure. Hive does not gate any features behind a paywall. Self-hosted and cloud-hosted options are identical. +Both Hive Console (Schema Registry and Observability) and Hive Gateway are fully open source and +MIT-licensed. + ## On-Premise and Cloud Hosting Options Whether you're working on a side project or managing a larger beast, Hive caters to your hosting