# customer

Сервис customer

| Branch        | Pipeline          | Code coverage  |
| ------------- |:-----------------:| --------------:|
| main          | [![pipeline status](https://penahub.gitlab.yandexcloud.net/pena-services/customer/badges/main/pipeline.svg)](https://penahub.gitlab.yandexcloud.net/pena-services/customer/-/pipelines) | [![coverage report](https://penahub.gitlab.yandexcloud.net/pena-services/customer/badges/main/coverage.svg?job=test)](https://penahub.gitlab.yandexcloud.net/pena-services/customer/-/pipelines) |
| staging           | [![pipeline status](https://penahub.gitlab.yandexcloud.net/pena-services/customer/badges/staging/pipeline.svg)](https://penahub.gitlab.yandexcloud.net/pena-services/customer/-/pipelines) | [![coverage report](https://penahub.gitlab.yandexcloud.net/pena-services/customer/badges/staging/coverage.svg?job=test)](https://penahub.gitlab.yandexcloud.net/pena-services/customer/-/pipelines) |
| dev           | [![pipeline status](https://penahub.gitlab.yandexcloud.net/pena-services/customer/badges/dev/pipeline.svg)](https://penahub.gitlab.yandexcloud.net/pena-services/customer/-/pipelines) | [![coverage report](https://penahub.gitlab.yandexcloud.net/pena-services/customer/badges/dev/coverage.svg?job=test)](https://penahub.gitlab.yandexcloud.net/pena-services/customer/-/pipelines) |

## Переменные окружения приложения

```
HTTP_HOST - хост приложения (HTTP)
HTTP_PORT - порт приложения (HTTP)

GRPC_HOST - хост приложения (GRPC)
GRPC_PORT - порт приложения (GRPC)
GRPC_DOMEN - домен приложения (GRPC)

MONGO_HOST - хост MongoDB
MONGO_PORT - порт MongoDB
MONGO_USER - пользователь MongoDB
MONGO_DB_NAME - название базы данных для подключения
MONGO_PASSWORD - пароль пользователя MongoDB
MONGO_AUTH - имя базы данных Mongo, по которой будет производится авторизация

AUTH_MICROSERVICE_USER_URL - ссылка на получение пользователя микросервиса авторизации
HUBADMIN_MICROSERVICE_TARIFF_URL - ссылка на получение тарифов (hub admin)
CURRENCY_MICROSERVICE_TRANSLATE_URL - ссылка на перевод с одной валюты на другую
DISCOUNT_MICROSERVICE_GRPC_HOST - хост микросервиса discount (GRPC)
PAYMENT_MICROSERVICE_GRPC_HOST - хост микросервиса payment (GRPC)

JWT_PUBLIC_KEY - публичный ключ для верификации jwt токена
JWT_ISSUER - издатель токена
JWT_AUDIENCE - аудитория, которая может верифицировать токен

KAFKA_BROKERS - массив брокеров (localhost:8888,localhost:1111)
KAFKA_TOPIC_TARIFF - название топика для сообщений тарифа
```

## Полезные ссылки:

- [**Диаграммы**](./docs/diagram/README.md)
- Для того чтобы создать новые endpoint, нужно прописать их в customer/api/openapi/v1/openapi.yaml, сделать его описание, с помощью инструкций в makefile сгенерировать файлы
