CI / ruff · mypy · pytest (pull_request) Successful in 26m33s
- README: цели и задачи, что реализовано, развёртывание (локально за 5 минут и полный стек), переменные, команды и данные, используемые API, ограничения и лимиты, что не сделано, структура репозитория - examples/: hello (healthy + материал для grep/агента), crash (💥 и 🔁), cpu_hog (🔥), unhealthy (🩺), syntax_error/lint_fail для коммита, вопросы агенту и атаки; make demo-up / demo-down в том же Compose-проекте - make local-proxy: read-only Docker API для `make run` - ARCHITECTURE: краш при restart-политике и гистерезис алертов Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2.0 KiB
2.0 KiB
examples/
Демо-данные для проверки бота руками и для защиты.
Сервисы — «🩺 Статус», «📜 Логи», «🚨 Алерты»
Поднимаются рядом с ботом: make demo-up, остановить — make demo-down.
| Файл | Контейнер | Что видно в боте |
|---|---|---|
hello_service.py |
demo-hello |
🟢, все проверки ✅, включая HTTP-пробу /health; в логе запросы, предупреждения и раз в минуту ERROR connection refused — материал для grep и агента |
crash.py |
demo-crash |
через 30 с падает с traceback → 💥 «Краш», после трёх рестартов → 🔁 «Цикл рестартов»; в алерте — хвост лога с traceback |
cpu_hog.py |
demo-cpu-hog |
CPU ~100 % → примерно через минуту 🔥 «Перегрузка»; в «Статусе» ❌ «CPU ниже порога» |
unhealthy.py |
demo-unhealthy |
процесс жив, health-check — нет → 🔴, 🩺 «Unhealthy», ❌ «Docker health» в проверках |
После make demo-down открытые алерты закрываются сообщением «✅ Восстановлено».
Коммит — «📝 Коммит»
| Файл | Что показывает |
|---|---|
syntax_error.py |
бот проверяет синтаксис до черновика и предлагает исправить или всё равно добавить |
lint_fail.py |
валидный Python — бот принимает, но CI репозитория загрузок (ruff) его отклонит |
Агент — «🤖 Спросить агента»
agent_prompts.md — обычные вопросы и попытки атак с ожидаемой реакцией.