mirror of
https://github.com/harivansh-afk/agentikube.git
synced 2026-04-15 01:00:28 +00:00
helm install
This commit is contained in:
parent
f3abdfe7b8
commit
44fe1e1f5c
4 changed files with 90 additions and 4 deletions
20
.github/workflows/ci.yml
vendored
20
.github/workflows/ci.yml
vendored
|
|
@ -25,3 +25,23 @@ jobs:
|
|||
|
||||
- name: Test
|
||||
run: go test ./...
|
||||
|
||||
helm-lint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Helm
|
||||
uses: azure/setup-helm@v4
|
||||
|
||||
- name: Helm lint
|
||||
run: helm lint chart/agentikube/
|
||||
|
||||
- name: Helm template
|
||||
run: |
|
||||
helm template agentikube chart/agentikube/ \
|
||||
--namespace sandboxes \
|
||||
--set storage.filesystemId=fs-test \
|
||||
--set sandbox.image=test:latest \
|
||||
--set compute.clusterName=test-cluster
|
||||
|
|
|
|||
15
Makefile
15
Makefile
|
|
@ -1,4 +1,4 @@
|
|||
.PHONY: build install clean fmt vet lint
|
||||
.PHONY: build install clean fmt vet lint crds helm-lint helm-template
|
||||
|
||||
build:
|
||||
go build -o agentikube ./cmd/agentikube
|
||||
|
|
@ -16,3 +16,16 @@ vet:
|
|||
go vet ./...
|
||||
|
||||
lint: fmt vet
|
||||
|
||||
crds:
|
||||
./scripts/download-crds.sh
|
||||
|
||||
helm-lint:
|
||||
helm lint chart/agentikube/
|
||||
|
||||
helm-template:
|
||||
helm template agentikube chart/agentikube/ \
|
||||
--namespace sandboxes \
|
||||
--set storage.filesystemId=fs-test \
|
||||
--set sandbox.image=test:latest \
|
||||
--set compute.clusterName=test-cluster
|
||||
|
|
|
|||
33
README.md
33
README.md
|
|
@ -3,7 +3,7 @@
|
|||
[](https://github.com/harivansh-afk/agentikube/blob/main/go.mod)
|
||||
[](https://github.com/harivansh-afk/agentikube/releases/latest)
|
||||
|
||||
A small Go CLI that spins up isolated agent sandboxes on Kubernetes.
|
||||
A Helm package used for spinning up isolated stateful agent sandboxes via k8 pods
|
||||
|
||||
<img width="1023" height="745" alt="image" src="https://github.com/user-attachments/assets/d62b6d99-b6bf-4ac3-9fb3-9b8373afbbec" />
|
||||
|
||||
|
|
@ -20,6 +20,31 @@ A small Go CLI that spins up isolated agent sandboxes on Kubernetes.
|
|||
|
||||
## Quick start
|
||||
|
||||
### Option A: Helm chart
|
||||
|
||||
```bash
|
||||
# 1. Create your values file
|
||||
cat > my-values.yaml <<EOF
|
||||
compute:
|
||||
clusterName: my-eks-cluster
|
||||
storage:
|
||||
filesystemId: fs-0123456789abcdef0
|
||||
sandbox:
|
||||
image: my-registry/sandbox:latest
|
||||
EOF
|
||||
|
||||
# 2. Install
|
||||
helm install agentikube ./chart/agentikube \
|
||||
-n sandboxes --create-namespace \
|
||||
-f my-values.yaml
|
||||
|
||||
# 3. Create a sandbox and jump in
|
||||
agentikube create demo --provider openai --api-key <key>
|
||||
agentikube ssh demo
|
||||
```
|
||||
|
||||
### Option B: CLI only
|
||||
|
||||
```bash
|
||||
# 1. Copy and fill in your config
|
||||
cp agentikube.example.yaml agentikube.yaml
|
||||
|
|
@ -53,11 +78,13 @@ Running `create <handle>` adds:
|
|||
cmd/agentikube/main.go # entrypoint
|
||||
internal/config/ # config structs + validation
|
||||
internal/manifest/ # template rendering
|
||||
internal/manifest/templates/ # k8s YAML templates
|
||||
internal/manifest/templates/ # k8s YAML templates (used by CLI)
|
||||
internal/kube/ # kube client helpers
|
||||
internal/commands/ # command implementations
|
||||
chart/agentikube/ # Helm chart
|
||||
scripts/ # helper scripts (CRD download)
|
||||
agentikube.example.yaml # example config
|
||||
Makefile # build/install/fmt/vet
|
||||
Makefile # build/install/fmt/vet/helm
|
||||
```
|
||||
|
||||
## Build and test locally
|
||||
|
|
|
|||
26
scripts/download-crds.sh
Executable file
26
scripts/download-crds.sh
Executable file
|
|
@ -0,0 +1,26 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# Download agent-sandbox CRDs into chart/agentikube/crds/
|
||||
# Run this before packaging the chart: make crds
|
||||
|
||||
REPO="kubernetes-sigs/agent-sandbox"
|
||||
BRANCH="main"
|
||||
BASE_URL="https://raw.githubusercontent.com/${REPO}/${BRANCH}/k8s/crds"
|
||||
DEST="$(cd "$(dirname "$0")/.." && pwd)/chart/agentikube/crds"
|
||||
|
||||
CRDS=(
|
||||
sandboxtemplates.yaml
|
||||
sandboxclaims.yaml
|
||||
sandboxwarmpools.yaml
|
||||
)
|
||||
|
||||
echo "Downloading CRDs from ${REPO}@${BRANCH} ..."
|
||||
mkdir -p "$DEST"
|
||||
|
||||
for crd in "${CRDS[@]}"; do
|
||||
echo " ${crd}"
|
||||
curl -sSfL "${BASE_URL}/${crd}" -o "${DEST}/${crd}"
|
||||
done
|
||||
|
||||
echo "CRDs written to ${DEST}"
|
||||
Loading…
Add table
Add a link
Reference in a new issue