feat(nip66): add relay monitor settings schema and defaults#689
Open
Ferryx349 wants to merge 3 commits into
Open
feat(nip66): add relay monitor settings schema and defaults#689Ferryx349 wants to merge 3 commits into
Ferryx349 wants to merge 3 commits into
Conversation
Signed-off-by: ABHAY PANDEY <[email protected]>
🦋 Changeset detectedLatest commit: 4c4032d The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Collaborator
There was a problem hiding this comment.
Pull request overview
Adds the foundational configuration surface for a future NIP-66 relay monitor by introducing nip66.* settings defaults, TypeScript settings types, documentation entries, and unit tests to ensure default/override behavior. This aligns with issue #687’s “config only” scope.
Changes:
- Add
nip66settings block (enabled flag, probe interval, timeouts, targets, monitor identity, DNS cache TTL) todefault-settings.yaml. - Add
Nip66Settings/Nip66ProbeTimeoutsto the Settings TypeScript types and a unit test validating defaults + override merge behavior. - Document the new settings and introduce an example env var + changeset entry.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| test/unit/utils/settings.spec.ts | Adds tests asserting nip66 defaults exist and that user config overrides merge correctly. |
| src/@types/settings.ts | Introduces Nip66Settings / Nip66ProbeTimeouts and wires nip66 into the Settings interface. |
| resources/default-settings.yaml | Adds a new nip66: defaults block (disabled by default). |
| CONFIGURATION.md | Documents the new nip66.* settings (but currently includes duplicated rows and wording that implies implementation exists). |
| .env.example | Adds MONITOR_PRIVATE_KEY to the example environment file. |
| .changeset/nip66-settings-foundation.md | Adds a minor changeset describing the new settings foundation. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Add nip66.* settings (probe interval, timeouts, targets, monitor key, DNS cache TTL) to default-settings.yaml and settings types, config only, no worker yet. Disabled by default.
Related Issue
fixes - #687
Motivation and Context
How Has This Been Tested?
Screenshots (if appropriate):
Types of changes
Checklist: