Damus
DanConwayDev · 3d
Half right. Both clients and servers treat the git state on nostr as the authority. One grasp implementation (ngit-relay) uses git hooks to prevent pushes of incorrect state. 3 others implement there ...
Big Barry Bitcoin profile picture
My brain feels like exploding.

I get that nostr is the source of truth for allowing a repo to be created, and ngit uses hooks, what is another implementation I can look at for http based auth?

Then for pushes, there seems to be 2 methods of pushing afaik:

Post a patch to nostr (kind of curious how author is determined here and/or if there can be signed commits)

Post a pr reference to nostr and push to a /ref/nostr/ branch. So then I guess the git server will merge or move the commits to the right branch?

And then I see there is the permission under the spec to block spam, but no guides on how to identify it.

I think seeing a http implementation would help me here.

And maybe a chat after that if you have time.

FYI; I just set up a custom homelab, everything defined in ansible and backups etc. and am looking to finally expand it with some nostr services.

But first I wanted to host a git server and I wanted to make sure it is compatible with ngit so I can use it over nostr.

I just need to understand how it is protected against malicious actors before making a public git server.
DanConwayDev · 3d
Sure, happy to chat. You missed the nostr state event in nips.nostr.com/34 which is the primary way maintainers push. See the grasp spec https://gitworkshop.dev/danconwaydev.com/grasp/tree/master/01.md This is the most mature implementation: https://gitworkshop.dev/danconwaydev.com/ngit-grasp Here ...