Damus

Recent Notes

DanConwayDev · 2d
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.m...
Big Barry Bitcoin profile picture
Fyi, I managed to set it up, but a couple of things that weren't so obvious that I tripped up on:

1. I didn't know what to set the repo url to, and I actually set it to the https://hostname instead of the full path, then I used https://hostname/repo and AI figured out to change it to https://hostname/pubkey/repo by looking at the logs. Not sure where I was supposed to get the pubkey from after running `ngit init`

2. I used the default relays, it wasn't super obvious that I was supposed to enter the server url as a relay too. Also after setting it to my server, I see it still also publishes to 3 other public relays. Not sure how useful that is considering afaik it is only on one git server.
1
DanConwayDev · 1d
thanks for the feedback. 1. didnt `ngit init` end by showing your the nostr://<npub>/<relay-hint>/<identifier> clone url and a link to browse it on gitworkshop.dev>? 2. have you installed ngit locally? ngit init has a --repo-relay-only flag for non-public repos. see `ngit --customize` for how to tur...
DanConwayDev · 2d
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 · 2d
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 ...
DanConwayDev · 2d
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 own http git server rather than git-http-backend. An ngit client won't download an incorrect state f...
Big Barry Bitcoin · 3d
nostr:nprofile1qqst0mtgkp3du662ztj3l4fgts0purksu5fgek5n4vgmg9gt2hkn9lqppemhxue69uhkummn9ekx7mp0qythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qythwumn8ghj7un9d3shjtnp0faxzmt09ehx2ap06fen87 nostr:nprofile1qqs8t4ehcdrjgugzn3zgw6enp53gg2y2gfmekkg69m2d4gwxcpl04acpzamhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtcppemhxue...
Nathan Day · 3d
Nada. Looks like we're waiting for the next release!