Apollo GraphOS Operator

Deploy and manage GraphQL supergraphs in Kubernetes with the Apollo GraphOS Operator


The Apollo GraphOS Operator is a Kubernetes-native operator for deploying and managing GraphQL federated architectures. It lets you define your GraphQL services (subgraphs) and compose them into a supergraph using Kubernetes resources. The operator integrates with Apollo GraphOS and your existing Kubernetes workflows, deploys the GraphOS Router, automates schema publishing, composition, deployment, and monitoring.

PLAN REQUIRED
This feature is available on the following GraphOS plans: Developer, Standard, Enterprise.

Key Benefits

  • Declarative Management: Define subgraphs, supergraphs, and composition rules as Kubernetes resources.

  • Flexible Workflows: Use Kubernetes manifests or Apollo Studio for management. Supports single-cluster, multi-cluster, and hybrid setups.

  • Automated CI/CD: Automatically detects schema changes, triggers composition, and deploys updated supergraphs.

  • Integrated Monitoring: Status and health are surfaced via Kubernetes events and resource statuses, compatible with tools like Datadog.

  • Security Best Practices: Supports namespace-scoped RBAC, API key management, and secure deployment patterns.

How the Apollo GraphOS Operator Works

Core Components

The Operator manages three main Kubernetes resources:

  1. Subgraph: Defines a GraphQL subgraph with its schema and endpoint

  2. SupergraphSchema: Selects Subgraphs and composes them into a supergraph schema

  3. Supergraph: Deploys the composed schema as a running router

The Composition Flow

What happens:

  1. The Operator watches Subgraph resources and extracts their schemas

  2. SupergraphSchema uses label selectors to find relevant Subgraphs

  3. The Operator publishes selected subgraphs to Apollo GraphOS

  4. Apollo GraphOS composes the supergraph schema

  5. The Operator fetches the composed schema and deploys it via Supergraph / Router

Key Architectural Concepts

Subgraph Discovery

Composition Strategy

  • Full composition: All matching subgraphs must be available

  • Partial composition: Some subgraphs can be missing (requires partial: true)

  • External composition: Subgraphs published outside Kubernetes

See Composition Strategies for more details.

Schema Sources

  • Inline SDL: Schema defined directly in the Subgraph resource

  • OCI Image: Schema loaded from container images

  • OCI Artifact: Schema loaded from OCI registry artifacts

See Choose your schema source for more details.

Get Started

Ready to try it out? Follow the Getting Started guide.

Feedback

Edit on GitHub

Ask Community