Closed amitksingh1490 closed 2 months ago
/bounty 380$
/attempt #2639
with your implementation plan/claim #2639
in the PR body to claim the bounty🙏 Thank you for contributing to tailcallhq/tailcall! 🧐 Checkout our guidelines before you get started. 💵 More about our bounty program.
Attempt | Started (GMT+0) | Solution |
---|---|---|
🔴 @onyedikachi-david | Aug 10, 2024, 7:00:15 PM | WIP |
🟢 @meskill | #2693 |
/attempt #2639
Algora profile | Completed bounties | Tech | Active attempts | Options |
---|---|---|---|---|
@onyedikachi-david | 3 tailcallhq bounties + 2 bounties from 1 project |
JavaScript, Shell |
Cancel attempt |
please provide some working config
@onyedikachi-david: Reminder that in 1 days the bounty will become up for grabs, so please submit a pull request before then 🙏
The bounty is up for grabs! Everyone is welcome to /attempt #2639
🙌
💡 @meskill submitted a pull request that claims the bounty. You can visit your bounty board to reward.
Action required: Issue inactive for 30 days. Status update or closure in 7 days.
🎉🎈 @meskill has been awarded $380! 🎈🎊
Summary
Enable Tailcall to support Apollo Federation by adding a flag in the
@server
directive. When enabled, this flag will support the_entities
query, allowing Tailcall to function as a subgraph in a federated architecture.Detailed Description
To integrate Apollo Federation with Tailcall, we propose the following enhancements:
Flag Addition in
@server
:@server
directive to enable federation support._entities
query, essential for Apollo Federation's distributed schema architecture.Support for Resolver Directives on Types:
@http
,@grpc
,@const
, and others to be applied directly on Types.Key Inference:
@key
directive.@http(path: "/users/{{.value.id}}")
, the inferred key would be@key(fields: "id")
.The inferred key would be
@key(fields: "id name organisation {id, name}")
.Support for
_entities
Query:_entities
query required by Apollo Federation.References
For a reference implementation of Apollo Federation, see the async-graphQL implementation.
Subgraph Documentation
Technical Requirements