Dy javë më parë, OpenClaw kishte 9,000 yje në GitHub. Sot ka 183,000. Ndërkohë, u shfaq një industri e tërë. ClawSimple, Kilo Claw, StartClaw, ShipClaw, GetClaw.ai, LobsterLair. Një faqe krahasimi numëron 33 ofrues dhe lista vazhdon të rritet. OpenClaw wrappers po pushtojnë TrustMRR. DigitalOcean nxori një 1-Click Deploy. Cloudflare e përshtati në një Workers runtime. Njerëzit po blinin Mac Minis për të ekzekutuar agjentë AI personalë në shtëpi.

Nëse doni të bëni vetë-pritje në cloud, konfigurimi më i zakonshëm është një VPS Hetzner prej 5 dollarësh me 2 vCPU dhe 4 GB RAM, Docker Compose dhe një çelës API. Ekzekutoni udhëzuesin e fillimit, drejtojeni drejt Anthropic ose OpenRouter, lidhni Telegram. Gati në tridhjetë minuta. Ose blini një Mac Mini, vendoseni nën tavolinë dhe quajeni JARVIS-in tuaj personal. M4 konsumon shtatë watt në gjendje pritjeje dhe funksionon si një makinë inference lokale nëse zgjidhni modelin Pro me 64 GB.

Të dyja këto funksionojnë për një agjent të vetëm. Por kur fillova të ndërtoja OpenClaw.rocks, qëllimi ishte të ofroja mënyrën më të besueshme dhe më të sigurt për të pritur OpenClaw në shkallë, duke e mbajtur të thjeshtë për përdoruesin. Kjo kërkonte një themel të ndryshëm.

Pse zgjodha Kubernetes

Më parë menaxhoja infrastrukturën blockchain në Binance, duke përfshirë sigurimin e nyjeve Bitcoin. Kur puna jote është të mbash ngarkesa pune me vlerë të lartë të izoluara, të vëzhgueshme dhe të rikuperueshme në shkallë, zhvillon mendime të forta për mënyrën se si duhet të funksionojë infrastruktura. Kubernetes është ajo ku unë besoj për këtë.

OpenClaw është një aplikacion me një përdorues. Është një asistent personal, jo një platformë multi-tenant. Nëse doni të ekzekutoni agjentë për dhjetë persona, ju duhen dhjetë instanca. Për njëqind persona, njëqind instanca. Secila me konfigurimin e vet, sekretet e veta, ruajtjen e vet, kufijtë e vet të rrjetit. Vetëm kërkesat e izolimit përjashtojnë çdo gjë nën orkestrimin e duhur të kontejnerëve.

Nuk do të pretendoj se Kubernetes është i thjeshtë. Nuk është. Për një agjent të vetëm, është teprim absurd. Por për të ekzekutuar shumë agjentë për shumë njerëz, zgjidh probleme që asgjë tjetër nuk i zgjidh po aq mirë. Dhe mendoj se çdo kompani që përfundon duke ekzekutuar agjentë OpenClaw në shkallë do të arrijë në të njëjtin përfundim.

Izolim që vërtet zbatohet. Çdo agjent ekzekutohet në namespace-in e tij me një NetworkPolicy që si parazgjedhje refuzon gjithçka. Agjenti A nuk mund të komunikojë me Agjentin B. Agjenti B nuk mund të aksesojë sekretet e Agjentit A. Kjo nuk është konventë apo praktikë e mirë. Zbatohet nga container runtime dhe CNI. Në një VPS të përbashkët me Docker Compose, izolimi i rrjetit ndërmjet kontejnerëve kërkon rregulla manuale iptables që askush nuk i mirëmban.

Kufij burimesh që parandalojnë dështime kaskadë. Një agjent OpenClaw me automatizim të shfletuesit mund të konsumojë 3 bërthama CPU dhe 6 GB memorie nëse e lejon. Në një VPS me katër agjentë, një proces Chromium jashtë kontrollit vret tre të tjerët. Kubernetes zbaton kufij CPU dhe memorie për kontejner. Një agjent që arrin kufirin e tij nuk ndikon fqinjët.

Vetë-shërim pa SSH. Kur një proces VPS dështon, diçka duhet ta vërejë dhe ta rinisë. systemd e bën këtë, por vetëm për hostin. Docker Compose ka politika rinisje, por nuk mbulojnë dhjetë gjërat e tjera që mund të shkojnë keq: OOM kills, dështime nyjesh, probleme ruajtjeje. Kubernetes rinisë kontejnerët e dështuar, riplanifikon pods kur nyjet vdesin dhe ekzekuton kontrolle shëndetësore që zbulojnë probleme në nivel aplikacioni, jo vetëm përfundime procesesh.

