Single-node GitOps lab

k8s-viper

Dockerized k3s on Viper. Isolated gVisor SandboxAgents on Agent Substrate — not plain Agents. They sit idle until a chat, then a worker comes up.

Node k3s-viper · dockerized k3s
ns/ate-system WorkerPool kagent-default gVisor · ateom-gvisor:v0.0.9

SandboxAgents on this node. Actors sit idle until a chat, then a gVisor worker comes up. The idle/active flip is an illustration of that lifecycle, not live pod status.

  1. chat
  2. kagent
  3. SandboxAgent
  4. gVisor actor
  5. MCP
  6. target
01

SandboxAgents

Same inventory as the cluster above. Detail, live shots, and vault path names live on /agents/. The lab map is in the handbook.

02

How it works

Imperative install only for k3s + Argo + root app. Platform services are GitOps. LAN consoles stay off this public site.

bootstrap.sh → dockerized k3s (k3s-viper) + Argo CD + root Application
argocd/apps/*  (GitOps, auto-sync)
Traefik · Vault · ESO · Headlamp · agentgateway · Langfuse · Substrate · kagent
kagent UI :30500 (LAN-only) → gpt-5.5 via agentgateway :30100
Agent Substrate (ate-system) → gVisor workers (kagent-default)
Hard rule: never commit secrets. Values live in Vault; git holds ExternalSecret paths only.
03

Pins

Official pairing. Do not bump these to “fix” a Ready=False agent.

PiecePin
kagent OSS0.10.0-rc2
Agent Substrate0.0.9
WorkerPoolkagent-default
kagent UI:30500
modelgpt-5.5 via agentgateway :30100

Agents · Handbook · GitHub · kagent-agent-substrate-demos