Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ Username: [email protected]
Password: wunder@123
```

If you want to interact from [wgc](https://github.com/wundergraph/cosmo-docs/blob/main/deployments-and-hosting/kubernetes/helm-chart/broken-reference/README.md) with the controlplane, you can use the following credentials:
If you want to interact from `wgc` with the controlplane, you can use the following credentials:

```bash
export COSMO_API_KEY="cosmo_669b576aaadc10ee1ae81d9193425705"
Expand Down
3 changes: 1 addition & 2 deletions docs/docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -350,7 +350,6 @@
"group": "Directives",
"icon": "sign-post",
"pages": [
"federation/directives",
"federation/federation-directives-index",
"federation/directives/shareable",
"federation/directives/authenticated",
Expand Down Expand Up @@ -616,7 +615,7 @@
]
},
{
"tab": "Guides",
"tab": "Tutorials",
"icon": "newspaper",
"groups": [
{
Expand Down
4 changes: 2 additions & 2 deletions docs/federation/federation-compatibility-matrix.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ description: "The following list gives you an Overview of the compatibility betw
| @extends | Supported |
| @external | Supported |
| @key | Supported |
|@key (composite keys)| Supported |
| @key (composite keys)| Supported |
| @provides | Supported |
| @requires | Supported |
| @tag | Supported |
Expand All @@ -24,7 +24,7 @@ description: "The following list gives you an Overview of the compatibility betw
|-----------|-------|
| @inaccessible | Supported |
| @override | Supported |
| @shareable | Supported |
| [@shareable](/federation/directives/shareable) | Supported |
| @key "resolvable" argument | Supported |
| @link | Supported (but unnecessary) |

Expand Down
10 changes: 5 additions & 5 deletions docs/federation/federation-directives-index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ This page lists the GraphQL Federation directives currently supported by WunderG
| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`@authenticated`](/federation/directives/authenticated) | Marks a field or type as requiring authentication. Only requests with valid credentials can access it. |
| `@composeDirective` (planned) | Tells the composition process to preserve a specific custom type system directive in the supergraph. |
| [`@edfs__kafkaPublish`](/federation/event-driven-federation/kafka) | Marks a mutation field that publishes an event to a Kafka topic. Requires a topic and provider ID. |
| [`@edfs__kafkaSubscribe`](/federation/event-driven-federation/kafka) | Declares a subscription field that listens to one or more Kafka topics. Used in EDG Subscription fields. |
| [`@edfs__natsPublish`](/federation/event-driven-federation/nats) | Marks a mutation field that publishes an event to a NATS subject. Requires a subject and provider ID. |
| [`@edfs__natsRequest`](/federation/event-driven-federation/nats) | Declares a query field that requests an event over NATS and expects a response. Used in EDG Query fields. |
| [`@edfs__natsSubscribe`](/federation/event-driven-federation/nats) | Marks a subscription field that listens to one or more NATS subjects. Can include stream configuration. |
| [`@edfs__kafkaPublish`](/federation/event-driven-federated-subscriptions/kafka#%40edfs-kafkapublish) | Marks a mutation field that publishes an event to a Kafka topic. Requires a topic and provider ID. |
| [`@edfs__kafkaSubscribe`](/federation/event-driven-federated-subscriptions/kafka#%40edfs-kafkasubscribe) | Declares a subscription field that listens to one or more Kafka topics. Used in EDG Subscription fields. |
| [`@edfs__natsPublish`](/federation/event-driven-federated-subscriptions/nats#%40edfs-natspublish) | Marks a mutation field that publishes an event to a NATS subject. Requires a subject and provider ID. |
| [`@edfs__natsRequest`](/federation/event-driven-federated-subscriptions/nats#%40edfs-natsrequest) | Declares a query field that requests an event over NATS and expects a response. Used in EDG Query fields. |
| [`@edfs__natsSubscribe`](/federation/event-driven-federated-subscriptions/nats#%40edfs-natssubscribe) | Marks a subscription field that listens to one or more NATS subjects. Can include stream configuration. |
| `@external` | Marks a field as coming from another subgraph in a federated GraphQL schema. The field exists on the base type in a different subgraph and is not resolved by the current one, but it can be referenced if needed by directives or to satisfy an interface. In addition to indicating data ownership, `@external` is used in several advanced scenarios: to satisfy an interface implementation, to reference a field that may be conditionally provided via `@provides`, or to declare a dependency used by `@requires`. |
| `@extends` | Marks an object or interface as an extension of a type that is defined in another subgraph, typically when the subgraph's GraphQL implementation does not support the `extend` keyword. This directive is mainly used by subgraph servers that lack native support for type extensions. In Federation v2, this is no longer required to mark entity types as extensions. Any subgraph can contribute fields to an entity without declaring it as an extension. In Federation v1, each entity had an originating subgraph, and any other subgraph referencing that entity was required to use the `extend` keyword. The `@extends` directive remains in use primarily for backward compatibility and edge cases in tooling support. |
| `@inaccessible` | Hides a field or type from the client schema. It cannot be queried by the user, but the planner may still access it if used in a `@key`, `@requires`, or `@provides` directive. Types marked as inaccessible are excluded from unions and interfaces. If the server returns one, the router will either return an error or render the object as null depending on the field’s nullability. |
Expand Down
Binary file modified docs/images/concepts/feature-flag-traffic-splitting.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/concepts/feature-flags.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/tutorial/apollo-compatibility-mode.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -134,5 +134,5 @@ subscription {
## System diagram

<Frame>
![](/images/router/event-driven-federated-subscriptions-edfs/kafka2.png)
<img src="/images/router/event-driven-federated-subscriptions-edfs/kafka2.png" />
</Frame>
2 changes: 1 addition & 1 deletion docs/router/open-telemetry.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ telemetry:
<AccordionGroup>
<Accordion title="Can I export OTEL data from my application?" >

Yes, but this is currently limited to private backend applications e.g. subgraphs because we don't provide a secure mechanism to issue short-lived tokens in public applications like Web-Apps. Never expose your GRAPH\_TOKEN to the public. A possible solution to make this work is to run an [otelcollector](https://docs.newrelic.com/docs/more-integrations/open-source-telemetry-integrations/opentelemetry/collector/opentelemetry-collector-intro/) and utilize the export functionality to forward telemetry data to Cosmo Cloud. This will enable you to configure your own authentication layer and observe malicious behaviors. It is also a [recommended](https://docs.newrelic.com/docs/more-integrations/open-source-telemetry-integrations/opentelemetry/best-practices/opentelemetry-best-practices-browser/) approach to ingest data to multiple OTEL platforms.
Yes, but this is currently limited to private backend applications e.g. subgraphs because we don't provide a secure mechanism to issue short-lived tokens in public applications like Web-Apps. Never expose your GRAPH\_TOKEN to the public. A possible solution to make this work is to run an [otelcollector](https://docs.newrelic.com/docs/more-integrations/open-source-telemetry-integrations/opentelemetry/collector/opentelemetry-collector-intro/) and utilize the export functionality to forward telemetry data to Cosmo Cloud. This will enable you to configure your own authentication layer and observe malicious behaviors. It is also a recommended approach to ingest data to multiple OTEL platforms.
</Accordion>

<Accordion title="Why is my trace incomplete?">
Expand Down
6 changes: 3 additions & 3 deletions docs/tutorial/deploy-federated-graphql-with-confidence.mdx
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
---
title: "Deploy GraphQL Federation with Confidence"
description: "Complete guide to deploying federated GraphQL - from schema validation and basic deployments to advanced canary strategies and production monitoring."
description: "Complete tutorial to deploying federated GraphQL - from schema validation and basic deployments to advanced canary strategies and production monitoring."
icon: "rocket"
---

## What You'll Learn

This guide will teach you how to safely deploy subgraphs in a federated GraphQL architecture. We'll start with the basics and build up to advanced deployment strategies, focusing on preventing production issues and maintaining system reliability.
This tutorial will teach you how to safely deploy subgraphs in a federated GraphQL architecture. We'll start with the basics and build up to advanced deployment strategies, focusing on preventing production issues and maintaining system reliability.

<CardGroup cols={2}>
<Card title="Federation Basics" icon="cube">
Expand Down Expand Up @@ -297,7 +297,7 @@ ENV EXECUTION_CONFIG_FILE_PATH=/app/config.json

---

All subsequent examples in this guide follow the **dynamic configuration approach** for simplicity. If you're using static configuration, you'll need to modify the examples to include router config building and deployment steps.
All subsequent examples in this tutorial follow the **dynamic configuration approach** for simplicity. If you're using static configuration, you'll need to modify the examples to include router config building and deployment steps.

## Automated CI/CD Integration

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "From Zero to Federation in 5 Steps using Cosmo"
description: "This guide offers a hands-on introduction to Cosmo using a sample demo repository. You'll set up the demo subgraphs and Cosmo Router locally, allowing you to start querying right away."
description: "This tutorial offers a hands-on introduction to Cosmo using a sample demo repository. You'll set up the demo subgraphs and Cosmo Router locally, allowing you to start querying right away."
icon: rocket
---

Expand Down
2 changes: 1 addition & 1 deletion docs/tutorial/grpc-service-quickstart.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Deploy Your First gRPC Service"
description: "This guide will walk you through the process of integrating a gRPC service into your router using Cosmo CLI templates."
description: "This tutorial will walk you through the process of integrating a gRPC service into your router using Cosmo CLI templates."
sidebarTitle: Deploy Your First gRPC Service
icon: server
---
Expand Down
2 changes: 1 addition & 1 deletion docs/tutorial/using-grpc-plugins.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ This tutorial is part of [Cosmo Connect](/connect/overview) and focuses on deplo
- [Cosmo CLI](/cli/intro) (minimum version: [0.90.1](https://github.com/wundergraph/cosmo/releases/tag/wgc%400.90.1)) installed and configured
- [Cosmo Router](/router/intro) (minimum version: [0.242.0](https://github.com/wundergraph/cosmo/releases/tag/router%400.242.0)) installed and configured to use Cosmo Cloud

If you're new to Cosmo, you should start with the [Cosmo Cloud Onboarding](/getting-started/cosmo-cloud-onboarding) guide. This guide assumes you've created a federated graph and deployed and configured router(s) for it.
If you're new to Cosmo, you should start with the [Cosmo Cloud Onboarding](/getting-started/cosmo-cloud-onboarding) guide. This tutorial assumes you've created a federated graph and deployed and configured router(s) for it.

## Overview

Expand Down