Перейти к основному содержимому

Создание брендзоны

0. Получаем все необходимые данные согласно анкете

ПараметрОтветственныйЗначение
ID тенантаBack разработчик
ID организатораBack разработчик
Название организатораМенеджер
ИНН организатораМенеджер
Номер договораМенеджер
Тип договораМенеджер
ВознаграждениеМенеджер
Домен для DEVМенеджер
Домен для PROD, сертификатМенеджер
ID темыFront разработчик
Номер счетчика Yandex.MetrikaFront разработчик
Поддерживаемые языкиFront разработчик
Версия WEB-клиентаFront разработчик
Включить публикацию на брендзоне MSPМенеджер

1. Регистрация и настройка доменов

Необходимо зарегистрировать домен, приобрести сертификат. Домен должен указывать на соответствующий IP-адрес Kubernetes Ingress.

DEV: 130.193.49.97

PROD: 158.160.49.150

Регистрацией и настройкой доменов, покупкой сертификатов занимается администратор.

Для загрузки сертификата нужно воспользоваться скриптом create-tls-secret.ps1 в репозитории http://tfs/RR/Media (New)/_git/Kubernetes.Admin.

2. Настройка Realm в Keycloak

Если требуется личный кабинет участника.

3. Создание брендзоны

https://mysport.rr-dev.ru/internal/organizer-service/swagger/index.html

https://mysport.photo/internal/organizer-service/swagger/index.html

Через Swagger содать брендзону, указать:

  • BrandzoneId
  • Key - ключ Keycloak realm, или любой Guid, если Realm не настраивался
    • колонка id в таблице realm
  • Name
  • Domain
  • Theme - ключ темы клиента

[!info] Панель администратора Keycloak: https://infra-sso.infra.softproduct.pro

4. Создание организатора

В админке создаем организатора. Заполняем название и ИНН, сразу на DEV и PROD. В базе указываем одинаковые ID на DEV и PROD.

Создаем договор.

Добавляем брендзоны, на которых организатор может публиковать свои события. Обычно добавляется брендзона организатора и брендзона mysport.photo.

5. Создание темы

https://mysport.rr-dev.ru/internal/themes-service/swagger/index.html

https://mysport.photo/internal/themes-service/swagger/index.html

Метод POST /api/v1/themes.

После этого в админке нужно загрузить изображения темы. Обычно это делает Сергей Сутковой.

6. Настройка деплоя

Репозиторий Media.Kubernetes.

Копируем Helm-чарт веб-клиента любой брендзоны и вносим соответствующие изменения.

values.yaml:

theme: NashaZima
tenantId: fed7b705-acfd-4576-88a3-e3ebb74268b2
organizerId: eb5fe5bc-b205-46d0-93a3-f08e433cb2db
currencyId: 643
pageTitle: Ваши фото уже здесь!
pageDescription: Найдите свои фото с событий по селфи или по номеру.
yandexMetrika: 0

В новом подходе все параметры задаются в глобальном конфиге values.<env>.mysport.yaml.

[!info] В новом подходе все параметры задаются в глобальном конфиге values.<env>.mysport.yaml. Поэтому для новых брендзон в файле values.yaml эти данные указывать не нужно.

settings.<env>.json:

{
"languages": ["ru", "en"]
}

// или

{
"languages": ["ru", "en", "es"],
"openId": {
"clientId": "web-app",
"realm": "mysport",
"uri": "/auth"
}
}

Добавляем компонент в _components.json и версию в _versions.json.

Добавляем запись в upgradeClients.ps1.

Добавляем брендзону в глобальный конфиг values.yaml.

Изменяем чарт public-gateway. Добавляем Ingress, добавляем роуты в envoy.yaml, увеличиваем версию чарта.

Публикуем чарт веб-клиент брендзоны и обновляем чарт public-gateway.

Создаем секрет с сертификатом на проде.

8. Настраиваем шаблоны писем

9. Создаем и настраиваем события