<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Documentation on go-runtime-sandbox</title><link>https://gke-demos.github.io/go-runtime-sandbox/docs/</link><description>Recent content in Documentation on go-runtime-sandbox</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://gke-demos.github.io/go-runtime-sandbox/docs/index.xml" rel="self" type="application/rss+xml"/><item><title>Quick start</title><link>https://gke-demos.github.io/go-runtime-sandbox/docs/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gke-demos.github.io/go-runtime-sandbox/docs/quickstart/</guid><description>&lt;p&gt;The fastest path to a working sandbox is the one-shot kind script. It builds the runtime image, brings up a kind cluster, installs the agent-sandbox controller and router, deploys the &lt;code&gt;SandboxTemplate&lt;/code&gt;, and runs the demo end-to-end.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Tool&lt;/th&gt;
 &lt;th&gt;Version&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Docker&lt;/td&gt;
 &lt;td&gt;20.10+&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Go&lt;/td&gt;
 &lt;td&gt;1.26+&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;kubectl&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;1.30+&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;kind&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;0.20+&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="run-it"&gt;Run it&lt;/h2&gt;
&lt;p&gt;From the repo root:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;./scripts/run-test-kind.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Expected output (tail):&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;=== single-file smoke flow ===
-- go run main.go [exit=0] -- hello from the sandbox! sum(1..100)=5050, go=go1.26.3/linux/amd64
-- ./app (re-runs the binary built in the previous call) -- hello from the sandbox! ...

=== multi-file module flow ===
-- ./app [exit=0] -- hello, Alice — from the multi-file sandbox sample
 hello, Bob — ...
 hello, Carol — ...
-- go test ./... [exit=0] -- ok example.com/multifile/greet 0.004s

==&amp;gt; PoC complete
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;That confirms three things end-to-end: the runtime image builds and runs, the agent-sandbox client can ship files into it via the router, and arbitrary Go programs (including multi-file modules) build and execute inside.&lt;/p&gt;</description></item><item><title>Install</title><link>https://gke-demos.github.io/go-runtime-sandbox/docs/install/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gke-demos.github.io/go-runtime-sandbox/docs/install/</guid><description>&lt;p&gt;This walks you through running the &lt;code&gt;cmd/demo&lt;/code&gt; program end-to-end against a
Kubernetes cluster. Two paths are supported:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;A. Local kind cluster&lt;/strong&gt; — recommended for the first run. One script.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;B. GKE cluster&lt;/strong&gt; — for running the demo against real cloud
infrastructure (and the eventual gVisor-isolated runtime path).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Both paths exercise the same demo: ship a Go source file into a sandbox,
compile it, run it, then do the same for a multi-file module.&lt;/p&gt;</description></item><item><title>MCP server</title><link>https://gke-demos.github.io/go-runtime-sandbox/docs/mcp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gke-demos.github.io/go-runtime-sandbox/docs/mcp/</guid><description>&lt;p&gt;&lt;code&gt;cmd/mcp-server&lt;/code&gt; is a Model Context Protocol server that exposes one
tool — &lt;code&gt;run_go_code&lt;/code&gt; — backed by &lt;code&gt;pkg/goruntime&lt;/code&gt;. Any MCP client (Claude
Code, Claude Desktop, Cursor, etc.) can use it to build and execute Go
programs in an isolated Kubernetes sandbox.&lt;/p&gt;
&lt;p&gt;This guide covers: registering the server in Claude Code, what the tool
does, a smoke-test path that doesn&amp;rsquo;t require an LLM, and prompts to
try once it&amp;rsquo;s wired up.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
&lt;p&gt;You need everything from &lt;a href="https://gke-demos.github.io/go-runtime-sandbox/docs/install/"&gt;howto.md&lt;/a&gt; — a Kubernetes cluster
(kind or GKE) with the agent-sandbox controller installed, the
&lt;code&gt;sandbox-router&lt;/code&gt; deployed in your target namespace, and the
&lt;code&gt;go-runtime-template&lt;/code&gt; &lt;code&gt;SandboxTemplate&lt;/code&gt; applied. Easiest path: run
&lt;code&gt;./scripts/run-test-kind.sh&lt;/code&gt; once; the script&amp;rsquo;s cleanup trap removes
the per-test resources at the end, so before using the MCP server
you&amp;rsquo;ll want to re-apply just the router and template:&lt;/p&gt;</description></item><item><title>How it works</title><link>https://gke-demos.github.io/go-runtime-sandbox/docs/how-it-works/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gke-demos.github.io/go-runtime-sandbox/docs/how-it-works/</guid><description>&lt;p&gt;Derived from &lt;a href="https://github.com/gke-demos/go-runtime-sandbox/blob/main/docs/spec.md"&gt;&lt;code&gt;spec.md&lt;/code&gt;&lt;/a&gt;. The spec answers &lt;em&gt;what&lt;/em&gt;; this document
answers &lt;em&gt;how&lt;/em&gt;.&lt;/p&gt;
&lt;h2 id="1-overview"&gt;1. Overview&lt;/h2&gt;
&lt;p&gt;Two artifacts, one HTTP contract, one end-to-end test:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;┌──────────────────────────────┐ port-forward ┌────────────────────────────┐
│ host │ ──────────────▶│ sandbox pod │
│ cmd/demo (Go) │ HTTP :8888 │ server (Go, net/http) │
│ └─ sigs.k8s.io/agent-sandbox│ │ └─ shells out: go, tar │
│ /clients/go/sandbox │ │ workdir: /app │
└──────────────────────────────┘ └────────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The pod&amp;rsquo;s container image (&lt;code&gt;go-runtime-sandbox&lt;/code&gt;) bundles the Go toolchain
plus our server binary. The server speaks the same HTTP contract as
upstream&amp;rsquo;s Python runtime so the agent-sandbox Go client&amp;rsquo;s &lt;code&gt;Write&lt;/code&gt; / &lt;code&gt;Run&lt;/code&gt;
/ &lt;code&gt;Read&lt;/code&gt; / &lt;code&gt;List&lt;/code&gt; / &lt;code&gt;Exists&lt;/code&gt; methods work without modification.&lt;/p&gt;</description></item></channel></rss>