This thread contains a patchset. You're looking at the original emails, but you may wish to use the patch review UI. Review patch

[PATCH sourcehut.org] NLnet grant conclusion

Message ID
DKIM signature
Download raw message
Patch: +68 -0
 .../blog/2022-10-30-nlnet-grant-conclusion.md | 68 +++++++++++++++++++
 1 file changed, 68 insertions(+)
 create mode 100644 content/blog/2022-10-30-nlnet-grant-conclusion.md

diff --git a/content/blog/2022-10-30-nlnet-grant-conclusion.md b/content/blog/2022-10-30-nlnet-grant-conclusion.md
new file mode 100644
index 0000000..200b4ca
--- /dev/null
+++ b/content/blog/2022-10-30-nlnet-grant-conclusion.md
@@ -0,0 +1,68 @@
title: NLnet funding comes to an end
author: Adnan Maolood
date: 2022-10-30

Sourcehut was [selected for an NLnet grant][grant] in January of this year.
[NLnet Foundation][NLnet] is a Dutch organization which funds many projects to
promote an open and secure internet.

[grant]: /blog/2022-01-10-nlnet-graphql-funding/
[NLnet]: https://nlnet.nl

The NLnet grant was structured by milestones. At the beginning of the grant, a
project plan was drafted containing the milestones to be completed and an agreed
upon payment for each milestone. Once a milestone was completed, a Request for
Payment was submitted. NLnet would then verify that the milestone had been
completed before approving the payment. If you think this might be a good fit
for your project, consider [applying for a grant][apply]!

[apply]: https://nlnet.nl/propose/

The grant work focused on completing the GraphQL APIs for Sourcehut services to
help with Sourcehut's API 2.0 efforts. This work included many changes and
improvements to the GraphQL APIs as well as implementing support for
[GraphQL-native webhooks][webhooks].

[webhooks]: /blog/2021-08-25-graphql-native-webhooks/

Implementing GraphQL-native webhooks for git.sr.ht was the first milestone on
our roadmap. This work involved:

1. Designing and implementing the API for creating GraphQL webhooks
1. Updating the GraphQL mutations to trigger webhooks
1. Updating the Python frontends to route all necessary operations through the
   GraphQL APIs so that webhooks are triggered
1. Updates to ancillary services/daemons (gitsrht-shell and gitsrht-update-hook)

A similar process was followed for hg.sr.ht, todo.sr.ht, builds.sr.ht,
lists.sr.ht, paste.sr.ht, and pages.sr.ht.

Our focus then turned towards implementing a GraphQL API for hub.sr.ht. Near the
end of June I began experimenting with GraphQL Federation in the hopes that it
would make implementing the hub.sr.ht GraphQL API easier. This work led to the
development of [api.sr.ht], a GraphQL API gateway.

[api.sr.ht]: https://git.sr.ht/~sircmpwn/api.sr.ht

Before we could adopt GraphQL Federation we needed to unify user IDs.
Previously, user IDs were not guaranteed to be the same across Sourcehut
services. This did not play well with GraphQL Federation, which needs some sort
of unique key to identify users across services. Patches for nearly every
Sourcehut service were needed to address the issue.

In order to ensure that the ID unification roll-out went as smoothly as
possible, we decided that we needed better tools for testing. This resulted in
the development of [srht-fakedb], a tool to populate Sourcehut service databases
with fake data for testing purposes. The ID unification roll-out took place on
October 26. With that now out of the way, work on the hub.sr.ht GraphQL API can

[srht-fakedb]: https://git.sr.ht/~sircmpwn/srht-fakedb

October 30 officially marks the end of the NLnet grant. We achieved most of what
we set out to accomplish, and some more. Overall, working with NLnet was a great
experience. Many thanks to [NLnet] and [NGI Zero] for sponsoring this work!

[NGI Zero]: https://nlnet.nl/NGI0/

base-commit: e9e42819219302e38a7cfd1c206d6ff919fe6157
Message ID
<20221030124328.19813-1-me@adnano.co> (view parent)
DKIM signature
Download raw message

To git@git.sr.ht:~sircmpwn/sourcehut.org
   41ea4a9..2790d8e  master -> master
Reply to thread Export thread (mbox)