Kube Core MCP
Служба обработки команд Kubernetes, преобразующая запросы на естественном языке в допустимые команды kubectl.
Функции
- Преобразование естественного языка в команды kubectl
- Проверка правильности команд и проверка безопасности
- Поддержка общих операций kubectl
- Интеграция AWS Bedrock для обработки LLM
Предпосылки
- Питон 3.8+
- Настроены учетные данные AWS
- kubectl установлен и настроен
- Node.js и npm (для фронтенда)
Настраивать
- Клонируйте репозиторий:
git clone <repository-url>
cd kube-core-mcp
- Создайте и активируйте виртуальную среду:
python3 -m venv venv
source venv/bin/activate # On Windows: .\venv\Scripts\activate
- Установить зависимости:
pip install -r requirements.txt
- Настройте учетные данные AWS:
export AWS_ACCESS_KEY_ID=your_access_key
export AWS_SECRET_ACCESS_KEY=your_secret_key
export AWS_REGION=your_region
- Запустите сервер FastAPI:
API-документация
Проверка здоровья
curl http://localhost:3000/health
Услуги
curl http://localhost:3000/api/services
Команды естественного языка
curl -X POST http://localhost:3000/api/nl \
-H "Content-Type: application/json" \
-d '{"message": "show me the pods in default namespace"}'
Прямые команды
curl -X POST http://localhost:3000/api/command \
-H "Content-Type: application/json" \
-d '{"command": "kubectl get pods -n default"}'
Безопасность
Сервис работает в двух режимах безопасности:
- СТРОГИЙ (по умолчанию):
- Разрешает только предопределенные шаблоны команд
- Проверяет все команды на соответствие разрешенным шаблонам
- Предотвращает опасные операции
- РАЗРЕШИТЕЛЬНЫЙ:
- Позволяет использовать более гибкие шаблоны команд
- По-прежнему поддерживает базовые проверки безопасности
- Полезно для разработки и тестирования
Разработка
Проведение тестов
Стиль кода
black src/ tests/
flake8 src/ tests/
Внося вклад
- Форк репозитория
- Создать ветку функций
- Внесите изменения
- Проведение тестов
- Отправить запрос на извлечение
Лицензия
[Добавить информацию о лицензии]