OpenClaw operator for Kubernetes — CRDs, controller, and Helm chart for running Scobleclaw agents on K8s
Find a file
agent-engineering 9e2cc0473c fix: agent controller pod reconciliation — use Create not Update, wire volumes/env/VolumeMounts
- Pods are now created fresh on first reconcile instead of trying to update
  existing pods (which fails because Update strips API-injected fields like
  volumes, serviceAccountName, and nodeName)
- Added ImagePullPolicy: Never for locally-built Nix images
- Wired Volumes and VolumeMounts from Agent spec into pod spec
- Wired user-defined Env vars from Agent spec
- Image changes now handled via delete+recreate instead of pod update
- Added podImageEqual helper to detect when image change requires recreation

Fixes marcus/scobleclaw#10
2026-05-14 13:43:57 -07:00
api/v1alpha1 fix: agent controller pod reconciliation — use Create not Update, wire volumes/env/VolumeMounts 2026-05-14 13:43:57 -07:00
bin feat: full kubeclaw operator — CRDs, controllers, deploy manifests, Helm chart 2026-05-12 17:08:31 -07:00
charts/kubeclaw feat: full kubeclaw operator — CRDs, controllers, deploy manifests, Helm chart 2026-05-12 17:08:31 -07:00
cmd/manager feat: full kubeclaw operator — CRDs, controllers, deploy manifests, Helm chart 2026-05-12 17:08:31 -07:00
config fix: agent controller pod reconciliation — use Create not Update, wire volumes/env/VolumeMounts 2026-05-14 13:43:57 -07:00
hack feat: full kubeclaw operator — CRDs, controllers, deploy manifests, Helm chart 2026-05-12 17:08:31 -07:00
internal/controller fix: agent controller pod reconciliation — use Create not Update, wire volumes/env/VolumeMounts 2026-05-14 13:43:57 -07:00
nix feat: full kubeclaw operator — CRDs, controllers, deploy manifests, Helm chart 2026-05-12 17:08:31 -07:00
.gitignore Initial commit 2026-05-11 20:44:28 -07:00
Dockerfile feat: full kubeclaw operator — CRDs, controllers, deploy manifests, Helm chart 2026-05-12 17:08:31 -07:00
go.mod feat: full kubeclaw operator — CRDs, controllers, deploy manifests, Helm chart 2026-05-12 17:08:31 -07:00
go.sum feat: full kubeclaw operator — CRDs, controllers, deploy manifests, Helm chart 2026-05-12 17:08:31 -07:00
LICENSE Initial commit 2026-05-11 20:44:28 -07:00
Makefile Initial scaffold: project structure, CRDs, Makefile 2026-05-11 20:54:10 -07:00
manager feat: full kubeclaw operator — CRDs, controllers, deploy manifests, Helm chart 2026-05-12 17:08:31 -07:00
quickstart.sh feat: full kubeclaw operator — CRDs, controllers, deploy manifests, Helm chart 2026-05-12 17:08:31 -07:00
README.md Security redesign: template-only tool surface + compliance judge 2026-05-11 21:18:40 -07:00

kubeclaw

OpenClaw operator for Kubernetes.

What it does

Kubeclaw runs Scobleclaw agents as Kubernetes workloads with security-first design — agents get only one tool (template_workflow) that instantiates pre-approved workflow templates. Every workflow invocation is judged against compliance/regulatory policy by a separate LLM model.

Architecture

┌──────────────────────────────────────────────────┐
│  Agent (only 1 tool: template_workflow)          │
│  ┌────────────────────────────────────────────┐  │
│  │ template_workflow("search-memory", {q:"X"})│  │
│  └────────────────┬───────────────────────────┘  │
│                   │                              │
└───────────────────┼──────────────────────────────┘
                    │
                    ▼
┌──────────────────────────────────────────────────┐
│  Judge (deepseek-v4-pro)                         │
│  Evaluates: template + params + compliance rules │
│  Returns: APPROVE / REJECT / ESCALATE-HUMAN      │
│                                                  │
│  Checks against:                                 │
│  ┌────────────┐  ┌───────────────────────────┐   │
│  │ Compliance  │  │ Regulatory Frameworks    │   │
│  │ Policy CRD  │  │ (SOC2, HIPAA, GDPR, etc) │   │
│  └────────────┘  └───────────────────────────┘   │
└──────────────────┬───────────────────────────────┘
                   │
                   ▼
┌──────────────────────────────────────────────────┐
│  Workflow Executor                                │
│  Runs approved workflow steps                     │
│  Each step logs to audit trail                    │
│  Structured output per template schema            │
└──────────────────────────────────────────────────┘

CRDs

Provider (cluster-scoped)

LLM provider config — API keys, base URLs, model lists with pricing.

Channel (namespaced)

Platform bindings — Discord, Slack, Telegram — with bot token refs.

AgentConfig (namespaced)

Reusable agents.defaults.* config templates — workspace, memory, heartbeat, skills, sandbox, tools.

WorkflowTemplate (cluster-scoped)

Pre-approved workflow templates with defined steps, parameters, output schema, and compliance requirements. The only thing agents can invoke.

CompliancePolicy (cluster-scoped)

Compliance/regulatory policies that the judge evaluates workflow invocations against. Supports SOC2, HIPAA, GDPR, or custom frameworks with per-rule severity and escalation paths.

Agent (namespaced)

Single agent deployment — references Config, Providers, Channels, WorkflowTemplates, CompliancePolicies.

AgentGroup (namespaced)

Multi-agent orchestration with shared configs and per-member overrides.

Security Model

┌──────────────────────────────────────────────────────┐
│  Agent Attack Surface                                 │
│                                                        │
│  Available tools: [template_workflow]                  │
│  Not available: exec, write, web_search, sessions_*,   │
│                 forgejo_*, lean_experiment_*, cron       │
│                                                        │
│  Judge validates every workflow call against:           │
│  ├─ WorkflowTemplate spec (schema, sources, dests)      │
│  ├─ CompliancePolicy rules (Soc2/HIPAA/GDPR checks)    │
│  ├─ Agent-level whitelists (allowed templates, sources) │
│  └─ Regulatory framework system prompt                  │
└──────────────────────────────────────────────────────┘

Quick Start

# Install CRDs
make install

# Run controller locally
make run

# Deploy to cluster
helm install kubeclaw ./charts/kubeclaw

CRD Listing

CRD Scope Purpose
Provider Cluster LLM provider configs
Channel Namespaced Platform channel bindings
AgentConfig Namespaced Reusable config templates
WorkflowTemplate Cluster Pre-approved workflow templates
CompliancePolicy Cluster Security/compliance evaluation rules
Agent Namespaced Single agent deployment
AgentGroup Namespaced Multi-agent orchestration

License

MIT