Remote Developer - Claude Code instances in isolated Kubernetes pods
Go to file
jordan 2a2f2fa370
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
fix(logging): implement http.Flusher on responseWriter for SSE streaming
The logging middleware's responseWriter wrapped http.ResponseWriter but
only implemented WriteHeader, Write, and Unwrap. The missing Flush()
method caused w.(http.Flusher) type assertions to fail in the claudebox
sidecar's streaming endpoint, returning 500 "streaming not supported".

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 13:23:42 -07:00
.claude/guides fix(skeleton): enforce chi {param} URL syntax in agent guidance 2026-02-07 20:44:52 -07:00
ai-lookup feat: add RWX storage class and full SDLC lifecycle cookbook 2026-02-06 11:37:57 -07:00
changelog release: v0.10.56 - fix: worker template unused pkg/config import 2026-02-05 13:46:45 -07:00
cmd fix(sdlc): persist branch metadata on main before feature branch creation 2026-02-09 08:36:10 -07:00
cookbooks fix(sdlc): persist branch metadata on main before feature branch creation 2026-02-09 08:36:10 -07:00
deployments/k8s/base fix(ci): add watch permission for Woodpecker CI deployments 2026-02-09 01:14:00 -07:00
docs feat(foundary): implement complete backend for conversational project design 2026-02-09 00:50:46 -07:00
examples/dashboard-app feat: complete template upgrade - chassis framework, UI library, auth, app-nextjs, OpenAPI, and cookbook 2026-02-02 00:46:51 -07:00
history docs: add v0.5.0 history - API key authentication 2026-01-24 23:48:43 -07:00
ideas/aeres feat: add structured logging infrastructure and SDLC extensions 2026-02-04 22:56:04 -07:00
internal fix(logging): implement http.Flusher on responseWriter for SSE streaming 2026-02-09 13:23:42 -07:00
pkg/api feat: complete template upgrade - chassis framework, UI library, auth, app-nextjs, OpenAPI, and cookbook 2026-02-02 00:46:51 -07:00
scripts feat: enterprise worker pool with HTTP sidecar pattern 2026-02-05 16:21:11 -07:00
tests/e2e feat: Implement hexagonal architecture with services, webhooks, queue, and telemetry 2026-01-25 19:57:46 -07:00
.env.local.example feat: add local development environment 2026-01-25 00:07:02 -07:00
.gitignore fix: worker graceful shutdown and RWO PVC compatibility 2026-02-06 00:35:00 -07:00
.gitkeep-ci chore: trigger CI rebuild 2026-02-07 13:32:31 -07:00
.golangci.yml feat: Add infrastructure adapters for threesix.ai 2026-01-25 22:49:58 -07:00
.woodpecker.yml ci: fix container names in deploy step 2026-02-05 23:44:05 -07:00
aeries-preparation-thoughts.md feat: add structured logging infrastructure and SDLC extensions 2026-02-04 22:56:04 -07:00
app-vision-gaps.md feat: enterprise worker pool with HTTP sidecar pattern 2026-02-05 16:21:11 -07:00
app-vision-roadmap.md feat: enterprise worker pool with HTTP sidecar pattern 2026-02-05 16:21:11 -07:00
app-vision.md feat: enterprise worker pool with HTTP sidecar pattern 2026-02-05 16:21:11 -07:00
CHANGELOG.md feat: Implement hexagonal architecture with services, webhooks, queue, and telemetry 2026-01-25 19:57:46 -07:00
CLAUDE.md fix(templates): upgrade Go to 1.25 and fix Woodpecker syntax 2026-02-08 23:57:38 -07:00
CODING_GUIDELINES.md feat: Add multi-provider code agent interface with Claude Code and OpenCode adapters 2026-01-27 09:25:51 -07:00
docker-compose.yaml feat: add local development environment 2026-01-25 00:07:02 -07:00
Dockerfile fix: worker graceful shutdown and RWO PVC compatibility 2026-02-06 00:35:00 -07:00
Dockerfile.api feat: Implement hexagonal architecture with services, webhooks, queue, and telemetry 2026-01-25 19:57:46 -07:00
Dockerfile.api.prebuild feat: Implement hexagonal architecture with services, webhooks, queue, and telemetry 2026-01-25 19:57:46 -07:00
Dockerfile.worker feat: enterprise worker pool with HTTP sidecar pattern 2026-02-05 16:21:11 -07:00
go.mod fix(templates): upgrade Go to 1.25 and fix Woodpecker syntax 2026-02-08 23:57:38 -07:00
go.sum fix(templates): upgrade Go to 1.25 and fix Woodpecker syntax 2026-02-08 23:57:38 -07:00
IMPLEMENTATION_PLAN_V2.md feat: Implement hexagonal architecture with services, webhooks, queue, and telemetry 2026-01-25 19:57:46 -07:00
IMPLEMENTATION_PLAN.md docs: add hexagonal architecture implementation plan 2026-01-25 00:15:46 -07:00
Makefile feat: add local development environment 2026-01-25 00:07:02 -07:00
PLAN.md feat: Implement v0.2-v0.4 (workspaces, git, API) 2026-01-24 21:07:00 -07:00
QUICKSTART.md feat: add local development environment 2026-01-25 00:07:02 -07:00
README.md feat: Add claude-config API, security hardening, and testing infrastructure 2026-01-25 01:29:13 -07:00
vision.md feat: fix composable monorepo CI builds + health endpoint improvements 2026-02-03 18:46:51 -07:00

rdev - Remote Developer

Run Claude Code in isolated Kubernetes pods on your k3s cluster.

Quick Start

# 1. Set kubeconfig (REQUIRED - this is k3s, not GKE)
export KUBECONFIG=~/.kube/orchard9-k3sf.yaml

# 2. Authenticate Claude locally (if not already)
claude

# 3. Create credentials secret
./scripts/create-credentials-secret.sh

# 4. Deploy
./scripts/deploy.sh

# 5. Verify
./scripts/verify.sh

Usage

# Check Claude version
kubectl exec -n rdev claudebox-0 -- claude --version

# Interactive Claude session
kubectl exec -it -n rdev claudebox-0 -- claude "what can you help me with?"

# Run in workspace
kubectl exec -it -n rdev claudebox-0 -- bash
cd /workspace
claude "create a hello world go program"

Architecture

k3s cluster
└── rdev namespace
    └── claudebox-0 (StatefulSet)
        ├── Claude Code CLI
        ├── /workspace (20Gi PVC via Longhorn)
        └── /root/.claude (credentials from secret)

Roadmap

  • v0.1: Base case - single claudebox pod
  • v0.2: Real workspace mounting (pantheon, aeries)
  • v0.3: Git integration (push/pull)
  • v0.4: Discord bot control
  • v0.5: Streaming output
  • v0.6: Multi-project routing

Development

# Build image locally
docker build -t rdev-claudebox:dev .

# Build and push to Artifact Registry
./scripts/build-push.sh v0.1.0

Troubleshooting

# Check pod status
kubectl get pods -n rdev

# View pod logs
kubectl logs claudebox-0 -n rdev

# Describe pod for events
kubectl describe pod claudebox-0 -n rdev

# Check credentials mount
kubectl exec -n rdev claudebox-0 -- ls -la /root/.claude/