Hotchocolate: Add support for Apollo Federation

Created on 12 Jun 2019  路  12Comments  路  Source: ChilliCream/hotchocolate

https://www.apollographql.com/docs/apollo-server/federation/federation-spec/#federation-schema-specification

We want to be able to consume services that use Apollo Federation and also expose federation schema in-case a user is using Apollo Federation instead of our schema registry.

馃帀 enhancement

All 12 comments

it would be really nice if the schema stitching of hotchocolate could use the apollo federation directives for schema stitching as well. this would help to separate the concerns of the different schemas.

@OneCyrus

We will add support for it, but we think that what we have come up with for our own platform is more powerful and we will focus first on our solution.

But since we are open to what other GraphQL implementations do we will support consuming Apollo federation services with our stitching platform. Moreover, we will support HC to be stitched into apollos federation gateway.

However, we will implement that issue in the later 10.x releases ... 10.1 or 10.2 since we will focus on the schema registry first.

@michaelstaib: is there any news about the support of apollo federation?

This is what we can do today:
https://hotchocolate.io/docs/stitching

This very issue is scheduled for version 12 or 13.

are you planing to implement federation schema earlier than version 12 or 13?

No since we have out own stitching solution which will get a big feature upgrade with version 12 that goes beyond what federations can do.

But we will be able to consume federation micro services.

bad news, then we have to switch to graphqlnet :-(
thank you for pointing out and your work on hot chocolate.

@robotrick you do realize that you can add support fo this yourself by adding the Apollo federation directives.

We will just not add these to the core library.

From our perspective we have to focus our efforts onto our platform which brings with version 11 so many new components.

But as I stated earlier our stitching gateway will out-of the box be able to consume federation micro services.

If you want to contribute a package containing Apollo Federation support we will be happy to host it.

If you want to move to another GraphQL server we are sad to see you leave since we invest a lot into this community and love how people engage and help each other on our slack channel.

If you need help creating directives feel free to join us on slack:
https://join.slack.com/t/hotchocolategraphql/shared_invite/enQtNTA4NjA0ODYwOTQ0LTViMzA2MTM4OWYwYjIxYzViYmM0YmZhYjdiNzBjOTg2ZmU1YmMwNDZiYjUyZWZlMzNiMTk1OWUxNWZhMzQwY2Q

Hi Michael, it seems from the explanation above that your integration with Apollo Spec federation is more "we can consume it" rather than "we can be integrated with it". Is this the case?

E.g. would a solution written in Hot Chocolate be able to be integrated into an existing Apollo federated gateway? or do you have to use the Hot Chocolate gateway to host the federated API?

@dillanmann you can integrate it. What we have not done so far is providing an explicit integration package. If someone wants to contribute that we are open to that. But you can technically integrate any GraphQL compliant server with Apollo Federation, you just have to provide certain directives in your schema.

From our perspective we are working on a new Gateway that will bring much more to the table than federation can do at the moment. So we are fully focussing our energy on Hot Chocolate 11 and the new Hot Chocolate Gateway.

This it is quite trivial to implement Apollo Federation support we will do it. Would have hoped that someone else would pick this up. #1631

Was this page helpful?
0 / 5 - 0 ratings

Related issues

RohrerF picture RohrerF  路  3Comments

PascalSenn picture PascalSenn  路  5Comments

marcin-janiak picture marcin-janiak  路  4Comments

tunurgitr picture tunurgitr  路  4Comments

sgt picture sgt  路  4Comments