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

123
make-wrapper.sh Executable file
View File

@@ -0,0 +1,123 @@
#!/bin/bash
# Обертка для Makefile для поддержки подкоманд с пробелами
# Использование: ./make-wrapper.sh docker build
# ./make-wrapper.sh git push origin main
# ./make-wrapper.sh k8s apply CONTEXT=prod
set -e
# Цвета для вывода
COLOR_RESET='\033[0m'
COLOR_BOLD='\033[1m'
COLOR_CYAN='\033[36m'
COLOR_YELLOW='\033[33m'
# Функция для вывода помощи
show_help() {
echo -e "${COLOR_BOLD}${COLOR_CYAN}Makefile Wrapper - Поддержка подкоманд${COLOR_RESET}"
echo ""
echo "Использование:"
echo " ./make-wrapper.sh docker build"
echo " ./make-wrapper.sh docker tag"
echo " ./make-wrapper.sh docker push"
echo " ./make-wrapper.sh git status"
echo " ./make-wrapper.sh git pull"
echo " ./make-wrapper.sh git push origin main"
echo " ./make-wrapper.sh git add file1 file2"
echo " ./make-wrapper.sh git commit \"message\""
echo " ./make-wrapper.sh k8s contexts"
echo " ./make-wrapper.sh k8s apply CONTEXT=prod"
echo " ./make-wrapper.sh env check"
echo " ./make-wrapper.sh env create"
echo ""
echo "Или используйте напрямую:"
echo " make docker CMD=build"
echo " make git CMD=push ARGS=origin main"
echo " make k8s CMD=apply CONTEXT=prod"
echo " make env CMD=check"
}
# Проверка аргументов
if [ $# -eq 0 ]; then
show_help
exit 0
fi
# Получаем команду (docker, git, k8s, env)
CMD_TYPE=$1
shift
# Обработка команд
case "$CMD_TYPE" in
docker)
if [ $# -eq 0 ]; then
make docker
else
SUB_CMD=$1
shift
make docker CMD="$SUB_CMD" "$@"
fi
;;
git)
if [ $# -eq 0 ]; then
make git
else
SUB_CMD=$1
shift
# Для git commit и git add нужны аргументы
if [ "$SUB_CMD" = "commit" ] || [ "$SUB_CMD" = "add" ]; then
ARGS="$@"
make git CMD="$SUB_CMD" ARGS="$ARGS"
else
# Для остальных команд аргументы передаются как есть
make git CMD="$SUB_CMD" ARGS="$@"
fi
fi
;;
k8s)
if [ $# -eq 0 ]; then
make k8s
else
SUB_CMD=$1
shift
# Обработка CONTEXT=value
CONTEXT_ARG=""
ARGS=""
for arg in "$@"; do
if [[ "$arg" == CONTEXT=* ]]; then
CONTEXT_ARG="$arg"
else
ARGS="$ARGS $arg"
fi
done
if [ -n "$CONTEXT_ARG" ]; then
make k8s CMD="$SUB_CMD" $CONTEXT_ARG "$ARGS"
else
make k8s CMD="$SUB_CMD" "$ARGS"
fi
fi
;;
env)
if [ $# -eq 0 ]; then
make env
else
SUB_CMD=$1
shift
# Для create-force нужно обработать
if [ "$SUB_CMD" = "create-force" ]; then
make env-create-force
else
make env CMD="$SUB_CMD" "$@"
fi
fi
;;
help|--help|-h)
show_help
exit 0
;;
*)
# Если это не подкоманда, передаем в make напрямую
make "$CMD_TYPE" "$@"
;;
esac