Два тижні тому 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-агентів вдома.

Якщо ви хочете самостійно хостити в хмарі, найпоширеніший варіант — VPS від Hetzner за 5 доларів з 2 vCPU та 4 ГБ оперативної пам’яті, Docker Compose та API-ключ. Запустіть майстер налаштування, спрямуйте його на Anthropic або OpenRouter, підключіть Telegram. Готово за тридцять хвилин. Або купіть Mac Mini, поставте його під стіл і називайте своїм персональним JARVIS. M4 споживає сім ватів у режимі очікування і працює як локальна машина для інференсу, якщо ви оберете модель Pro на 64 ГБ.

Обидва варіанти працюють для одного агента. Але коли я почав будувати OpenClaw.rocks, метою було запропонувати найнадійніший і найбезпечніший спосіб хостити OpenClaw у масштабі, зберігаючи простоту для користувача. Для цього потрібен був інший фундамент.

Чому я обрав Kubernetes

Раніше я керував блокчейн-інфраструктурою в Binance, зокрема забезпечував безпеку вузлів Bitcoin. Коли ваша робота полягає у тому, щоб тримати високоцінні робочі навантаження ізольованими, спостережуваними та відновлюваними у масштабі, ви формуєте тверді переконання щодо того, як має працювати інфраструктура. Kubernetes — це те, чому я довіряю для цього.

OpenClaw — це однокористувацький додаток. Це персональний асистент, а не мультитенантна платформа. Якщо ви хочете запускати агентів для десяти людей, вам потрібно десять інстансів. Для ста людей — сто інстансів. Кожен зі своєю конфігурацією, своїми секретами, своїм сховищем, своїми мережевими межами. Самі лише вимоги до ізоляції виключають будь-що менше за повноцінну оркестрацію контейнерів.

Я не буду стверджувати, що Kubernetes простий. Він не простий. Для одного агента це абсурдне надмірне рішення. Але для запуску багатьох агентів для багатьох людей він вирішує проблеми, які ніщо інше не вирішує так само добре. І я вважаю, що будь-яка компанія, яка врешті-решт запускатиме агентів OpenClaw у масштабі, дійде до того самого висновку.

Ізоляція, яка дійсно забезпечується. Кожен агент працює у власному namespace з NetworkPolicy, яка за замовчуванням забороняє все. Агент A не може зв’язатися з Агентом B. Агент B не може отримати доступ до секретів Агента A. Це не конвенція і не найкраща практика. Це забезпечується середовищем виконання контейнерів та CNI. На спільному VPS з Docker Compose мережева ізоляція між контейнерами потребує ручних правил iptables, які ніхто не підтримує.

Обмеження ресурсів, що запобігають каскадним збоям. Агент OpenClaw з автоматизацією браузера може споживати 3 ядра CPU та 6 ГБ пам’яті, якщо дозволити. На VPS з чотирма агентами один некерований процес Chromium вбиває решту трьох. Kubernetes забезпечує обмеження CPU та пам’яті для кожного контейнера. Один агент, що досяг своєї межі, не впливає на сусідів.

Самовідновлення без SSH. Коли процес на VPS аварійно завершується, щось має це виявити і перезапустити його. systemd робить це, але лише для хоста. Docker Compose має політики перезапуску, але вони не покривають десять інших речей, що можуть піти не так: OOM kills, збої вузлів, проблеми зі сховищем. 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 без правильно налаштованого брандмауера ви на одне сканування портів від того, щоб надати незнайомцю 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), файлова система кореня лише для читання, всі 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 КБ OpenAPI validation schema
  • Helm chart (також як OCI-артефакт на GHCR)
  • Kustomize overlays для тих, хто надає перевагу
  • Grafana dashboard та Prometheus alerts в docs/monitoring/
  • E2E-тести на Kind у CI
  • Мультиархітектурні збірки (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.