Рутовое приложение
Версионирование и конфигурирование образа

Версионирование и конфигурирование образа

Общая информация по выпуску и версионированию образа

В базовом образе UI микросервисаregistry-new.diasoft.ru/dvt/release/qpalette:23021301и в последующих выпусках будет упаковано рутовое приложение. Соответственно сборка рутового в пайплайне не потребуется, в данном случае версия базового образа = версии рутового. Таким образом, чтобы поменять версию рутового приложения, достаточно будет установить в докерфайле нужную версию образа.

Конфигурирование образа

Для конфигурирования образа c рутовым приложением достаточно будет задать следующие переменные:QPALETTE_ENV- окружение для файла конфигурации:prod/local/base. По умолчанию для переменной задано значениеprod.QPALETTE_CONFIG- содержимое файла конфига в формате json.Данные переменные необходимо прописать в devops_config вашего UI микросервиса, либо через инсталлятор.К примеру, чтобы подложить файл конфигурации в свойconfig.base.json, предварительно укажите значениеbaseдля переменнойQPALETTE_ENVи запишите свой обновленный конфиг в переменнуюQPALETTE_CONFIG.ЕслиQPALETTE_CONFIGне задан, то по умолчанию образ соберётся со стандартным конфигом, по умолчанию он такой:

Пример конфига по умолчанию

{
  "scripts": [
  ],
  "plugins": [],
  "theme": {
    "themes": [
      {
        "name": "Стандарт",
        "id": "standard"
      },
      {
        "name": "Минимализм",
        "id": "minimalism"
      },
      {
        "name": "Тинь-Тинь",
        "id": "tin-tin"
      },
      {
        "name": "Зебра",
        "id": "zebra"
      }
    ]
  },
  "tabs": {
    "visible": true,
    "appName": "Digital Q"
  },
  "sidebar": {
    "visible": true,
    "dynamicMenu": true,
    "logo": "",
    "logoSmall": ""
  },
  "loginForm": {
    "visible": true,
    "background": "var(--q-primary-900, #061725) center/cover url(assets/images/auth_bg.svg)",
    "logo": "assets/images/digitalq_logo.svg"
    },
    "bundleLoader": {
    "bundleUrl": "/api/$service/$component/main.js"
    },
    "widgetLoader": {
    "bundleUrl": "/api/$service/widgets/$component/main.js"
    },
    "widgets": {
    "bundleUrl": "/api/$service/$component/widgets/$widget/main.js"
    },
    "auth": {
    "service": "default",
    "options": {
    "redirectOnLogoutUrl": null,
    "excludeUrlsFromAuthorization": [
    "assets/*",
    "suggestions.dadata.ru/*"
    ],
    "authDataServiceConfig": {
    "urls": {
    "base": "/api"
    }
    }
    }
    },
    "apiBaseUrl": "/api/$service",
    "pbcList": []
    }

Пример заполненного QPALETTE_CONFIG для авторизации через keycloak

{
	"QPALETTE_CONFIG": "{ \"scripts\": [ ], \"plugins\": [], \"theme\": { \"themes\": [ { \"name\": \"standard\", \"id\": \"standard\" }, { \"name\": \"minimalism\", \"id\": \"minimalism\" }, { \"name\": \"tin-tin\", \"id\": \"tin-tin\" }, { \"name\": \"zebra\", \"id\": \"zebra\" } ] }, \"tabs\": { \"visible\": true, \"appName\": \"Digital Q\" }, \"sidebar\": { \"visible\": true, \"dynamicMenu\": true, \"logo\": \"\", \"logoSmall\": \"\" }, \"loginForm\": { \"visible\": true, \"background\": \"var(--q-primary-900, #061725) center / cover url(assets/images/auth_bg.svg)\", \"logo\": \"assets/images/digitalq_logo.svg\" }, \"bundleLoader\": { \"bundleUrl\": \"/api/$service/$component/main.js\" }, \"widgetLoader\": { \"bundleUrl\": \"/api/$service/widgets/$component/main.js\" }, \"widgets\": { \"bundleUrl\": \"/api/$service/$component/widgets/$widget/main.js\" }, \"auth\": { \"service\": \"KeyCloak\", \"options\": { \"excludeUrlsFromAuthorization\": [ \"assets/*\", \"suggestions.dadata.ru/*\" ], \"refreshTokenPeriodically\": true, \"authDataServiceConfig\": { \"urls\": { \"base\": \"/api\" } }, \"keycloak\": { \"config\": { \"url\": \"https://keycloak.keycloak.qrunsys.diasoft.ru/auth\", \"realm\": \"diasoft\", \"clientId\": \"qisimagestorage\" } } } }, \"apiBaseUrl\": \"/api/$service\" }"
  }

Пример заполненного QPALETTE_CONFIG для авторизации default

{
	"QPALETTE_CONFIG": "{ \"scripts\": [ ], \"plugins\": [], \"theme\": { \"themes\": [ { \"name\": \"standard\", \"id\": \"standard\" }, { \"name\": \"minimalism\", \"id\": \"minimalism\" }, { \"name\": \"tin-tin\", \"id\": \"tin-tin\" }, { \"name\": \"zebra\", \"id\": \"zebra\" } ] }, \"tabs\": { \"visible\": true, \"appName\": \"Digital Q\" }, \"sidebar\": { \"visible\": true, \"dynamicMenu\": true, \"logo\": \"\", \"logoSmall\": \"\" }, \"loginForm\": { \"visible\": true, \"background\": \"var(--q-primary-900, #061725) center / cover url(assets/images/auth_bg.svg)\", \"logo\": \"assets/images/digitalq_logo.svg\" }, \"bundleLoader\": { \"bundleUrl\": \"/api/$service/$component/main.js\" }, \"widgetLoader\": { \"bundleUrl\": \"/api/$service/widgets/$component/main.js\" }, \"widgets\": { \"bundleUrl\": \"/api/$service/$component/widgets/$widget/main.js\" }, \"auth\": { \"service\": \"default\", \"options\": { \"excludeUrlsFromAuthorization\": [ \"assets/*\", \"suggestions.dadata.ru/*\" ], \"refreshTokenPeriodically\": true, \"authDataServiceConfig\": { \"urls\": { \"base\": \"/api\" } } } }, \"apiBaseUrl\": \"/api/$service\" }"
    }