Create
Creates a federated graph on the control plane.
Usage
Description
The npx wgc federated-graph create
command allows you to create a new federated graph on the Cosmo platform's control plane. Federated graphs provide a mechanism to combine multiple subgraphs into a unified schema, enabling efficient, scalable, and distributed GraphQL APIs. With this command, you can create a federated graph and specify the routing URL for your router and the labels used to select the subgraphs to be federated.
Parameters
<name>
: The name of the federated graph you want to create. Replace<name>
with the desired name for your federated graph.
Required Options
-r , --routing-url
: The routing URL of your router. This URL defines the endpoint where the router will be accessible. The federated graph will be accessible through this router.
--label-matcher <labels...>
: The labels used to select the subgraphs to be federated. Labels are passed in the format <key>=<value> <key>=<value>
, where each <key>=<value>
pair represents a label key and its corresponding value. The federated graph will include the subgraphs that match the specified labels.
--readme
: The path to the markdown file which describes the federated graph. The readme can be used to communicate the information of the federated graph to other team members.
Options
-n, --namespace
: The namespace of the federated graph (Default: "default").-r, --routing-url
:The routing url of your router. This is the url that the router will be accessible at.--admission-webhook-url <url>
the base url of the admission webhook. This is the url that the controlplane will use to implement admission control for the federated graph. Example:https://admission.example.com
(without the/validate-config
path name)--admission-webhook-secret
: Allows you to sign requests (HMAC) made to your admission webhook url. The header containing this signature isX-Cosmo-Signature-256
--label-matcher [labels...]
: The label matcher is used to select the subgraphs to federate. The labels are passed in the format = =. They are separated by spaces and grouped using comma. Example: --label-matcher team=A,team=B env=prod--readme
: The markdown file which describes the federated graph.--suppress-warnings
: This flag suppresses any warnings produced by composition.
Examples
Create a federated graph named "production" with a routing URL of "http://router.example.com/graphql" and federate subgraphs with labels team=A
and department=backend
.
Notes
The
npx wgc federated-graph create
command interacts with the Cosmo platform's control plane to create the specified federated graph.The routing URL of the router should be accessible by the federated graph to handle incoming queries and route them to the appropriate subgraphs.
Last updated
Was this helpful?