Сервис предназначен для авторизации и аутентификации, построенной на JWT-токенах.
- Коммуниукация - фреймворк gRPC, обогащенный gRPC-gateway.
- БД - PostgreSQL.
- Логирование - Zap.
- Мониторинг - Prometheus, Grafana.
- Паттерны отказоустойчивости - Rate Limiter, Circuit Breaker.
- Документация - Swagger сервер поднимается вместе с сервисом на порту 8080.
- Deploy - с помощью Github Actions.
Для работы сервиса необходимо поднять 5 docker containers:
- auth - сервис авторизации и аутентификации.
- pg-auth - база данных.
- migrator - миграции БД, используется
goose
. - prometheus - сбор метрик.
- grafana - визуализация метрик.
Сервис авторизации и аутентификации деплоится на сервер автоматически, после отправки изменений в удаленный репозиторий в ветку deploy
, остальные контейнеры поднимаются на сервере командой docker compose up -d
.