CI / ruff · mypy · pytest (pull_request) Successful in 1m11s
- docker-socket-proxy в Compose (только GET /containers/*), сокет только у него - app/runtime/docker.py: read-only клиент; видны только контейнеры с меткой tgit.managed=true, чужие id отклоняются до запроса - app/runtime/checks.py: running, health, рестарты за окно, CPU/RAM, ошибки в логе, HTTP-проба; у каждой проверки свой таймаут, отчёт всегда полный - app/runtime/snapshots.py: снапшоты раз в 15 с в container_snapshots - бот: список с 🟢🟡🔴⚪, карточка, «🩺 Запустить проверки», «🔄 Обновить» - деплой ставит метки tgit.sha / tgit.deployed_at на контейнер бота - имя джоба CD без неотрисованного выражения Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
infra/
| Каталог | Что будет | Задача |
|---|---|---|
deploy/ |
deploy.sh, docker-compose.server.yml — деплой бота на сервер |
#12 |
runner/ |
tgit-runner — песочница и запуск сервисов на хосте |
#13 |
uploads-template/ |
шаблон tgit-uploads: CI/CD, служебные скрипты .tgit/, ruff.toml, демо-сервис hello — правки вносить здесь и переносить в репозиторий загрузок |
#7 |