- Dockerfile for claudebox with Claude Code CLI - Kustomize manifests for k3s deployment - Scripts for credentials, deploy, and verify - README with quick start guide Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
84 lines
1.6 KiB
Markdown
84 lines
1.6 KiB
Markdown
# rdev - Remote Developer
|
|
|
|
Run Claude Code in isolated Kubernetes pods on your k3s cluster.
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
# 1. Set kubeconfig (REQUIRED - this is k3s, not GKE)
|
|
export KUBECONFIG=~/.kube/orchard9-k3sf.yaml
|
|
|
|
# 2. Authenticate Claude locally (if not already)
|
|
claude login
|
|
|
|
# 3. Create credentials secret
|
|
./scripts/create-credentials-secret.sh
|
|
|
|
# 4. Deploy
|
|
./scripts/deploy.sh
|
|
|
|
# 5. Verify
|
|
./scripts/verify.sh
|
|
```
|
|
|
|
## Usage
|
|
|
|
```bash
|
|
# 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
|
|
|
|
- [x] 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
|
|
|
|
```bash
|
|
# Build image locally
|
|
docker build -t rdev-claudebox:dev .
|
|
|
|
# Build and push to Artifact Registry
|
|
./scripts/build-push.sh v0.1.0
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
```bash
|
|
# 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/
|
|
```
|