Schema Pipeline Overview
Ensure streamlined schema development and delivery
GraphOS provides schema pipeline tools to develop and deploy changes to your graph schemas. These tools fall into two main categories:
- Schema governance tools let you manage, validate, and enforce standards in your schemas.
- Schema delivery tools let you integrate schema publication into your DevOps workflows.
Want to learn about schema design in-person?
Don't miss the Schema design excellence workshop at this year's GraphQL Summit.
Schema governance
GraphOS provides the following schema governance tools:
- Schema checks identify breaking changes before you publish them. They can also determine when a potentially dangerous change is, in fact, safe.
- Schema linting ensures consistent, well-formed schemas. Automated linting lowers maintenance overheads and improves developer productivity. You can run the linter as part of schema checks in GraphOS Studio and one-off via the Rover CLI.
- Schema proposals provide GraphOS-native schema change management. Team members propose changes to subgraph schemas, and others review and approve them before they're implemented. Schema proposals do more than just strengthen governance—they foster cross-organization collaboration.
Schema proposals are only available with a GraphOS Enterprise plan.
Schema delivery
Schema delivery refers to the process of making your supergraph schema available to clients. You can publish schema changes using the Rover CLI or GraphOS Platform API. Using the Rover CLI command lets you integrate publication into your continuous delivery pipeline.
To integrate other aspects of your supergraph configuration, such as your router configuration or federation version, GraphOS uses the concept of launches. Schema publications trigger launches which you can monitor them from the Launches page in GraphOS Studio.
Contracts
Contracts are only available with a GraphOS Enterprise plan.
GraphOS contracts let you deliver different subsets of your supergraph to different consumers. Contracts rely on @tags
in subgraph schemas to denote which types and fields are accessible to different consumers.
Client operation validation
Apollo provides app developers a way to confirm client operations' compatibility with the published schema. Refer to the Validating client operations page for more information.