mirror of
https://github.com/harivansh-afk/agentikube.git
synced 2026-04-15 08:03:41 +00:00
3 KiB
3 KiB
agentikube
A small Go CLI that spins up isolated agent sandboxes on Kubernetes.
What it does
init- Installs CRDs, checks prerequisites, ensures your namespace existsup- Renders and applies Kubernetes manifests from templates (--dry-runto preview)create <handle>- Spins up a sandbox for a user with provider credentialslist- Shows all sandboxes with status, age, and pod namestatus- Warm pool numbers, sandbox count, Karpenter node countssh <handle>- Drops you into a sandbox pod shelldestroy <handle>- Tears down a single sandboxdown- Removes shared infra but keeps existing user sandboxes
Quick start
# 1. Copy and fill in your config
cp agentikube.example.yaml agentikube.yaml
# Edit: namespace, EFS filesystem ID, sandbox image, compute settings
# 2. Set things up
agentikube init
agentikube up
# 3. Create a sandbox and jump in
agentikube create demo --provider openai --api-key <key>
agentikube list
agentikube ssh demo
What gets created
Running up applies these to your cluster:
- Namespace, StorageClass (
efs-sandbox), SandboxTemplate - Optionally: SandboxWarmPool, NodePool + EC2NodeClass (Karpenter)
Running create <handle> adds:
- A Secret and SandboxClaim per user
- A workspace PVC backed by EFS
Project layout
cmd/agentikube/main.go # entrypoint
internal/config/ # config structs + validation
internal/manifest/ # template rendering
internal/manifest/templates/ # k8s YAML templates
internal/kube/ # kube client helpers
internal/commands/ # command implementations
agentikube.example.yaml # example config
Makefile # build/install/fmt/vet
Build and test locally
go build ./...
go test ./...
go run ./cmd/agentikube --help
# Smoke test manifest generation
./agentikube up --dry-run --config agentikube.example.yaml
Good to know
storage.typeisefsonly for nowkubectlneeds to be installed (used byinitandssh)- Fargate is validated in config but templates only cover the Karpenter path so far
- No Go tests written yet -
go testpasses but reports no test files - k9s is great for browsing sandbox resources (
brew install derailed/k9s/k9s)