Налаштування назви та логотипу платформи
Загальний опис
Адміністратор повинен мати можливість обрати назву для платформи, а також логотип для платформи.
Функціональні сценарії
-
Зміна назви платформи у налаштуваннях control-plane-console.
-
Зміна логотипів платформи у налаштуваннях control-plane-console.
Загальні принципи та положення
-
Логотип на control-plane-console має застосовуватись у наступних контекстах:
-
Логотип у навігаційному меню
-
Логотип у вкладці браузера (favicon)
-
Логотип у лоадеру (поки не буде застосовуватись саме на control-plane-console)
-
-
Логотипи у всіх трьох випадках - різні. Навіть їх формат різний. Тому необхідно надати можливість додавати окремі іконки у якості цих логотипів
-
Формат головного логотипу - svg
-
Формат логотипу лоадера - svg
-
Формат favicon - png, 32*32 px. Всі сучасні браузери підтримують цей формат та розмір.
-
-
Формат svg обраний для адаптивності та можливості легкого темування.
Компоненти системи та їх призначення в рамках дизайну рішення
У даному розділі наведено перелік компонент системи, які залучені або потребують змін в рамках реалізації функціональних вимог.
Підсистема | Компонент | Опис змін |
---|---|---|
Підсистема управління Платформою та Реєстрами |
control-plane-console |
Розширення інтерфейсу управління реєстру налаштуванням назви платформи та логотипів платформи. |
Сценарії використання (user flow)
Зміна назви платформи
-
перехід у налаштування платформи
-
перехід на вкладку Загальне
-
на цій вкладці обрати нову назву платформи
-
прийняти зміни та дочекатись редеплою платформи з новою env змінною.
Зміна логотипів платформи
-
перехід у налаштування платформи
-
перехід на вкладку Загальне
-
на цій вкладці обрати нові файли для логотипів платформи
-
Окреме поле для головного логотипу
-
Окреме поле для логотипу лоадера
-
Окреме поле для favicon
-
-
прийняти зміни та дочекатись редеплою платформи з новою Config Map
Міграція існуючих реєстрів при оновленні
Усі існуючи екземпляри платформи отримають назву платформи та логотипи у рамках оновлення у якості значень за замовчуванням.
Технічне рішення
Високорівневий дизайн рішення
global:
platformName: test
logosPath: "configmap:platform-logos:<timestamp>"
kind: ConfigMap
name: platform-logos
data:
logoMain: base64
logoLoader: base64
logoFavicon: base64
env:
- name: PLATFORM_NAME
value: {{ .Values.global.platformName }}
План розробки
Вибір параметрів
-
Додати у control-plane-console на вкладку
Загальне
налаштувань платформи:-
поле для вводу імені платформи
-
поле для завантаження файлу головного логотипу
-
поле для завантаження файлу логотипу лоадера
-
поле для завантаження файлу favicon
-
-
Файли повинні перетворюватись на base64 текст та у цьому вигляді зберігатись через go backend
-
Додати валідацію для файлів:
-
*.svg
для головного логотипу -
*.svg
для логотипу лоадера -
*.png
для файлу favicon. Розмір у px не валідується.
-
-
Ім’я платформи зберегти у
values.yaml
- у поліglobal.platformName
. -
platformName у вигляді environment змінних потрапляють у control-plane-console (Devops)
-
Файли логотипів у вигляді base64 зберегти у Config Map
platform-logos
-
Використати логотипи з Config Map platform-logos у control-plane-console через прямий виклик з golang частини (так само як у швидких посиланнях)
-
Додати існуючи логотипи та назву у якості значень за замовчуванням у
cluster-mgmt/deploy-templates/values.yaml
та Config Mapplatform-logos
.
Використання параметрів
-
Змінна імені платформи використовується при відмальовуванні
golang
шаблону заголовку сторінки -
Змінна головного логотипу використовується при відмальовуванні
golang
шаблону заголовку сторінки -
Додати favicon до control-plane-console (наразі не має ніякого) та брати його значення з параметра