-
Notifications
You must be signed in to change notification settings - Fork 2.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Apollo Federation #3064
Comments
This is really important to us as well. Using Hasura as a service should be a fairly simple thing to do. |
You can add a middleware service with graphql-transform-federation to add federation decorators to an existing hasura schema. This makes it possible to use hasura behind an apollo federation gateway. Let me know what you think. |
@dmi3y - see above re: Federation |
For us, it would be really valuable if Hasura would conform to the federation spec out-of-the-box. The whole reason for our using Hasura is to save time and eliminate the amount of redundant code we have to write. Having to integrate graphql-transform-federation isn't very straightforward because we have to define all the keys. Hasura already has all the information needed to conform the spec because it has a list of all the primary and foreign keys. |
I'm coming in to a company that's a couple months into using Apollo Server. I would really like to be able to introduce Hasura. Without this feature, I don't feel like there is an expedient way for me to be able to introduce Hasura. It seems like my best option, at the moment, would be to figure out graphql-transform-federation, but I am not an expert on Apollo Federation & it's intimidating figuring out what this integration story is going to look like on my own. This ticket is, imo, the #1 most important thing Hasura could be doing to gain adoption & users. Hasura is new technology compared to Apollo Server, & this ticket could make it radically more feasible for teams to bring Hasura into production & get started with it. Please consider prioritizing this ticket. |
Hasura needs to bring this federated gateways into its realm. It's so crucial in bigger tech, where we have thousands of microservices. It's not feasable for bigger players to use hasura until then. |
I also find it valuable that Hasura implements the integration to the Apollo Graph Manager, since it provides very helpful information about the GraphQL execution. Maybe if this could be an opt in instead of being available by default. I don't know if this could affect the overall performance of the graphql-engine |
I work for a multinational corporation and we are starting to adopt GraphQL across our organization. We took some time to evaluate Hasura. We loved everything about it. However, due to the lack of Apollo Federation support in Hasura, we decided to use PostGraphile. Until Hasura adds Apollo Federation support, we just can't use it. |
@jarvisuser90 Hi there! Thank you for your kind words. This is something we’ve been thinking about a lot. Could we setup a quick call with you to learn what your federation requirements are like? It’d be super helpful context for us as we think through apollo federation support. I’m at |
We also need apollo federation support. We are currently investigating using:
If anyone has any experience to share we are very keen to here about it. Especially if there are any issues that would deem this non production ready. |
Went here because did realize that there is SaaS for Hasura - just tell me where the buy button is, it is a brilliant product, just can not wait to put my hands on it, but: things like transform and mesh will introduce following issues:
We already in a production with many different services written in different stacks and using different storages, I just can not imagine what needs to happen for us to throw it all away and switch to Hasura as a gateway BTW there is similar ticket in dgraph repository, so for example if I choose to use both storages which one should I choose as a gateway? Ideally I wish to be able to add more and more services to our graph by just buying Hasura, Dgraph, etc SaaS solutions without hastling with transforms and meshes it will dramatically improve T2M PS: did implemented federation for dotnet-graphql it is not so hard and can be pluggable, hope to see this feature in future, will be your client ASAP after this, we really need something like your product |
I've noticed that this issue is not on the roadmap. Is it being considered at all? As other folks mentioned above, this is just about essential in order for us to use hasura with our systems. The federation-transform package looks promising enough, but the configuration-heavy nature of it is a fair concern. Furthermore, hasura docs give a warning about layers on top of hasura negatively impacting performance, but aren't clear about how or why, so it's difficult to say with confidence that this package wouldn't also ruin performance or cause unpredictable performance. Any update, insight, or workaround would be very helpful. |
@tehpsalmist unfortunately without the support of union types workarounds won't work as expected, e.g. for the federation to work all you need to do is to add two dedicated endpoints, one to resolve so we are kind of waiting for this #2311 first |
JFYI: dgraph just did it - starting from v21.03 Apollo Federation is built in, still waiting for it to become available in their SaaS hopefully will see something similar in future here as well |
Linking a relevant StackOverflow/Gist(by @tirumaraiselvan) url for a workaround: |
Hey @tirumaraiselvan, any updates on Hasura's thinking around this? We'd love to be able to federate Hasura, too. |
We needed this for our production data layer, we use Apollo federation to stitch together multiple standalone backends, and we wanted to use hasura as one such backend. In lieu official support, we were able to to implement a customer data source that translated the Apollo federation queries. This is "better" than the above solution(s) since it does fully support federation, albeit at the cost of relatively complex AST mutation. Posted here out of hope that it'll be useful for someone else who needs this, however I don't really want to be on the hook for long term support so not making a module etc yet.
|
https://github.com/hasura/graphql-engine/releases/tag/v2.10.0-beta.1 now support Apollo Federation 1.0. Hurray to Hasura team! |
Yes! We have released support for Apollo Federation in Pls do open issues on this repo if you encounter any problem in your usage. |
This is great to see! 🎉 Anywhere we can track progress on supporting Federation v2 spec? |
Since the graphql schema stitching way is deprecated in Apollo, we are limited to the functionality of Apollo Server.
We really need the support of the Apollo Federation in Hasura.
You guys are promoting the Hasura with advice to use it as a gateway and connect other microservices with a business logic via remote schemas feature, but we want to use graphql-engine only as microservice behind Apollo Gateway in our project. We need most features of Apollo, like
tracing
,performance metrics
,error tracking
,safe listing (whitelisting)
,caching
,schema directives
,file uploads
,custom event-driven subscriptions
,automatic persisted queries
,vscode plugin
I know about the "allow list" feature in graphql-engine, but it is not useful in real life, because you need something like Apollo Operation Registry. Our CI pushes the operations list to the registry every time when we deploying a new version of our web application on react and apollo client. It is a very convenient way because Apollo has tooling for CI with the ability to check schema changes before pushing these changes to production.
Unfortunately, in the GraphQL community, we become third-class citizens.
So, can Hasura offer at least a small part of features Apollo? We made sure that no.
The text was updated successfully, but these errors were encountered: