kubeleash

kubeleash

kubeleashApache-2.0
1 звёзд
kubeleash — это MCP-сервер для Kubernetes, который добавляет слой безопасного доступа для AI-агентов. Вы подключаете его к любому kubeconfig, даже с правами cluster-admin, но фактически агент сможет выполнять только те операции, которые разрешены в локальном файле политики. Политики работают по принципу RBAC и учитывают текущий контекст (kube context). Деструктивные действия (удаление ресурсов, изменение критичных настроек) блокируются на стороне сервера, до отправки запроса в кластер. Это защищает продакшены от случайных или намеренных деструктивных команд со стороны AI-ассистентов. Сервер полезен командам DevOps и разработчикам, которые хотят дать AI-агентам доступ к Kubernetes, но не готовы рисковать безопасностью. kubeleash работает как локальный MCP-сервер и совместим с любым клиентом, поддерживающим протокол MCP: Claude Desktop, VS Code, Cursor и другие.

Характеристики

Общее

  • СтатусСообщество
  • Разработчикkubeleash
  • ЛицензияApache-2.0

Технологии

  • Языки
    Go
  • Транспорт
    stdio

Описание

Возможности

  • Управление доступом на основе RBAC-правил, заданных в YAML-файле. Вы описываете, какие ресурсы и операции доступны агенту.
  • Контекстно-зависимые политики: для каждого kube-контекста можно задать отдельные разрешения. Например, для dev-кластера разрешить все, для prod — только чтение.
  • Блокировка деструктивных действий (delete, update критических ресурсов) до отправки запроса в кластер. Защита от случайного удаления namespace, secret’ов или production-деплойментов.
  • Фильтрация по пространствам имен (namespace): агент может работать только в разрешённых namespaces.
  • Поддержка ограничений на уровне операций (get, list, create, update, delete) и типов ресурсов (pods, services, deployments, configmaps и т.д.).
  • Логирование всех запросов и результатов проверки политик для аудита и отладки.
  • Простая интеграция с любым MCP-клиентом через stdio-транспорт. Не требует развёртывания в кластере.
  • Возможность использовать один файл политики для нескольких контекстов или отдельных файлов на контекст.

Как подключить

1. Установите kubeleash. Вы можете скачать бинарник со страницы релизов на GitHub, установить через Homebrew (brew install kubeleash/tap/kubeleash) или через Go (go install github.com/kubeleash/kubeleash@latest).

2. Создайте файл политики, например policy.yaml. В нём вы описываете правила доступа для каждого контекста.

3. Добавьте конфигурацию MCP-сервера в ваш клиент. Для Claude Desktop откройте файл конфигурации claude_desktop_config.json и добавьте запись:

{ "mcpServers": { "kubeleash": { "command": "kubeleash", "args": [ "--policy", "/абсолютный/путь/к/policy.yaml" ] } } }

Для VS Code используйте соответствующую конфигурацию MCP-серверов. После сохранения перезапустите клиент (Claude Desktop, VS Code или Cursor).

Примеры запросов

  • «Покажи все поды в namespace production и их статус.»
  • «Создай deployment nginx с 2 репликами в namespace dev.»
  • «Обнови образ контейнера в deployment frontend до версии 1.2.3.»
  • «Попробуй удалить namespace production — политика должна отклонить запрос.»

Технические детали

  • Язык: Go
  • Транспорт: stdio (MCP)
  • Лицензия: Apache-2.0
  • Совместимые клиенты: Claude Desktop, VS Code, Cursor, любой MCP-клиент
  • Зависимости: kubectl / доступ к kubeconfig (используется текущий контекст из kubectl)

Поделиться