mirror of
https://relay.ngit.dev/npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr/ngit-grasp.git
synced 2026-10-05 15:08:24 +00:00
fix: properly format ID fields in issue files
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
# Event Signature Verification
|
||||
|
||||
**ID:** 1bb0
|
||||
|
||||
## Issue
|
||||
|
||||
We need to verify that event signatures are being checked for every event we store or issue over websockets. Currently unclear if rust-nostr is doing this automatically or if we need explicit verification.
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# Poor Naughty List Identification
|
||||
|
||||
**ID:** 1f4f
|
||||
|
||||
## Issue Summary
|
||||
|
||||
We need to detect malicious behavior from clients and relays to protect our system from abuse, DoS attacks, and bandwidth exhaustion. This should feed into a reputation system or connection throttling/banning mechanism.
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# NIP-86 Relay Management API
|
||||
|
||||
**ID:** 2cdc
|
||||
|
||||
## Issue Summary
|
||||
|
||||
Implement NIP-86 (Relay Management API) to provide authenticated administrative control over the relay. This enables operators to blacklist users, delete repositories, ban event posting, and perform other management actions through a standardized API.
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# Issue: ngit_repositories_total Metric Incorrectly Reports 0
|
||||
|
||||
**ID:** 76fe
|
||||
|
||||
**Date Discovered:** 2026-01-12
|
||||
**Date Resolved:** 2026-01-12
|
||||
**Priority:** Medium
|
||||
@@ -17,14 +19,20 @@ The `ngit_repositories_total` Prometheus metric reports 0 even though:
|
||||
**Current behavior:**
|
||||
```bash
|
||||
# Metric shows 0
|
||||
|
||||
**ID:** 76fe
|
||||
$ curl -s http://localhost:8082/metrics | grep ngit_repositories_total
|
||||
ngit_repositories_total 0
|
||||
|
||||
# But 15 repos exist on disk
|
||||
|
||||
**ID:** 76fe
|
||||
$ find /persistent/ngit-danconwaydev-com-ngit-grasp/git/ -name '*.git' -type d | wc -l
|
||||
15
|
||||
|
||||
# And git access works
|
||||
|
||||
**ID:** 76fe
|
||||
$ git ls-remote https://ngit.danconwaydev.com/npub15qy.../ngit-grasp.git
|
||||
a63dc8a9e5f9cad50f4ea7c6c5d2ed544bc70656 HEAD
|
||||
```
|
||||
@@ -84,9 +92,13 @@ The metric currently counts repositories **released from purgatory** (fully sync
|
||||
### Test 1: Verify Current Count
|
||||
```bash
|
||||
# Manual count
|
||||
|
||||
**ID:** 76fe
|
||||
find /persistent/ngit-danconwaydev-com-ngit-grasp/git/ -name '*.git' -type d | wc -l
|
||||
|
||||
# Should match metric
|
||||
|
||||
**ID:** 76fe
|
||||
curl -s http://localhost:8082/metrics | grep ngit_repositories_total
|
||||
```
|
||||
|
||||
@@ -95,22 +107,34 @@ Test with ngit-grasp repository specifically:
|
||||
|
||||
```bash
|
||||
# Clone the repository
|
||||
|
||||
**ID:** 76fe
|
||||
git clone https://ngit.danconwaydev.com/npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr/ngit-grasp.git /tmp/ngit-grasp-test
|
||||
|
||||
# Verify commit history exists
|
||||
|
||||
**ID:** 76fe
|
||||
cd /tmp/ngit-grasp-test
|
||||
git log --oneline | head -20
|
||||
|
||||
# Check specific commit matches production
|
||||
|
||||
**ID:** 76fe
|
||||
git log -1 a63dc8a9e5f9cad50f4ea7c6c5d2ed544bc70656
|
||||
|
||||
# Verify files exist
|
||||
|
||||
**ID:** 76fe
|
||||
ls -la
|
||||
|
||||
# Check branch structure
|
||||
|
||||
**ID:** 76fe
|
||||
git branch -r
|
||||
|
||||
# Cleanup
|
||||
|
||||
**ID:** 76fe
|
||||
cd /tmp
|
||||
rm -rf ngit-grasp-test
|
||||
```
|
||||
@@ -118,12 +142,18 @@ rm -rf ngit-grasp-test
|
||||
### Test 3: After Fix - Count Accuracy
|
||||
```bash
|
||||
# Restart service
|
||||
|
||||
**ID:** 76fe
|
||||
sudo systemctl restart ngit-grasp-production
|
||||
|
||||
# Wait 30 seconds for startup
|
||||
|
||||
**ID:** 76fe
|
||||
sleep 30
|
||||
|
||||
# Check metric matches disk
|
||||
|
||||
**ID:** 76fe
|
||||
DISK_COUNT=$(ssh dc@ngit.danconwaydev.com "sudo find /persistent/ngit-danconwaydev-com-ngit-grasp/git/ -name '*.git' -type d | wc -l")
|
||||
METRIC_COUNT=$(ssh dc@ngit.danconwaydev.com "curl -s http://localhost:8082/metrics | grep 'ngit_repositories_total ' | awk '{print \$2}'")
|
||||
|
||||
@@ -254,12 +284,18 @@ $ cargo test --test repository_creation
|
||||
**Verification commands:**
|
||||
```bash
|
||||
# Check metric value (triggers a count)
|
||||
|
||||
**ID:** 76fe
|
||||
curl -s http://localhost:8082/metrics | grep ngit_repositories_total
|
||||
|
||||
# Check disk count (should match within 15s)
|
||||
|
||||
**ID:** 76fe
|
||||
sudo find /persistent/ngit-danconwaydev-com-ngit-grasp/git/ -name '*.git' -type d | wc -l
|
||||
|
||||
# Multiple requests should show same count (idempotent)
|
||||
|
||||
**ID:** 76fe
|
||||
curl -s http://localhost:8082/metrics | grep ngit_repositories_total
|
||||
```
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# Management Dashboard
|
||||
|
||||
**ID:** 7d0b
|
||||
|
||||
## Issue Summary
|
||||
|
||||
We need a web-based management dashboard to monitor relay health, view storage and usage statistics, and provide basic operational visibility. This dashboard should display key metrics about relay operations, resource utilization, and usage patterns.
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# Storage Limits and Quota Management
|
||||
|
||||
**ID:** 8430
|
||||
|
||||
## Issue Summary
|
||||
|
||||
We currently have no storage limits or quota enforcement, allowing users to push arbitrarily large repositories (e.g., 20GB+) and potentially fill the relay's disk. We need configurable storage limits at multiple levels and graceful handling when approaching disk capacity.
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# Deletion Request Support (NIP-09)
|
||||
|
||||
**ID:** b905
|
||||
|
||||
**Status:** Planning Complete, Ready for Implementation
|
||||
**Priority:** Medium
|
||||
**Complexity:** High (graph algorithms, multi-database coordination)
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# Database Backend Evaluation
|
||||
|
||||
**ID:** cc36
|
||||
|
||||
## Issue Summary
|
||||
|
||||
We currently lack guidance on when to use nostrdb vs lmdb as the database backend. We need to perform an efficiency review comparing these backends and evaluate caching strategies (especially tag caches and filter-related caching) to provide clear recommendations and optimize query performance.
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# Defensive Relay Features
|
||||
|
||||
**ID:** d6ee
|
||||
|
||||
## Issue Summary
|
||||
|
||||
Implement comprehensive rate limiting and resource controls to protect the relay from abuse, whether malicious or accidental. This includes connection limits, subscription limits, event rate limiting, and HTTP request throttling.
|
||||
|
||||
Reference in New Issue
Block a user