Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

61 changes: 61 additions & 0 deletions services/backend/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,66 @@
# Changelog

## 0.37.0 (2025-10-17)

* feat(all): Enhanced Job Queue Management - Search & Filtering ([6517f1e](https://github.com/deploystackio/deploystack/commit/6517f1e))
* feat(all): implement idle process management for MCP servers ([e142784](https://github.com/deploystackio/deploystack/commit/e142784))
* feat(all): MCP Client Activity Tracking ([01a130e](https://github.com/deploystackio/deploystack/commit/01a130e))
* feat(backend): add endpoints for retrieving unique languages and runtimes ([f270dc0](https://github.com/deploystackio/deploystack/commit/f270dc0))
* feat(backend): Add MCP client activity metrics cleanup job and worker ([7e1789b](https://github.com/deploystackio/deploystack/commit/7e1789b))
* feat(backend): add MCP client activity metrics endpoint and service ([c02f022](https://github.com/deploystackio/deploystack/commit/c02f022))
* feat(backend): add tags filtering to MCP servers API and implement endpoint to retrieve unique tags ([45f7088](https://github.com/deploystackio/deploystack/commit/45f7088))
* feat(backend): enhance bucket filling with default metric fields ([7009ab2](https://github.com/deploystackio/deploystack/commit/7009ab2))
* feat(backend): enhance MCP client activity endpoint for team awareness ([7ab668c](https://github.com/deploystackio/deploystack/commit/7ab668c))
* feat(backend): implement cron job system for scheduled tasks ([722811a](https://github.com/deploystackio/deploystack/commit/722811a))
* feat(backend): implement satellite event handling and processing ([dcfc9aa](https://github.com/deploystackio/deploystack/commit/dcfc9aa))
* feat(frontend): add API methods to fetch unique runtimes and languages ([2a7f432](https://github.com/deploystackio/deploystack/commit/2a7f432))
* feat(frontend): add chart components with echarts integration ([dc55c62](https://github.com/deploystackio/deploystack/commit/dc55c62))
* feat(frontend): add field components with props and templates ([9ea64be](https://github.com/deploystackio/deploystack/commit/9ea64be))
* feat(frontend): add hover card for Python MCP server installation warning ([df0d271](https://github.com/deploystackio/deploystack/commit/df0d271))
* feat(frontend): add McpClientConnectionsCard component ([7f95f3e](https://github.com/deploystackio/deploystack/commit/7f95f3e))
* feat(frontend): add runtime and tags display to MCP server card ([3b22e37](https://github.com/deploystackio/deploystack/commit/3b22e37))
* feat(frontend): add search and filter functionality to server catalog ([13da4a1](https://github.com/deploystackio/deploystack/commit/13da4a1))
* feat(frontend): add skeleton loading state for MCP server selection ([2653bb4](https://github.com/deploystackio/deploystack/commit/2653bb4))
* feat(frontend): add white variant to card component styles ([755d175](https://github.com/deploystackio/deploystack/commit/755d175))
* feat(frontend): enhance MCP server card with GitHub avatar display ([7479c5e](https://github.com/deploystackio/deploystack/commit/7479c5e))
* feat(frontend): enhance MCP server installation views and add stats component ([6635348](https://github.com/deploystackio/deploystack/commit/6635348))
* feat(frontend): implement ButtonGroup component with variants ([23a0418](https://github.com/deploystackio/deploystack/commit/23a0418))
* feat(frontend): implement client activity tracking and polling ([e73e4e2](https://github.com/deploystackio/deploystack/commit/e73e4e2))
* feat(frontend): implement item components with variants and slots ([3125aa4](https://github.com/deploystackio/deploystack/commit/3125aa4))
* feat(frontend): implement McpInstallationsEmptyState component ([044c3e1](https://github.com/deploystackio/deploystack/commit/044c3e1))
* feat(frontend): integrate team selection for client activity fetching ([bdb2280](https://github.com/deploystackio/deploystack/commit/bdb2280))
* feat(metrics): add MCP client activity metrics endpoint and service ([9b82d78](https://github.com/deploystackio/deploystack/commit/9b82d78))
* feat(satellite): add logger support to event handler functions ([4934a4f](https://github.com/deploystackio/deploystack/commit/4934a4f))
* feat(satellite): implement job management system with heartbeat job ([ef0d19b](https://github.com/deploystackio/deploystack/commit/ef0d19b))
* chore(all): bump @commitlint/cli from 19.8.1 to 20.1.0 ([9eb3189](https://github.com/deploystackio/deploystack/commit/9eb3189))
* chore(all): bump @octokit/request from 10.0.3 to 10.0.5 ([d93fabf](https://github.com/deploystackio/deploystack/commit/d93fabf))
* chore(all): bump @tailwindcss/postcss from 4.1.13 to 4.1.14 ([fd43779](https://github.com/deploystackio/deploystack/commit/fd43779))
* chore(all): bump drizzle-kit from 0.31.4 to 0.31.5 ([18f93d4](https://github.com/deploystackio/deploystack/commit/18f93d4))
* chore(all): bump drizzle-orm from 0.44.5 to 0.44.6 ([0b92ebf](https://github.com/deploystackio/deploystack/commit/0b92ebf))
* chore(all): bump jest from 30.1.3 to 30.2.0 ([7c70f0a](https://github.com/deploystackio/deploystack/commit/7c70f0a))
* chore(all): bump jiti from 2.6.0 to 2.6.1 ([9051c83](https://github.com/deploystackio/deploystack/commit/9051c83))
* chore(all): bump pino from 9.11.0 to 10.0.0 ([7845a12](https://github.com/deploystackio/deploystack/commit/7845a12))
* chore(all): bump tailwindcss from 4.1.13 to 4.1.14 ([e6e06c3](https://github.com/deploystackio/deploystack/commit/e6e06c3))
* chore(all): bump vue-sonner from 2.0.8 to 2.0.9 ([ad873f0](https://github.com/deploystackio/deploystack/commit/ad873f0))
* chore(all): bump vue-tsc from 3.0.8 to 3.1.1 ([8f93277](https://github.com/deploystackio/deploystack/commit/8f93277))
* chore(all): bump zod-openapi from 5.4.1 to 5.4.2 ([35a5b7f](https://github.com/deploystackio/deploystack/commit/35a5b7f))
* chore(backend): bump @commitlint/cli in /services/backend ([f303c24](https://github.com/deploystackio/deploystack/commit/f303c24))
* chore(backend): update welcome email template for new users ([756e607](https://github.com/deploystackio/deploystack/commit/756e607))
* chore(frontend): bump @types/marked in /services/frontend ([5f4ddd3](https://github.com/deploystackio/deploystack/commit/5f4ddd3))
* chore(frontend): release v0.31.0 ([7e6b608](https://github.com/deploystackio/deploystack/commit/7e6b608))
* chore(frontend): release v0.31.0 ([6c626f8](https://github.com/deploystackio/deploystack/commit/6c626f8))
* chore(frontend): remove unused @types/marked dependency from package.json ([44f88ad](https://github.com/deploystackio/deploystack/commit/44f88ad))
* chore(satellite): release v0.4.1 ([5ebb468](https://github.com/deploystackio/deploystack/commit/5ebb468))
* chore(satellite): release v0.4.1 ([6594669](https://github.com/deploystackio/deploystack/commit/6594669))
* chore(satellite): remove unnecessary log statements from server startup ([a1ff115](https://github.com/deploystackio/deploystack/commit/a1ff115))
* refactor: clean up code structure and remove redundant sections ([4025c22](https://github.com/deploystackio/deploystack/commit/4025c22))
* refactor(all): update MCP event schemas for consistency and clarity ([2258555](https://github.com/deploystackio/deploystack/commit/2258555))
* refactor(frontend): simplify McpInstallationsCard component structure ([3fdb93d](https://github.com/deploystackio/deploystack/commit/3fdb93d))
* refactor(satellite): improve client name detection logic in headers ([7c48a4a](https://github.com/deploystackio/deploystack/commit/7c48a4a))
* docs(all): update README to clarify adoption friction and data ([c0e3a79](https://github.com/deploystackio/deploystack/commit/c0e3a79))
* docs(all): update README to clarify VS Code settings for DeployStack ([05d5a35](https://github.com/deploystackio/deploystack/commit/05d5a35))
* style(frontend): changed style for several views ([f856c52](https://github.com/deploystackio/deploystack/commit/f856c52))

## 0.36.0 (2025-10-06)

* chore(backend): release v0.36.0 ([6bdfbcf](https://github.com/deploystackio/deploystack/commit/6bdfbcf))
Expand Down
2 changes: 1 addition & 1 deletion services/backend/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@deploystack/backend",
"version": "0.36.0",
"version": "0.37.0",
"scripts": {
"dev": "nodemon",
"build": "tsc && webpack --mode=production",
Expand Down
4 changes: 2 additions & 2 deletions services/backend/src/config/version.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ export interface VersionInfo {

// This will be replaced by the build script
let versionData: VersionInfo = {
version: '0.36.0',
buildTime: '2025-10-06T19:35:12.942Z',
version: '0.37.0',
buildTime: '2025-10-17T22:20:23.126Z',
source: 'release'
};

Expand Down
10 changes: 10 additions & 0 deletions services/satellite/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,23 +122,27 @@ MCP_PROCESS_IDLE_TIMEOUT_SECONDS=180 # Idle timeout in seconds before terminatin
These limits control resource allocation for MCP server processes running in nsjail isolation:

**NSJAIL_MEMORY_LIMIT_MB** (Default: 50)

- Memory limit per MCP server process in megabytes
- Prevents memory exhaustion attacks
- Recommended range: 50-500 MB depending on MCP server requirements
- Example: Set to 100 for memory-intensive MCP servers

**NSJAIL_CPU_TIME_LIMIT_SECONDS** (Default: 60)

- CPU time limit per MCP server process in seconds
- Protects against CPU-bound infinite loops
- Recommended range: 30-300 seconds
- Note: This is CPU time, not wall-clock time

**NSJAIL_MAX_PROCESSES** (Default: 50)

- Maximum number of child processes per MCP server
- Prevents fork bombs and process exhaustion
- Recommended range: 10-100 depending on MCP server needs

**Development Mode:**

- These limits are **not enforced** in development mode (direct spawn without isolation)
- Allows easier debugging on macOS, Windows, and Linux
- Full isolation only active in production Linux deployments
Expand All @@ -150,30 +154,35 @@ These limits control resource allocation for MCP server processes running in nsj
Automatically terminates idle stdio MCP server processes to save resources. Dormant processes are transparently respawned when API calls arrive.

**How It Works:**

- Background job checks all stdio processes every 30 seconds
- Processes idle longer than threshold are gracefully terminated
- Process configurations stored in memory for automatic respawning
- When API call arrives for dormant process, it respawns automatically (1-3s latency)

**Benefits:**

- **Memory Savings**: ~50-100MB per dormant process
- **CPU Savings**: Zero overhead for idle processes
- **Transparent**: MCP clients unaware of sleep/wake cycle
- **Team Isolation**: Maintained (separate processes per team)

**Configuration Options:**

- `180` (default): 3 minutes idle timeout
- `60`: 1 minute idle timeout (aggressive, for high-density deployments)
- `600`: 10 minutes idle timeout (conservative, for frequently-used servers)
- `0`: Disable idle timeout (processes never sleep)

**Edge Cases Handled:**

- Only terminates processes with `status=running`
- Skips processes with active requests in flight
- Prevents concurrent respawn attempts
- Dormant processes excluded from heartbeat reports

**Monitoring:**

```bash
# Check idle process activity
grep "idle_process_check_completed" logs/satellite.log
Expand All @@ -186,6 +195,7 @@ grep "dormant_process_respawned" logs/satellite.log
```

**When to Adjust:**

- **High-density deployments**: Lower timeout (60-120s) to maximize resource savings
- **Frequently-used servers**: Higher timeout (300-600s) to avoid unnecessary respawns
- **Development/testing**: Disable (0) to avoid respawn delays during debugging
Expand Down