---
# System prepended metadata

title: Api gateway

---

# Api gateway


## Этап 1

Создать docker-compose файл с инфраструктурой:
 1. Микросервис [Station](https://gitlab.com/amai-io/self-hosted)(Потоковый синтез голоса, инфа на картинке внизу дока)
 2. krakend + всё необходимое к нему
 3. Бд для стат + коллбеков от биллинга

Шлюз должен поддерживать:
 1. Авторизацию через Login box auth0.com(напиши мыло - дам доступ)
 2. Метрики в prometheus | influxdb + кастомные метрики от сервиса Station
 3. Установка дефолтных лимитов и ограничений на синтез для всех пользователей
 4. Возможность устанавливать|снимать лимиты на использование не техническими сотрудниками для конкретных пользователей(С помощью auth0 ???)
 5. Возможность получать статистику использования для всех | конкретных пользователей
 6. Установка прав доступа на голос, для пользователей, на уровне приложения.(Подробней голосом)

Статистика:
 - Количество синтезированных символов
 - Длина синтезированного аудио

Лимиты срабатывают опираясь на статистику.

Обдумать:
 - Хранение всех текстов озвучки с привязкой к пользователям
 - Публичные клиентские ключи с маленьк

Совместно с девопсом настроить ci/cd, развернуть всё в кубере, подключить etcd и т.д.

PS. Какая-никакая дока к текущей апишке(не реалтайм сервис, отличается от Station, просто ознакомиться если интересно) - https://api.amai.io/doc?format=redoc


## Этап 2

Биллинг с помощью виджета от [paddle.com](https://developer.paddle.com/getting-started/intro)


## Station.png

Скрин текущего редми. Сори за нечитабельность, доступ к репу дам позже.

![](https://i.imgur.com/s2zvSmb.png)

