router icon indicating copy to clipboard operation
router copied to clipboard

Simple execution plan support for Subscriptions

Open blegrosvoalte opened this issue 3 years ago • 0 comments

Is your feature request related to a problem? Please describe.

We'd love to use Apollo Router as our federated gateway, but we are in need of Subscription support. We use a custom Subscription implementation which is backed by a message bus, rather than something like WS or SSE. We use HTTP to call Subscription fields, which I know is very custom to our situation. Our subgraphs are built on a variety of platforms (e.g - NodeJS and .NET). Atm, when calling a Subscription field, published to Apollo Studio via Rover, the caller is met with a simple error message:

{
	"errors": [
		{
			"message": "value retrieval failed: spec error: subscription operation is not supported",
			"locations": [],
			"path": null
		}
	]
}

Describe the solution you'd like

It'd be very help if there was a mode/flag available to the router to enable the building a simple execution plan to forward a Subscription field onto its subgraph via HTTP. Nothing fancy requiring federated directives, just simple forwarding.

Describe alternatives you've considered

We've looking into https://github.com/apollosolutions/federation-subscription-tools, but due to the diversity of platforms, resources, and hosting used by our teams, it'd be difficult to build a single, Subscription-specific subgraph, to grant access to all of the resources controlled by each team's subgraph.

Additional context

blegrosvoalte avatar Sep 12 '22 02:09 blegrosvoalte