Skip to content

Conversation

@dustins
Copy link
Contributor

@dustins dustins commented Oct 27, 2025

Here's a polished version of your description:


Description

This PR adds support for offline and air-gapped deployments by enabling configuration of pre-cached external dependencies for both the REST API container and MCP Workbench via custom-config.yaml.

Changes

REST API Container - Nodeenv Pre-caching

Added support for pre-caching nodeenv (required by prisma-client-py) in the REST API container. The implementation maintains backward compatibility while enabling offline deployments through a configurable cache directory path.

# Configure offline build dependencies for REST API (nodeenv for prisma-client-py)
restApiConfig:
  buildConfig:
    NODEENV_CACHE_DIR: "./nodeenv-cache"  # Path relative to lib/serve/rest-api/
  • Backward Compatible: Default behavior unchanged (downloads nodeenv at runtime build)
  • Offline Support: Supports pre-cached nodeenv for environments without internet access

MCP Workbench - Dependency Source Override

Added support for overriding dependency sources for S6 Overlay and rclone used in MCP Workbench to support offline/air-gapped deployments through configurable source paths.

# Configure offline build dependencies for MCP Workbench (S6 Overlay and rclone)
mcpWorkbenchBuildConfig:
  S6_OVERLAY_NOARCH_SOURCE: "./s6-overlay-noarch.tar.xz"  # Path relative to lib/serve/mcp-workbench/
  S6_OVERLAY_ARCH_SOURCE: "./s6-overlay-x86_64.tar.xz"    # Path relative to lib/serve/mcp-workbench/
  RCLONE_SOURCE: "./rclone-linux-amd64.zip"                # Path relative to lib/serve/mcp-workbench/
  • Backward Compatible: Default behavior unchanged (downloads dependencies during build)
  • Consistent Pattern: All offline build configurations follow the same approach

Testing

  • Verified default behavior remains unchanged
  • Tested offline deployment with pre-cached dependencies
  • Validated configuration options in custom-config.yaml

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant