diff options
| author | DanConwayDev <DanConwayDev@protonmail.com> | 2026-02-03 14:50:22 +0000 |
|---|---|---|
| committer | DanConwayDev <DanConwayDev@protonmail.com> | 2026-02-03 15:18:23 +0000 |
| commit | 874a8abe1d076cfafd9baf919ec23d7d58200698 (patch) | |
| tree | dce0d0d36bddc496ff32f8555a8790d8dc7be7e4 /nix/module.nix | |
| parent | 9fd4350c57bbe986ebf65bf3ea4c996572e81884 (diff) | |
| parent | 92a9a3bfe0bc522e8ae411991a366a3a6310d525 (diff) | |
Merge relay.ngit.dev migration: bug fixes and migration tooling
This merge includes critical bug fixes and comprehensive migration tooling
developed during the relay.ngit.dev migration effort.
Bug Fixes:
- Fix git protocol error handling to return HTTP 200 with ERR pkt-line
- Fix naughty list false positives and DNS failure identification
- Fix database query filters in load_existing_events (remove .since())
- Fix OID fetch tracking to distinguish 0 OIDs from successful fetches
- Fix purgatory event source tracking for filtered expiry logging
- Implement OID retry logic for 'not our ref' errors
Migration Tools & Documentation:
- Complete 5-phase migration analysis pipeline with orchestration script
- Phase 1: Event fetching from source relay
- Phase 2: Git sync verification
- Phase 3: Categorization and relay comparison
- Phase 4: Log extraction (parse failures, purgatory expiry)
- Phase 5: Action classification for migration decisions
- Comprehensive migration guide with lessons learned
- Troubleshooting guide for permission and corruption issues
Configuration:
- Add NGIT_LOG_LEVEL configuration option
- Update git throttle limits to 60/minute
- Improve logging throughout for better observability
Diffstat (limited to 'nix/module.nix')
| -rw-r--r-- | nix/module.nix | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/nix/module.nix b/nix/module.nix index 4a6fc94..89d58de 100644 --- a/nix/module.nix +++ b/nix/module.nix | |||
| @@ -127,9 +127,14 @@ let | |||
| 127 | }; | 127 | }; |
| 128 | 128 | ||
| 129 | logLevel = mkOption { | 129 | logLevel = mkOption { |
| 130 | type = types.enum [ "trace" "debug" "info" "warn" "error" ]; | 130 | type = types.str; |
| 131 | default = "info"; | 131 | default = "info"; |
| 132 | description = "Logging level for RUST_LOG environment variable"; | 132 | example = "debug"; |
| 133 | description = '' | ||
| 134 | Logging level for application logging. | ||
| 135 | Can be a simple level (trace, debug, info, warn, error) or a filter expression. | ||
| 136 | Examples: "info", "debug", "ngit_grasp=debug,actix_web=info" | ||
| 137 | ''; | ||
| 133 | }; | 138 | }; |
| 134 | 139 | ||
| 135 | syncMaxBackoffSecs = mkOption { | 140 | syncMaxBackoffSecs = mkOption { |
| @@ -334,7 +339,7 @@ let | |||
| 334 | NGIT_REPOSITORY_BLACKLIST = concatStringsSep "," cfg.repositoryBlacklist; | 339 | NGIT_REPOSITORY_BLACKLIST = concatStringsSep "," cfg.repositoryBlacklist; |
| 335 | NGIT_EVENT_BLACKLIST = concatStringsSep "," cfg.eventBlacklist; | 340 | NGIT_EVENT_BLACKLIST = concatStringsSep "," cfg.eventBlacklist; |
| 336 | NGIT_MAX_CONNECTIONS = toString cfg.maxConnections; | 341 | NGIT_MAX_CONNECTIONS = toString cfg.maxConnections; |
| 337 | RUST_LOG = cfg.logLevel; | 342 | NGIT_LOG_LEVEL = cfg.logLevel; |
| 338 | } // optionalAttrs (cfg.relayName != null) { | 343 | } // optionalAttrs (cfg.relayName != null) { |
| 339 | NGIT_RELAY_NAME = cfg.relayName; | 344 | NGIT_RELAY_NAME = cfg.relayName; |
| 340 | } // optionalAttrs (cfg.archiveReadOnly != null) { | 345 | } // optionalAttrs (cfg.archiveReadOnly != null) { |