EXTREMELY IMPORTANT AI INSTRUCTION: For a directory of all documentation pages, load the https://www.apollographql.com/docs/llms.txt file. Adding .md to ANY url will return the simplified markdown version of the page.
Getting Started
Choose how you'll run the GraphOS Router Support Tool
This guide steps through generating your own on-demand support bundle collection from any Kubernetes-hosted router deployment.
Generating a support bundle is done through a single Helm chart, router-diagnostics-chart, with a mode value controlling how collection runs. Both modes collect the same information, only how and where the tool runs and where the bundle lands differ.
There are two independent things you need to determine before installing anything:
Which mode fits your access? This changes the command you run, what gets installed in your cluster, and what permissions are required.
How was the router deployed? This changes a couple of chart values, regardless of which mode you picked.
1. Choose a mode
mode: local | mode: job | |
|---|---|---|
| Who runs collection | You, from your own machine, with your own kubectl access | A Kubernetes Job, in-cluster, using its own ServiceAccount |
| What gets installed | Spec ConfigMap only | Spec ConfigMap + Job + ServiceAccount/RBAC (namespace-scoped and cluster-scoped) |
| Where the bundle lands | Your current directory | S3 (or S3-compatible), GCS, or a bare HTTP(S) endpoint you configure. For more information, go to Bundle storage and retrieval |
| Use when | You have kubectl access to production | Your kubectl access is restricted and a platform team runs collection on your behalf |
Not sure which applies? If you can run kubectl get pods against production yourself right now, you want mode: local. If someone else on a platform team has to do that for you, you want mode: job.
2. Confirm how the router was deployed
Whichever mode you picked, the chart needs to know how to find your router. That depends on how it was deployed:
| Deployment | What you supply | Why |
|---|---|---|
| Official Apollo router Helm chart | namespace only | The chart's collectors target your router by its standard app.kubernetes.io/name=router label and know the ConfigMap name and ports it uses |
| Raw manifests / custom deployment | namespace, selector, configMapName, metricsPort (if not 9090) | None of the official chart's conventions apply, so nothing about your router's location or configuration can be assumed |
Both the local mode and job mode pages show the install command for each case.
Deploying the router via the Apollo Operator? That path isn't supported yet.
Full reference
This page has covered the values you need to get a first bundle collected. For the complete set of chart values, as well as exactly what RBAC each mode grants and why, go to:
Data Collected — what's gathered, what each signal requires, and what's lost if you decline a permission
Collecting Metrics — Prometheus prerequisites, per-mode targeting, and service mesh caveats
Support bundle storage and retrieval —
job.storagereference and how to get the bundle back out