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 ...
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.