Skip to content

Conversation

@DMallare
Copy link
Contributor


Adding a note about the Operator in our deployment docs

Checklist

Complete the checklist (and note appropriate exceptions) before the PR is marked ready-for-review.

  • PR description explains the motivation for the change and relevant context for reviewing
  • PR description links appropriate GitHub/Jira tickets (creating when necessary)
  • Changeset is included for user-facing changes
  • Changes are compatible1
  • Documentation2 completed
  • Performance impact assessed and acceptable
  • Metrics and logs are added3 and documented
  • Tests added and passing4
    • Unit tests
    • Integration tests
    • Manual tests, as necessary

Exceptions

Note any exceptions here

Notes

Footnotes

  1. It may be appropriate to bring upcoming changes to the attention of other (impacted) groups. Please endeavour to do this before seeking PR approval. The mechanism for doing this will vary considerably, so use your judgement as to how and when to do this.

  2. Configuration is an important part of many changes. Where applicable please try to document configuration examples.

  3. A lot of (if not most) features benefit from built-in observability and debug-level logs. Please read this guidance on metrics best-practices.

  4. Tick whichever testing boxes are applicable. If you are adding Manual Tests, please document the manual testing (extensively) in the Exceptions.

@DMallare DMallare requested a review from a team as a code owner November 24, 2025 19:42
@github-actions
Copy link
Contributor

@DMallare, please consider creating a changeset entry in /.changesets/. These instructions describe the process and tooling.

@apollo-librarian
Copy link

apollo-librarian bot commented Nov 24, 2025

✅ Docs preview ready

The preview is ready to be viewed. View the preview

File Changes

0 new, 3 changed, 0 removed
* graphos/routing/(latest)/performance/caching/response-caching/customization.mdx
* graphos/routing/(latest)/self-hosted/containerization/kubernetes/quickstart.mdx
* graphos/routing/(latest)/self-hosted/index.mdx

Build ID: a5dfecac2390c6ecd7e0e4fe
Build Logs: View logs

URL: https://www.apollographql.com/docs/deploy-preview/a5dfecac2390c6ecd7e0e4fe

@mabuyo
Copy link
Contributor

mabuyo commented Nov 24, 2025

Thanks for adding this @DMallare ! Would you mind adding to this page as well? https://www.apollographql.com/docs/graphos/routing/self-hosted

I'm thinking a similar format to the Docker section except with Kubernetes and sub-headings for Helm and Apollo Operator.
I'm not familiar with our guidance on when to use which, it would be great to have that information. I'm happy to massage the wording!

@DMallare DMallare force-pushed the dmallare/add-operator-note branch 3 times, most recently from 1bfb531 to 55f23c2 Compare November 25, 2025 19:51
@DMallare
Copy link
Contributor Author

Thanks for adding this @DMallare ! Would you mind adding to this page as well? https://www.apollographql.com/docs/graphos/routing/self-hosted

I'm thinking a similar format to the Docker section except with Kubernetes and sub-headings for Helm and Apollo Operator. I'm not familiar with our guidance on when to use which, it would be great to have that information. I'm happy to massage the wording!

Added!

@DMallare DMallare force-pushed the dmallare/add-operator-note branch from 7398ff1 to f27bf56 Compare November 25, 2025 21:35
@DMallare DMallare force-pushed the dmallare/add-operator-note branch from f27bf56 to 6513c90 Compare November 25, 2025 22:17
@DMallare DMallare requested a review from mabuyo November 26, 2025 17:08
Copy link
Contributor

@mabuyo mabuyo left a comment

Choose a reason for hiding this comment

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

A couple of suggestions!

Comment on lines 133 to 140
## Consider using the Apollo GraphOS Operator

