Skip to content

Arturyus92/auth

Repository files navigation

Go Postgres JWT Swagger Prometheus Grafana Docker

Auth service

Сервис предназначен для авторизации и аутентификации, построенной на JWT-токенах.

Основные параметры

  • Коммуниукация - фреймворк gRPC, обогащенный gRPC-gateway.
  • БД - PostgreSQL.
  • Логирование - Zap.
  • Мониторинг - Prometheus, Grafana.
  • Паттерны отказоустойчивости - Rate Limiter, Circuit Breaker.
  • Документация - Swagger сервер поднимается вместе с сервисом на порту 8080.
  • Deploy - с помощью Github Actions.

Deploy

Для работы сервиса необходимо поднять 5 docker containers:

  • auth - сервис авторизации и аутентификации.
  • pg-auth - база данных.
  • migrator - миграции БД, используется goose.
  • prometheus - сбор метрик.
  • grafana - визуализация метрик.

Сервис авторизации и аутентификации деплоится на сервер автоматически, после отправки изменений в удаленный репозиторий в ветку deploy, остальные контейнеры поднимаются на сервере командой docker compose up -d.