diff --git a/apps/ollama-mcp/README.md b/apps/ollama-mcp/README.md new file mode 100644 index 0000000..c2b685b --- /dev/null +++ b/apps/ollama-mcp/README.md @@ -0,0 +1,210 @@ +# Ollama MCP Integration + +Интеграция Ollama с Kubernetes и Gitea через MCP серверы. + +## Архитектура + +``` +GPU Server (Ollama + UI) + ↓ +MCP Servers (Docker Compose) + ├── Kubernetes MCP Server --> K3s Cluster + └── Gitea MCP Server --> Gitea API +``` + +## Возможности + +- **Kubernetes MCP**: Управление кластером через Ollama + - Получение информации о подах, деплойментах, сервисах + - Просмотр логов + - Apply/Delete ресурсов + - Управление namespace + - Exec в контейнеры + +- **Gitea MCP**: Работа с репозиториями через Ollama + - Просмотр файлов и директорий + - Создание/редактирование файлов + - Коммиты и push + - Управление ветками и PR + +## Быстрый старт + +```bash +# Скачать и запустить установку +curl -sSL https://git.thedevops.dev/admin/k3s-gitops/raw/branch/main/apps/ollama-mcp/install.sh | bash +``` + +## Ручная установка + +### Предварительные требования + +- Docker и Docker Compose +- Kubeconfig с доступом к кластеру +- Gitea API токен + +### Установка + +1. Клонировать репозиторий: +```bash +git clone https://git.thedevops.dev/admin/k3s-gitops.git +cd k3s-gitops/apps/ollama-mcp +``` + +2. Настроить переменные окружения: +```bash +cp .env.example .env +nano .env +``` + +3. Скопировать kubeconfig: +```bash +mkdir -p config +cp ~/.kube/config config/kubeconfig +``` + +4. Запустить: +```bash +docker-compose up -d +``` + +## Конфигурация + +### Переменные окружения (.env) + +```env +# Gitea +GITEA_URL=https://git.thedevops.dev +GITEA_TOKEN=your-gitea-token +GITEA_OWNER=admin + +# Kubernetes +K8S_CONTEXT=default +K8S_NAMESPACE=default + +# MCP Servers +MCP_K8S_PORT=3001 +MCP_GITEA_PORT=3002 +``` + +### Получение Gitea токена + +1. Зайти в Gitea: https://git.thedevops.dev +2. Settings → Applications → Generate New Token +3. Выбрать права: `repo`, `admin:org`, `write:repository` + +## Использование с Ollama + +### Примеры промптов для Kubernetes: + +``` +"Покажи все поды в namespace monitoring" +"Получи логи пода grafana за последние 100 строк" +"Создай deployment nginx с 3 репликами" +"Какие сервисы запущены в argocd namespace?" +``` + +### Примеры промптов для Gitea: + +``` +"Покажи файлы в репозитории k3s-gitops" +"Создай новый файл deployment.yaml в apps/nginx" +"Покажи содержимое файла apps/loki/statefulset.yaml" +"Создай новую ветку feature/add-monitoring" +``` + +## Проверка статуса + +```bash +# Проверить статус контейнеров +docker-compose ps + +# Просмотреть логи +docker-compose logs -f + +# Перезапустить +docker-compose restart + +# Остановить +docker-compose down +``` + +## Troubleshooting + +### MCP серверы не отвечают + +```bash +# Проверить логи +docker-compose logs mcp-kubernetes +docker-compose logs mcp-gitea + +# Перезапустить +docker-compose restart +``` + +### Ошибка доступа к Kubernetes + +```bash +# Проверить kubeconfig +kubectl --kubeconfig=config/kubeconfig get nodes + +# Проверить права доступа +ls -la config/kubeconfig +``` + +### Ошибка доступа к Gitea + +```bash +# Проверить токен +curl -H "Authorization: token YOUR_TOKEN" https://git.thedevops.dev/api/v1/user + +# Проверить переменные окружения +docker-compose config +``` + +## Безопасность + +- **Kubeconfig**: Хранится локально, не экспонируется +- **Gitea Token**: Передается через переменные окружения +- **Network**: Изолированная Docker сеть +- **Ports**: Доступны только на localhost (можно изменить) + +## Обновление + +```bash +# Обновить образы +docker-compose pull + +# Перезапустить с новыми образами +docker-compose up -d +``` + +## Архитектура файлов + +``` +apps/ollama-mcp/ +├── README.md # Эта документация +├── docker-compose.yml # Docker Compose конфигурация +├── install.sh # Скрипт автоматической установки +├── .env.example # Пример переменных окружения +├── config/ +│ └── kubeconfig # Kubernetes конфигурация +├── mcp-kubernetes/ +│ ├── package.json +│ ├── index.js +│ └── Dockerfile +└── mcp-gitea/ + ├── package.json + ├── index.js + └── Dockerfile +``` + +## Дополнительные ресурсы + +- [MCP Documentation](https://modelcontextprotocol.io) +- [Kubernetes API](https://kubernetes.io/docs/reference/) +- [Gitea API](https://docs.gitea.com/api/1.20/) +- [Ollama Documentation](https://ollama.ai/docs) + +## Поддержка + +Вопросы и предложения: https://git.thedevops.dev/admin/k3s-gitops/issues