Создание брендзоны
0. Получаем все необходимые данные согласно анкете
| Параметр | Ответственный | Значение |
|---|---|---|
| ID тенанта | Back разработчик | |
| ID организатора | Back разработчик | |
| Название организатора | Менеджер | |
| ИНН организатора | Менеджер | |
| Номер договора | Менеджер | |
| Тип договора | Менеджер | |
| Вознаграждение | Менеджер | |
| Домен для DEV | Менеджер | |
| Домен для PROD, сертификат | Менеджер | |
| ID темы | Front разработчик | |
| Номер счетчика Yandex.Metrika | Front разработчик | |
| Поддерживаемые языки | 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.
Создаем секрет с сертификатом на проде.