OpenClaw Kubernetes Operator постаје отворен код
Пре две недеље OpenClaw је имао 9.000 GitHub звездица. Данас их има 183.000. У међувремену се појавила читава индустрија. ClawSimple, Kilo Claw, StartClaw, ShipClaw, GetClaw.ai, LobsterLair. Један сајт за поређење броји 33 провајдера и листа наставља да расте. OpenClaw wrappers преплављују TrustMRR. DigitalOcean је лансирао 1-Click Deploy. Cloudflare га је прилагодио у Workers runtime. Људи су куповали Mac Minis да би покретали личне AI агенте код куће.
Ако желите да самостално хостујете у облаку, најчешћи сетап је Hetzner VPS од 5 долара са 2 vCPU и 4 GB RAM, Docker Compose и API кључ. Покрените водич за подешавање, усмерите га ка Anthropic или OpenRouter, повежите Telegram. Готово за тридесет минута. Или купите Mac Mini, ставите га испод стола и назовите га вашим личним JARVIS-ом. M4 троши седам вати у стању мировања и служи као локална машина за инференцу ако одаберете Pro модел са 64 GB.
Оба ова решења функционишу за једног агента. Али када сам почео да градим OpenClaw.rocks, циљ је био понудити најпоузданији и најбезбеднији начин за хостовање OpenClaw у великом обиму, а да то остане једноставно за корисника. За то је био потребан другачији темељ.
Зашто сам изабрао Kubernetes
Раније сам управљао blockchain инфраструктуром у Binance, укључујући обезбеђивање Bitcoin чворова. Када вам је посао да одржавате радна оптерећења високе вредности изолованим, посматраним и обновивим у великом обиму, развијете чврсте ставове о томе како инфраструктура треба да функционише. Kubernetes је оно чему верујем за то.
OpenClaw је апликација за једног корисника. То је лични асистент, а не multi-tenant платформа. Ако желите да покрећете агенте за десет особа, потребно вам је десет инстанци. За сто особа, сто инстанци. Свака са својом конфигурацијом, својим тајнама, својим складиштем, својим мрежним границама. Сами захтеви за изолацију искључују било шта мање од правилне оркестрације контејнера.
Нећу тврдити да је Kubernetes једноставан. Није. За једног агента, то је апсурдно претерано. Али за покретање многих агената за многе људе, решава проблеме које ништа друго не решава подједнако добро. И мислим да ће свака компанија која на крају буде покретала OpenClaw агенте у великом обиму доћи до истог закључка.
Изолација која се заиста спроводи. Сваки агент ради у свом namespace-у са NetworkPolicy која подразумевано одбија све. Агент A не може да комуницира са Агентом B. Агент B не може да приступи тајнама Агента A. Ово није конвенција или најбоља пракса. Спроводи се од стране container runtime-а и CNI-ја. На дељеном VPS-у са Docker Compose, мрежна изолација између контејнера захтева ручна iptables правила која нико не одржава.
Ограничења ресурса која спречавају каскадне отказе. OpenClaw агент са аутоматизацијом претраживача може потрошити 3 CPU језгра и 6 GB меморије ако му дозволите. На VPS-у са четири агента, један неконтролисани Chromium процес убија остала три. Kubernetes спроводи ограничења CPU и меморије по контејнеру. Један агент који достигне свој лимит не утиче на своје суседе.
Самоизлечење без SSH. Када процес на VPS-у падне, нешто мора то да примети и поново га покрене. systemd то ради, али само за хост. Docker Compose има политике поновног покретања, али оне не покривају десет других ствари које могу поћи наопако: OOM убијања, отказивања чворова, проблеми са складиштем. Kubernetes поново покреће неуспеле контејнере, премешта подове када чворови откажу и покреће провере здравља које откривају проблеме на нивоу апликације, а не само завршавање процеса.
Скалирање без нагађања. Покрећемо радна оптерећења агената на наменском скупу чворова. Када потражња расте, cluster autoscaler додаје чворове. Када опада, чворови се дренирају и уклањају. Не одржавамо флоту унапред припремљених VPS инстанци надајући се да смо правилно димензионисали. Инфраструктура одговара стварном оптерећењу.
Декларативно стање без одступања. Целокупна конфигурација агента живи у једном custom resource-у: модел, канали, ограничења ресурса, мрежна правила, складиште, безбедносни контекст. Нема SSH историје за реконструкцију, нема ручних промена за праћење, нема конфигурационог одступања између онога што мислите да ради и онога што заиста ради.
Ништа од овога није битно за једног агента на једној машини. Све је битно када сте одговорни за поуздан рад агената других људи.
Оператор
Kubernetes вам даје примитиве. Оператор је оно што их чини употребљивим.
Без оператора, распоређивање OpenClaw инстанце на Kubernetes значи писање једанаест ресурса руком: Deployment, Service, ConfigMap, PVC, ServiceAccount, Role, RoleBinding, NetworkPolicy, PodDisruptionBudget, Ingress, ServiceMonitor. Са оператором, то је један:
apiVersion: openclaw.rocks/v1alpha1
kind: OpenClawInstance
metadata:
name: my-agent
spec:
envFrom:
- secretRef:
name: my-api-keys
storage:
persistence:
enabled: true
size: 10Gi
Оператор надгледа овај custom resource и креира све остало. То је контролна петља: при свакој промени било ког ресурса у власништву, и најмање једном сваких пет минута као сигурносна мрежа, упоређује жељено стање са стварним стањем и усаглашава разлику. Ако неко обрише NetworkPolicy, она се враћа. Ако Deployment одступи, исправља се. Обришите custom resource, и owner references каскадно чисте све. Нема осиротелих Services, нема заосталих PVCs.
Данас га објављујемо као отворен код: github.com/OpenClaw-rocks/k8s-operator.
Безбедност као подразумевано, а не као чеклиста
SecurityScorecard је пронашао 135.000 OpenClaw инстанци изложених јавном интернету прошле недеље. CVE-2026-25253 је демонстрирао удаљено извршавање кода једним кликом кроз ексфилтрацију gateway token-а. Gartner је препоручио организацијама да га потпуно блокирају. 341 малициозни skill пронађен је у ClawHub регистру.
Ово је реалност покретања AI агената у 2026. Подразумевана конфигурација OpenClaw-а се везује за 0.0.0.0 без аутентификације. На VPS-у без правилно конфигурисаног firewall-а, удаљени сте једно скенирање портова од тога да непознатој особи дате shell приступ вашем серверу. Покрили смо пун обим безбедносне кризе и зашто чак ни gateway token није довољан.
Оператор заузима супротан приступ. Безбедност је структурна, а не опциона:
- Non-root као подразумевано. UID 1000, све Linux capabilities уклоњене, seccomp
RuntimeDefault. Валидирајући webhook одбија сваки spec који постављаrunAsUser: 0. Морали бисте да уклоните webhook да бисте покренули као root. - Мрежна изолација као подразумевано. Default-deny NetworkPolicy на свакој инстанци. Улазни: само исти namespace. Излазни: само DNS и HTTPS. Све остало је блокирано осим ако га експлицитно не отворите.
- RBAC минималних привилегија. Свака инстанца добија свој ServiceAccount са Role-ом која додељује само
getиwatchна свом ConfigMap-у. Агент не може да чита тајне, конфигурацију или стање другог агента. - Сам оператор ради као UID 65532 (distroless nonroot), root filesystem само за читање, све capabilities уклоњене, HTTP/2 онемогућен за ублажавање CVE-2023-44487.
Све ово је подразумевано активно. Добијате то без размишљања.
Аутоматизација претраживача као sidecar
OpenClaw агенти могу да претражују веб. На VPS-у, то значи покретање Chromium процеса поред агента и надање да се неће борити за ресурсе. Оператор ово решава као прави sidecar:
spec:
chromium:
enabled: true
resources:
requests:
cpu: "250m"
memory: "512Mi"
limits:
cpu: "1000m"
memory: "2Gi"
Оператор додаје Browserless Chromium контејнер у под, повезује Chrome DevTools Protocol на порту 9222, убацује CHROMIUM_URL=ws://localhost:9222 у главни контејнер и даје Chromium-у сопствени безбедносни контекст (UID 999, capabilities уклоњене), сопствена ограничења ресурса и /dev/shm подржан меморијом. Два контејнера комуницирају преко localhost-а унутар пода. Без мрежног скока, без додатног Service-а, без безбедносне изложености. На OpenClaw.rocks, укључујемо Chromium sidecar подразумевано за сваку инстанцу.
Шта садржи репозиторијум
Написан у Go 1.24 са controller-runtime (Kubebuilder образац). Лиценциран под Apache 2.0.
- Комплетан CRD са 127 KB OpenAPI validation schema
- Helm chart (такође као OCI артефакт на GHCR)
- Kustomize overlays за оне који то преферирају
- Grafana dashboard и Prometheus alerts у
docs/monitoring/ - E2E тестови на Kind у CI
- Мултиархитектурни build-ови (amd64/arm64)
Оператор је такође наведен на OperatorHub и Artifact Hub, тако да га можете пронаћи и инсталирати преко регистара које већ користите.
Инсталација:
helm install openclaw-operator \
oci://ghcr.io/openclaw-rocks/charts/openclaw-operator \
--namespace openclaw-operator-system \
--create-namespace
Распоредите агента:
apiVersion: openclaw.rocks/v1alpha1
kind: OpenClawInstance
metadata:
name: my-agent
spec:
config:
raw:
agents:
defaults:
model:
primary: "anthropic/claude-sonnet-4-20250514"
envFrom:
- secretRef:
name: my-api-keys
chromium:
enabled: true
storage:
persistence:
enabled: true
Аутоматизација претраживача, трајно складиште, мрежна изолација, мониторинг здравља, аутоматска ажурирања конфигурације. Један ресурс. kubectl apply.
Зашто отворен код
Направио сам овај оператор да решим сопствени проблем. Водим хостинг платформу за OpenClaw агенте и био ми је потребан Kubernetes алат производног нивоа. Оператор је резултат тог рада.
Али такође верујем да ће свака компанија која покреће OpenClaw агенте у великом обиму завршити на Kubernetes-у и суочити се са истим проблемима као и ја: подразумевана безбедносна подешавања, повезивање NetworkPolicy, Chromium sidecar, ажурирања конфигурације. Екосистем има две недеље и већ је фрагментован. Свако решава ове проблеме независно.
Трошак изградње софтвера приближава се нули. И као што сам тврдио у OpenClaw је нови Linux, отвореност спречава фрагментацију. Оператор није мој одбрамбени ров. Ако нешто јесте, то је бренд и поверење које градим дељењем оваквог рада. А ако ни то не опстане, уживам у грађењу, писању и дељењу. То је довољно. Задржавање оператора као власничког софтвера значило би да свака инфраструктурна екипа поново открива исте замке као и ја. То је расипање, а не конкурентска предност.
Покрећемо овај оператор у продукцији. Сваки агент на OpenClaw.rocks пролази кроз њега.
Код се налази на github.com/OpenClaw-rocks/k8s-operator. Issues и PRs су добродошли.
Ако бисте радије да га не управљате сами, управо за то постоји OpenClaw.rocks.