feat: reload SSH server config when files change#40
Merged
Conversation
bvisible
added a commit
that referenced
this pull request
Jun 9, 2026
…40) - Add tests/test-lifecycle.js: black-box teardown tests asserting the server exits cleanly on stdin EOF, SIGTERM, SIGINT and overlapping signals (regression guard for the orphan-process bug). - Extend test-server-config-manager.js: laziness (no reload without change), reload-failure keeps last valid config + recovery, deleted-file robustness. - Wire test:lifecycle into the npm test chain.
bvisible
added a commit
that referenced
this pull request
Jun 9, 2026
- feat: live SSH config hot reload (#40, @EnjoySR) - fix: exit on stdin EOF / SIGTERM so the stdio server isn't orphaned (#41, @LegendaryGatz) - test: new lifecycle suite + extended hot-reload edge cases
Owner
|
Merged and shipped in v3.6.0 🎉 Thanks @EnjoySR — really nice work, especially the fail-safe (keeping the last known-good config when a reload throws) and reading Because the sync→async conversion touches the security path, I verified it end-to-end before releasing:
I extended |
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.
Summary
Adds lazy hot reload for file-backed SSH server configuration.
The MCP server now reloads server config when the TOML config or
.envfile changes, so tools likessh_list_serverscan see newly added or updated servers without restarting the MCP process.Details
ServerConfigManagerto track TOML and.envfile signatures..envwithout permanently mutatingprocess.env.Testing
npm testnode tests/test-server-config-manager.jsssh_list_serverscall returned the newly added server.