Shkallëzim pa supozime. Ne ekzekutojmë ngarkesa pune agjentësh në një grup nyjesh të dedikuara. Kur kërkesa rritet, cluster autoscaler shton nyje. Kur ulet, nyjet shterrohen dhe hiqen. Nuk mbajmë një flotë instancash VPS të para-konfiguruara duke shpresuar se e kemi bërë madhësinë e duhur. Infrastruktura përputhet me ngarkesën reale.

Gjendje deklarative pa devijim. I gjithë konfigurimi i një agjenti jeton në një custom resource të vetëm: modeli, kanalet, kufijtë e burimeve, rregullat e rrjetit, ruajtja, konteksti i sigurisë. Nuk ka histori SSH për të rindërtuar, nuk ka modifikime manuale për të gjurmuar, nuk ka devijim konfigurimi ndërmjet asaj që mendoni se po ekzekutohet dhe asaj që vërtet po ekzekutohet.

Asnjëra nga këto nuk ka rëndësi për një agjent në një makinë. Të gjitha kanë rëndësi kur jeni përgjegjës që agjentët e njerëzve të tjerë të ekzekutohen me besueshmëri.

Operatori

Kubernetes ju jep primitivat. Një operator është ajo që i bën të përdorshme.

Pa operator, vendosja e një instance OpenClaw në Kubernetes do të thotë të shkruash njëmbëdhjetë burime me dorë: Deployment, Service, ConfigMap, PVC, ServiceAccount, Role, RoleBinding, NetworkPolicy, PodDisruptionBudget, Ingress, ServiceMonitor. Me operator, është një:

apiVersion: openclaw.rocks/v1alpha1
kind: OpenClawInstance
metadata:
  name: my-agent
spec:
  envFrom:
    - secretRef:
        name: my-api-keys
  storage:
    persistence:
      enabled: true
      size: 10Gi

Operatori monitoron këtë custom resource dhe krijon gjithçka tjetër. Është një lak kontrolli: në çdo ndryshim të çdo burimi në pronësi, dhe të paktën një herë çdo pesë minuta si rrjet sigurie, krahason gjendjen e dëshiruar me gjendjen aktuale dhe balancon diferencën. Nëse dikush fshin një NetworkPolicy, ajo rikthehet. Nëse një Deployment devijon, korrigjohet. Fshini custom resource-in, dhe owner references kaskadojnë pastrimin. Asnjë Service jetim, asnjë PVC e mbetur.

Sot e bëjmë me burim të hapur: github.com/OpenClaw-rocks/k8s-operator.

Siguri si parazgjedhje, jo si listë kontrolli

SecurityScorecard gjeti 135,000 instanca OpenClaw të ekspozuara ndaj internetit publik javën e kaluar. CVE-2026-25253 demonstroi ekzekutim kodi në distancë me një klik përmes eksfiltrimit të gateway token. Gartner rekomandoi organizatave ta bllokojnë plotësisht. 341 skills keqdashëse u gjetën në regjistrin e ClawHub.

Kjo është realiteti i ekzekutimit të AI agents në 2026. Konfigurimi i parazgjedhur i OpenClaw lidhet me 0.0.0.0 pa autentikim. Në një VPS pa firewall të konfiguruar si duhet, jeni një skanim porti larg nga t’i jepni një të panjohuri akses shell në serverin tuaj. Ne mbuluam shtrirjen e plotë të krizës së sigurisë dhe pse edhe një gateway token nuk mjafton.

Operatori merr qasjen e kundërt. Siguria është strukturore, jo opsionale:

  • Non-root si parazgjedhje. UID 1000, të gjitha Linux capabilities të hequra, seccomp RuntimeDefault. Një validating webhook refuzon çdo spec që vendos runAsUser: 0. Do t’ju duhej ta hiqni webhook-un për të ekzekutuar si root.
  • Izolim rrjeti si parazgjedhje. Default-deny NetworkPolicy në çdo instancë. Hyrëse: vetëm i njëjti namespace. Dalëse: vetëm DNS dhe HTTPS. Gjithçka tjetër është e bllokuar nëse nuk e hapni shprehimisht.
  • RBAC me privilegje minimale. Çdo instancë merr ServiceAccount-in e vet me një Role që jep vetëm get dhe watch në ConfigMap-in e vet. Një agjent nuk mund të lexojë sekretet, konfigurimin apo gjendjen e një agjenti tjetër.
  • Vetë operatori ekzekutohet si UID 65532 (distroless nonroot), filesystem rrënjë vetëm për lexim, të gjitha capabilities të hequra, HTTP/2 i çaktivizuar për të zbutur CVE-2023-44487.

