upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/docs/explanation
diff options
context:
space:
mode:
authorDanConwayDev <DanConwayDev@protonmail.com>2026-02-25 15:07:40 +0000
committerDanConwayDev <DanConwayDev@protonmail.com>2026-02-25 15:07:40 +0000
commit5ad9d9093fcbe7037e5474a9d8fa20a0b64fb79a (patch)
tree3c22fb4b42a62badedc29963d1ce39a2fbc83bb1 /docs/explanation
parent4fc3b279d3eb86993f7748959a3986be5a6c49a7 (diff)
drop nostr-db backend support, keep only lmdb and memory
Diffstat (limited to 'docs/explanation')
-rw-r--r--docs/explanation/architecture.md2
-rw-r--r--docs/explanation/comparison.md10
-rw-r--r--docs/explanation/deletion-requests.md2
3 files changed, 7 insertions, 7 deletions
diff --git a/docs/explanation/architecture.md b/docs/explanation/architecture.md
index e101425..e0a57e5 100644
--- a/docs/explanation/architecture.md
+++ b/docs/explanation/architecture.md
@@ -101,7 +101,7 @@ After examining both the reference implementation and HTTP server options, we ha
101- Initialize configuration from environment (clap + dotenvy) 101- Initialize configuration from environment (clap + dotenvy)
102- Set up Hyper HTTP server with request routing 102- Set up Hyper HTTP server with request routing
103- Initialize Nostr relay builder with custom [`Nip34WritePolicy`](src/nostr/builder.rs:51) 103- Initialize Nostr relay builder with custom [`Nip34WritePolicy`](src/nostr/builder.rs:51)
104- Set up shared storage (LMDB, NostrDB, or Memory) 104- Set up shared storage (LMDB or Memory)
105- Handle WebSocket upgrades for Nostr relay 105- Handle WebSocket upgrades for Nostr relay
106- Handle graceful shutdown 106- Handle graceful shutdown
107 107
diff --git a/docs/explanation/comparison.md b/docs/explanation/comparison.md
index 090e0eb..315f091 100644
--- a/docs/explanation/comparison.md
+++ b/docs/explanation/comparison.md
@@ -11,7 +11,7 @@ This document compares ngit-grasp (this project) with ngit-relay (the reference
11| **Git Protocol** | git-http-backend (C via fcgiwrap) | HTTP layer in Rust + git subprocess | 11| **Git Protocol** | git-http-backend (C via fcgiwrap) | HTTP layer in Rust + git subprocess |
12| **Authorization** | Pre-receive Git hook | Inline HTTP handler validation | 12| **Authorization** | Pre-receive Git hook | Inline HTTP handler validation |
13| **Nostr Relay** | Khatru (Go library) | nostr-relay-builder (Rust library) | 13| **Nostr Relay** | Khatru (Go library) | nostr-relay-builder (Rust library) |
14| **Event Store** | Badger (Go KV database) | LMDB or NostrDB (Rust) | 14| **Event Store** | Badger (Go KV database) | LMDB (Rust) |
15| **Proactive Sync** | Git-only (polls DB + fetches from git servers) | Nostr event sync + git sync (event-driven) | 15| **Proactive Sync** | Git-only (polls DB + fetches from git servers) | Nostr event sync + git sync (event-driven) |
16| **Process Management** | supervisord (4 processes) | Single tokio runtime | 16| **Process Management** | supervisord (4 processes) | Single tokio runtime |
17| **Packaging** | Docker with supervisord | Single static binary or Docker | 17| **Packaging** | Docker with supervisord | Single static binary or Docker |
@@ -78,7 +78,7 @@ This document compares ngit-grasp (this project) with ngit-relay (the reference
78│ │ │ │ builder library) │ │ 78│ │ │ │ builder library) │ │
79│ │ - info/refs │ │ - NIP-34 Policy │ │ 79│ │ - info/refs │ │ - NIP-34 Policy │ │
80│ │ - upload-pk │◀─────┤ (inline query) │ │ 80│ │ - upload-pk │◀─────┤ (inline query) │ │
81│ │ - receive-pk │ auth │ - LMDB/NostrDB │ │ 81│ │ - receive-pk │ auth │ - LMDB/Memory │ │
82│ │ + inline │ check│ - WebSocket │ │ 82│ │ + inline │ check│ - WebSocket │ │
83│ │ validation │ │ - NIP-11 endpoint │ │ 83│ │ validation │ │ - NIP-11 endpoint │ │
84│ └──────┬───────┘ └──────────┬─────────┘ │ 84│ └──────┬───────┘ └──────────┬─────────┘ │
@@ -100,7 +100,7 @@ This document compares ngit-grasp (this project) with ngit-relay (the reference
100│ │ 100│ │
101│ ┌──────────────────────────────────────────────────┐ │ 101│ ┌──────────────────────────────────────────────────┐ │
102│ │ Shared State (Arc<T>) │ │ 102│ │ Shared State (Arc<T>) │ │
103│ │ - Database (LMDB/NostrDB/Memory) │ │ 103│ │ - Database (LMDB/Memory) │ │
104│ │ - Purgatory (DashMap - concurrent queue) │ │ 104│ │ - Purgatory (DashMap - concurrent queue) │ │
105│ │ - Metrics (Prometheus) │ │ 105│ │ - Metrics (Prometheus) │ │
106│ └──────────────────────────────────────────────────┘ │ 106│ └──────────────────────────────────────────────────┘ │
@@ -161,7 +161,7 @@ This is why ngit-grasp has ~13x more code - the majority is implementing GRASP-0
161| Feature | ngit-relay | ngit-grasp | 161| Feature | ngit-relay | ngit-grasp |
162|---------|-----------|-----------| 162|---------|-----------|-----------|
163| **Implementation** | Khatru (Go library) | nostr-relay-builder (Rust library) | 163| **Implementation** | Khatru (Go library) | nostr-relay-builder (Rust library) |
164| **Database** | Badger (Go KV store) | LMDB or NostrDB (Rust) | 164| **Database** | Badger (Go KV store) | LMDB (Rust) |
165| **Process** | Separate process on :3334 | Integrated (same binary) | 165| **Process** | Separate process on :3334 | Integrated (same binary) |
166| **Policies** | Go functions in `policies.go` | Rust traits (modular sub-policies) | 166| **Policies** | Go functions in `policies.go` | Rust traits (modular sub-policies) |
167| **Event Validation** | Single function with branches | 4 separate policy modules | 167| **Event Validation** | Single function with branches | 4 separate policy modules |
@@ -287,7 +287,7 @@ For users of ngit-relay, migration to ngit-grasp involves:
287 287
288### Data Migration 288### Data Migration
289 289
2901. **Events**: Export from Badger → Import to LMDB/NostrDB 2901. **Events**: Export from Badger → Import to LMDB
291 - No direct migration tool yet (would need to be built) 291 - No direct migration tool yet (would need to be built)
292 - Alternative: Use proactive sync to re-fetch from other relays 292 - Alternative: Use proactive sync to re-fetch from other relays
2932. **Git Repositories**: Direct copy (same structure) 2932. **Git Repositories**: Direct copy (same structure)
diff --git a/docs/explanation/deletion-requests.md b/docs/explanation/deletion-requests.md
index 7660774..4b4cd88 100644
--- a/docs/explanation/deletion-requests.md
+++ b/docs/explanation/deletion-requests.md
@@ -28,7 +28,7 @@ The deletion system uses three separate data stores:
28┌─────────────────────────────────────────────────────────┐ 28┌─────────────────────────────────────────────────────────┐
29│ Main Database │ 29│ Main Database │
30│ (Live events - actively served) │ 30│ (Live events - actively served) │
31│ LMDB/NostrDB/Memory backend │ 31│ LMDB/Memory backend
32└─────────────────────────────────────────────────────────┘ 32└─────────────────────────────────────────────────────────┘
33 ↓ deletion request 33 ↓ deletion request
34┌─────────────────────────────────────────────────────────┐ 34┌─────────────────────────────────────────────────────────┐