Initial commit: Message Gateway project

- FastAPI приложение для отправки мониторинговых алертов в мессенджеры
- Поддержка Telegram и MAX/VK
- Интеграция с Grafana, Zabbix, AlertManager
- Автоматическое создание тикетов в Jira
- Управление группами мессенджеров через API
- Декораторы для авторизации и скрытия эндпоинтов
- Подробная документация в папке docs/

Автор: Сергей Антропов
Сайт: https://devops.org.ru
This commit is contained in:
2025-11-12 20:25:11 +03:00
commit b90def35ed
72 changed files with 10609 additions and 0 deletions

63
docs/api/health.md Normal file
View File

@@ -0,0 +1,63 @@
# API для проверки здоровья
## Проверка здоровья и готовности приложения
```bash
GET /api/v1/health
```
**Пример ответа (здорово):**
```json
{
"status": "healthy",
"state": "online",
"telegram_bot_configured": true,
"groups_config_available": true
}
```
**Пример ответа (не готово):**
```json
{
"status": "not_ready",
"state": "online",
"checks": {
"telegram_bot_configured": false,
"groups_config_available": true
}
}
```
## Примечания
- Не требует аутентификации
- Возвращает 503 если приложение не готово
- Используется Kubernetes для liveness и readiness probes
- Настройте liveness и readiness probes в kubernetes.yaml
- Приложение считается готовым, если все проверки пройдены
## Проверки
- `telegram_bot_configured` - наличие токена Telegram (TELEGRAM_BOT_TOKEN)
- `groups_config_available` - доступность файла конфигурации групп (config/groups.json)
## Использование в Kubernetes
Настройте liveness и readiness probes в `kubernetes.yaml`:
```yaml
livenessProbe:
httpGet:
path: /api/v1/health
port: 8000
initialDelaySeconds: 30
periodSeconds: 10
readinessProbe:
httpGet:
path: /api/v1/health
port: 8000
initialDelaySeconds: 5
periodSeconds: 5
```