The [Apollo GraphOS Operator](/apollo-operator/), which is in Preview, offers an alternative method to deploy the router and manage your schema and subgraphs. The Operator provides declarative Kubernetes resources for managing routers, supergraphs, graph schemas, and subgraphs. It can simplify complex multi-service architectures.
The [Apollo GraphOS Operator](/apollo-operator/) offers an alternative method to deploy the router and manage your schema and subgraphs. The Operator provides declarative Kubernetes resources to manage routers, supergraphs, graph schemas, and subgraphs. It simplifies complex multi-service architectures.

The Operator offers different [workflow patterns](/apollo-operator/workflows/) depending on your infrastructure:
The Operator supports different [workflow patterns](/apollo-operator/workflows/) based on your infrastructure:
- Single-cluster setups for simpler deployments
- Multi-cluster and hybrid configurations for distributed services
- Deploy-only patterns for existing CI/CD workflows
Copy link
Contributor

Choose a reason for hiding this comment

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

We can actually remove this entire section in favour of the note at the top!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Agreed :)

Comment on lines 19 to 21
<Note>
For a production-grade self-hosted deployment, Apollo recommends the [Apollo GraphOS Operator](/apollo-operator/).
</Note>
Copy link
Contributor

Choose a reason for hiding this comment

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

What do we mean by "production-grade" here? To me, it implies that the alternatives are not production-grade. It feels a bit too much like marketing-speak for my taste. Can we be more concrete on when they should use the Operator vs Helm?

Here's my suggestion based on what was in the last section ("Consider using Apollo Operator")

Suggested change
<Note>
For a production-grade self-hosted deployment, Apollo recommends the [Apollo GraphOS Operator](/apollo-operator/).
</Note>
<Note>
Apollo recommends using the [Apollo GraphOS Operator](/apollo-operator/) for production deployments and when managing multiple routers or complex architectures. The Operator provides declarative Kubernetes resources to manage routers, supergraphs, graph schemas, and subgraphs, making it easier to maintain consistency and automate deployments across your infrastructure.
<br/><br/>
Use the Operator when you need:
- Production-grade deployments with declarative configuration management
- Simplified management of multiple routers, supergraphs, and subgraphs
- Support for complex architectures including single-cluster, multi-cluster, and hybrid configurations
- Integration with existing CI/CD workflows through deploy-only patterns
For more details, see the [Operator workflow patterns](/apollo-operator/workflows/).
</Note>

Though it's longer, I feel we need to give people a good enough reason to click off the Helm guide and use our recommended approach.

Copy link
Contributor

Choose a reason for hiding this comment

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

Please feel super free to verify this wording, I'm not familiar with Operator/K8s/Helm enough to verify its accuracy!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I like this but we do have a section at the bottom of this page. I think we can just get rid of that and use this suggestion. I will make that change.

For a production-grade self-hosted deployment, Apollo recommends the [Apollo GraphOS Operator](/apollo-operator/).
</Note>


Copy link
Contributor

Choose a reason for hiding this comment

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

Can we also re-arrange a few things in this intro?

  • Note should be at the very top
  • Followed by ElasticNotice
  • Then, add the intro explaining what this guide is and why you might want to use this approach compared to the Operator
This guide uses Helm charts to deploy a self-hosted router in Kubernetes. Using Helm is suitable for quick deployments, testing, or when you prefer direct Helm chart management.

This guide shows how to...


### Apollo GraphOS Operator

For a production-grade self-hosted deployment, Apollo recommends the [Apollo GraphOS Operator](/apollo-operator/). The Operator provides declarative Kubernetes resources to manage routers, supergraphs, graph schemas, and subgraphs. It simplifies complex multi-service architectures.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
For a production-grade self-hosted deployment, Apollo recommends the [Apollo GraphOS Operator](/apollo-operator/). The Operator provides declarative Kubernetes resources to manage routers, supergraphs, graph schemas, and subgraphs. It simplifies complex multi-service architectures.
Apollo recommends the [Apollo GraphOS Operator](/apollo-operator/). The Operator provides declarative Kubernetes resources to manage routers, supergraphs, graph schemas, and subgraphs. It simplifies complex multi-service architectures.

Similar to my earlier comment, I think we can just say this is the recommended way.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants