-
Notifications
You must be signed in to change notification settings - Fork 324
Add note to docs about Apollo GraphOS Operator #8670
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Conversation
|
@DMallare, please consider creating a changeset entry in |
✅ Docs preview readyThe preview is ready to be viewed. View the preview File Changes 0 new, 3 changed, 0 removedBuild ID: a5dfecac2390c6ecd7e0e4fe URL: https://www.apollographql.com/docs/deploy-preview/a5dfecac2390c6ecd7e0e4fe |
|
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. |
1bfb531 to
55f23c2
Compare
Added! |
7398ff1 to
f27bf56
Compare
f27bf56 to
6513c90
Compare
mabuyo
left a comment
There was a problem hiding this 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!
| ## 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 |
There was a problem hiding this comment.
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!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed :)
| <Note> | ||
| For a production-grade self-hosted deployment, Apollo recommends the [Apollo GraphOS Operator](/apollo-operator/). | ||
| </Note> |
There was a problem hiding this comment.
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")
| <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.
There was a problem hiding this comment.
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!
There was a problem hiding this comment.
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> | ||
|
|
||
|
|
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| 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.
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.
Exceptions
Note any exceptions here
Notes
Footnotes
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. ↩
Configuration is an important part of many changes. Where applicable please try to document configuration examples. ↩
A lot of (if not most) features benefit from built-in observability and
debug-level logs. Please read this guidance on metrics best-practices. ↩Tick whichever testing boxes are applicable. If you are adding Manual Tests, please document the manual testing (extensively) in the Exceptions. ↩