Adds oci-javascript-mcp-server Kubernetes/Kata Isolation Provider - #431
Open
dustin-sale wants to merge 7 commits into
Open
Adds oci-javascript-mcp-server Kubernetes/Kata Isolation Provider#431dustin-sale wants to merge 7 commits into
dustin-sale wants to merge 7 commits into
Conversation
dustin-sale
force-pushed
the
dustin-sale/oci-javascript-k8s-isolation-provider
branch
3 times, most recently
from
September 3, 2026 19:52
0fa9f5b to
a652aab
Compare
…cal development profiles
dustin-sale
force-pushed
the
dustin-sale/oci-javascript-k8s-isolation-provider
branch
from
September 4, 2026 14:39
e576b6d to
2f92241
Compare
dustin-sale
marked this pull request as ready for review
September 4, 2026 18:21
dustin-sale
requested review from
AlaaShaker,
gebhardtr and
krisrice
as code owners
September 4, 2026 18:21
dustin-sale
marked this pull request as draft
September 4, 2026 19:05
dustin-sale
marked this pull request as ready for review
September 4, 2026 20:09
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
Extends the existing
oci-javascript-mcp-serverwith a Kubernetes isolation provider while preserving Podman as the default. Provider and profile selection are trusted startup configuration, use exact accepted values, and fail closed without falling back to another runtime or credential source.The Kubernetes provider includes:
local-development,in-cluster, andkata-in-clusterprofiles behind a shared isolation-provider interface.RuntimeClassand handler where applicable.The motivation is to support cluster-managed execution and an optional Kata-backed deployment profile without weakening the server's trusted-host boundary or changing existing Podman deployments. The standard Kubernetes profiles provide container isolation only. The Kata profile is intentionally documented as a proof of concept and still requires deployment-specific runtime evidence and a current security review before it can be treated as a VM-grade boundary.
The implementation adds
@kubernetes/client-nodeand its WebSocket type support. Kubernetes deployments require access to a compatible cluster, the documented namespaces and RBAC/admission/network controls, a digest-pinned runner image, and a reviewed KataRuntimeClassforkata-in-cluster. The credential synchronization helper additionally requires Python 3 and an existing OCI CLI configuration. Podman remains the default and gains no new Kubernetes dependency at runtime. No downstream module changes are required.Fixes #
Type of change
How Has This Been Tested?
Run the following from
src/oci-javascript-mcp-server:npm run check— TypeScript validation passed.npm run packcheck— npm package dry-run verification passed.npm run check:kubernetes-manifests— all 14 standard and Kata Kubernetes manifest tests passed.git diff --check 6633b602248bf44dbaf9aebe2e584c4a53622f1a...HEAD— passed with no whitespace errors.npm run ci— 184 tests passed with 95.39% coverageAdditionally, I tested in both
local-developementandin-clusterkubernetes isolation provider profile modes.Test Configuration:
arm64)oci-sdk2.132.x;@kubernetes/client-node2.x;@modelcontextprotocol/sdk1.29.xChecklist: