Deploy Only Setup

How the Apollo GraphOS Operator works with externally published subgraphs


The Deploy Only Setup uses the Apollo GraphOS Operator solely for supergraph deployment. All subgraphs are published externally via rover subgraph publish, and the Supergraph resource directly references a graph variant in Apollo GraphOS, bypassing local composition entirely.

How It Works

The Operator's Role

The Apollo GraphOS Operator has a limited scope:

  1. No Subgraph Management: The Operator doesn't manage Subgraph resources

  2. Direct Graph Reference: Supergraph directly references a graph variant in Apollo GraphOS

  3. External Composition: All composition happens in Apollo GraphOS

  4. Kubernetes Deployment: The Operator only handles supergraph deployment in Kubernetes

When to Use This Pattern

Use this pattern when:

  • All subgraphs are published via rover

  • You have external CI/CD workflows for subgraph publishing

  • You want Kubernetes supergraph benefits without operator-managed subgraphs

  • You're not ready for operator-managed subgraphs

Key Configuration

Supergraph with Direct Graph Reference

YAML
1apiVersion: apollo.apollo.io/v1
2kind: Supergraph
3metadata:
4  name: retail-supergraph
5spec:
6  graphRef: retail-app@current  # Direct reference to graph variant
7  # No selectors or local composition

External Subgraph Publishing

Bash
1# Standard rover publishing workflow
2rover subgraph publish retail-app@current \
3  --name products \
4  --schema ./schema.graphql \
5  --routing-url http://products-service.example.com/graphql \
6  --apollo-key $APOLLO_KEY

What's Different About This Pattern

No Local Subgraph Management

  • No Subgraph resources in cluster

  • No SupergraphSchema resources

  • No local subgraph discovery

  • No local composition logic

External Composition

  • All composition happens in Apollo GraphOS

  • External publishing workflows required

  • Fastest deployment path (no local composition)

  • External monitoring and health checks

Limited Operator Scope

  • Operator focuses only on supergraph deployment

  • No automatic subgraph discovery

  • No real-time schema synchronization

  • Reduced operator capabilities

Supergraph CD Pattern

  • Operator triggers deployments when schemas change in GraphOS

  • Contrasts with Router hot reloads

  • Kubernetes-native deployment management

Feedback

Edit on GitHub

Ask Community