Skip to content

docs(agent-canvas): add Kubernetes (Helm) backend guide#614

Draft
rbren wants to merge 4 commits into
mainfrom
docs/agent-canvas-helm-chart
Draft

docs(agent-canvas): add Kubernetes (Helm) backend guide#614
rbren wants to merge 4 commits into
mainfrom
docs/agent-canvas-helm-chart

Conversation

@rbren

@rbren rbren commented Jul 9, 2026

Copy link
Copy Markdown
Member

What

Adds a new backend-setup page documenting the official Helm chart for running Agent Canvas on Kubernetes: Kubernetes (Helm).

The chart itself is in OpenHands/agent-canvas under helm/agent-canvas/ and there was no user-facing docs entry for it. This page slots in next to Docker / VM / Cloud / Modal in the Backend Setup group.

Why

  • Users installing on their own clusters currently have to read helm/agent-canvas/README.md in the source repo. That works for a Helm-fluent audience but not for people finding the docs first.
  • Two install gotchas keep coming up in support: GKE c4/n4 node pools needing hyperdisk-balanced, and ingress controllers closing WebSocket streams because default timeouts are ~60s. Both are called out explicitly in the new page's Persistence and Ingress / Troubleshooting sections.
  • Fills the gap between the Docker page (single-container, laptop-friendly) and the VM page (bare-metal-y, ngrok-oriented) — nothing in docs today covers cluster installs.

Scope

  • New file: openhands/usage/agent-canvas/backend-setup/kubernetes.mdx (~270 lines).
    • Prerequisites, chart install command
    • What the chart deploys (StatefulSet, PVC, Service, headless Service, SA, optional Ingress + RBAC bindings)
    • Persistence — mount path, defaults, GKE c4/n4 hyperdisk note, existingClaim path
    • Ingress — full example including WebSocket-friendly timeouts and TLS
    • RBAC — namespaced admin vs. clusterAdmin, with a warning against the latter
    • Common values.yaml recipes: minimal, LLM key from a Secret, sandbox-namespace RBAC, external Postgres
    • Install / upgrade / rollout commands
    • Three ways to reach the UI (Ingress / port-forward / LoadBalancer) with a security note on the last
    • Uninstall + PVC cleanup
    • Troubleshooting: FailedAttachVolume, ErrImagePull, WebSocket disconnects, Pending on no PV
  • docs.json — adds the page to Agent Canvas > Backend Setup, inserted between docker and cloud (roughly in ascending complexity order).
  • Reciprocal "Related Guides" links added to docker.mdx and vm.mdx so people already reading a sibling page can find it.

Not in this PR

  • llms.txt / llms-full.txt regeneration. I ran make llms and confirmed it does pick up the new page, but the regen also pulled in ~1500 lines of pre-existing drift on main (unrelated title/description changes to Custom Sandbox, and the new Mobile Access page). The Sync llms context files workflow runs weekly on cron and will open its own PR to catch up — merging that separately keeps this diff readable. If reviewers prefer, I can push the regen into this PR instead.

How to preview

npm install -g mintlify@latest   # if not already installed
mint dev

Open http://localhost:3000/openhands/usage/agent-canvas/backend-setup/kubernetes and click around; also check the sidebar nav under Agent Canvas → Backend Setup.

This PR was created by an AI agent (OpenHands) on behalf of the repo owner.

Add a new backend-setup page documenting the official Helm chart for
running Agent Canvas on Kubernetes. Covers prerequisites, what the
chart deploys, persistence (including the GKE c4/n4 hyperdisk gotcha),
ingress with WebSocket-friendly timeouts, RBAC toggles (namespaced +
cluster-admin), common values.yaml recipes (LLM key from a Secret,
sandbox-namespace RBAC, external Postgres), install/upgrade commands,
three ways to reach the UI, uninstall + PVC cleanup, and a
troubleshooting section for the most common install failures.

Wires the page into docs.json under Agent Canvas > Backend Setup and
adds reciprocal Related-Guides links from the Docker and VM pages.
Mirror the chart update that moves persistence.mountPath from
/home/openhands/.openhands up to /home/openhands so ~/workspace and
other agent-generated state also survives pod restarts.
The chart now runs as UID 10001 (upstream image's `openhands` user;
UID 1000 was a leftover `pn` account in the base layer) and mounts a
single PVC at ~/.openhands and ~/workspace via subPath instead of
shadowing the whole HOME (which would hide the image's .bashrc et al.).
@mintlify

mintlify Bot commented Jul 9, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
all-hands-ai 🟢 Ready View Preview Jul 9, 2026, 4:29 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

…app-deploy skill

Explain that the Kubernetes backend can be used as an internal vibecoding
platform where anyone with Agent Canvas UI access can build, ship, and push
code to GitHub from a prompt (GitHub MCP required for the push half). Include
a generic, cluster-agnostic version of the internal app-deployment skill as a
copy-pasteable code block.

Co-authored-by: openhands <openhands@all-hands.dev>
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.

2 participants