E gjithë kjo është aktive si parazgjedhje. E merrni pa menduar për të.

Automatizimi i shfletuesit si sidecar

Agjentët OpenClaw mund të shfletojnë ueb-in. Në një VPS, kjo do të thotë të ekzekutosh një proces Chromium pranë agjentit dhe të shpresosh se nuk do të luftojnë për burime. Operatori e trajton këtë si sidecar të duhur:

spec:
  chromium:
    enabled: true
    resources:
      requests:
        cpu: "250m"
        memory: "512Mi"
      limits:
        cpu: "1000m"
        memory: "2Gi"

Operatori shton një kontejner Browserless Chromium në pod, lidh Chrome DevTools Protocol në portin 9222, injekton CHROMIUM_URL=ws://localhost:9222 në kontejnerin kryesor dhe i jep Chromium-it kontekstin e tij të sigurisë (UID 999, capabilities të hequra), kufijtë e tij të burimeve dhe një /dev/shm të mbështetur nga memoria. Dy kontejnerët komunikojnë përmes localhost brenda pod-it. Asnjë hop rrjeti, asnjë Service shtesë, asnjë ekspozim sigurie. Në OpenClaw.rocks, ne aktivizojmë Chromium sidecar si parazgjedhje për çdo instancë.

Çfarë ka në depo

Shkruar në Go 1.24 me controller-runtime (modeli Kubebuilder). I licencuar nën Apache 2.0.

  • CRD e plotë me 127 KB skemë validimi OpenAPI
  • Helm chart (gjithashtu si artefakt OCI në GHCR)
  • Kustomize overlays për ata që e preferojnë
  • Grafana dashboard dhe Prometheus alertsdocs/monitoring/
  • E2E teste në Kind në CI
  • Build-e shumë-arkitekturore (amd64/arm64)

Operatori është gjithashtu i listuar në OperatorHub dhe Artifact Hub, kështu që mund ta zbuloni dhe instaloni përmes regjistrave që tashmë përdorni.

Instalimi:

helm install openclaw-operator \
  oci://ghcr.io/openclaw-rocks/charts/openclaw-operator \
  --namespace openclaw-operator-system \
  --create-namespace

Vendosni një agjent:

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

Automatizim shfletuesi, ruajtje e përhershme, izolim rrjeti, monitorim shëndetësor, përditësime automatike konfigurimi. Një burim. kubectl apply.

Pse burim i hapur

E ndërtova këtë operator për të zgjidhur problemin tim. Drejtoj një platformë pritjeje për agjentë OpenClaw dhe më duheshin mjete Kubernetes të nivelit të prodhimit. Operatori është rezultati i asaj pune.

Por gjithashtu besoj se çdo kompani që ekzekuton agjentë OpenClaw në shkallë do të përfundojë në Kubernetes, dhe do të përballet me të njëjtat probleme si unë: parazgjedhjet e sigurisë, lidhja e NetworkPolicy, Chromium sidecar, përditësimet e konfigurimit. Ekosistemi ka dy javë dhe tashmë është i fragmentuar. Secili i zgjidh këto probleme në mënyrë të pavarur.

Kostoja e ndërtimit të softuerit po i afrohet zeros. Dhe siç argumentova në OpenClaw Është Linux-i i Ri, hapja parandalon fragmentimin. Operatori nuk është hendegjirimi im. Nëse diçka është, është marka dhe besimi që ndërtoj duke ndarë punë si kjo. Dhe nëse as kjo nuk qëndron, po kënaqem duke ndërtuar, shkruar dhe ndarë. Kjo mjafton. Ta mbash operatorin pronësor do të thoshte se çdo ekip infrastrukture rizbulon të njëjtat kurthe si unë. Kjo është humbje, jo avantazh konkurrues.

E ekzekutojmë këtë operator në prodhim. Çdo agjent në OpenClaw.rocks kalon përmes tij.

Kodi gjendet në github.com/OpenClaw-rocks/k8s-operator. Issues dhe PRs janë të mirëpritura.

Nëse preferoni të mos e operoni vetë, pikërisht për këtë ekziston OpenClaw.rocks.