Заполнение параметров стенда файла environment.json#
Секция стенда никогда не перетирается. В случае, если необходимо изменить какой-либо параметр из секции __default, вам необходимо скопировать переменную (в случае, с объектами, копировать необходимо весь объект, например «installer»: { … }) в область стенда и переопределить значения уже там.
Описание основных параметров секции стенда:
Секция |
Параметр |
Описание |
Тип параметра |
Варианты значений |
Обязательный параметр? |
|---|---|---|---|---|---|
стенд |
useExternalResources |
Флаг подключения внешних ресурсов |
Boolean |
true - включение функциональности, false - отключение |
Да |
стенд |
resources {} |
Подключение внешних ресурсов (например - для использования правил миграции файлов в репозиторий функциональных приложений вместо commonDistrib) |
List |
Разбор блока ниже в разделе Параметры секции resources |
Да, если не использовать commonDistrib в секции installer {} |
стенд |
installer{} |
Реквизиты Инсталятора в хранилище Nexus |
List |
Разбор блока ниже в разделе Параметры секции installer |
Да |
стенд |
useCustomValues |
Флаг использования пользовательских переменных |
Boolean |
true - включение функциональности, false - отключение |
Да |
стенд |
helm {} |
Блок настроек для helm-конфигураций |
List |
Разбор блока ниже в разделе Параметры секции helm |
Да |
Параметры секции resources#
Блок использования внешних ресурсов требуется при невозможности использования дистрибутива commonDistrib с правилами миграции параметров в репозиторий конфигураций функциональных приложений.
Для реализации данной функциональности необходимо добавить в common-репозиторий файл __fp.yml, который должен поставляться с дистрибутивом.
Настройка секции с ресурсами будет выглядеть следующим образом:
"resources": [{
"description": "Common дистрибутив",
"sourceConfiguration": { # Путь до common-репозитория и ветка с файлом __fp.yaml
"link": "ssh://git@domain:port/projet/name_common_repo.git",
"branch": "master"
},
"parameters": [{
"includes": [
"./__fp.yml" # Путь до файла __fp.yaml из репозитория (в данном примере он лежит в корне)
],
"resultDir": "common"
}]
}],
Параметры секции installer#
В блоке определяются реквизиты для поиска артефактов мигратора данных в репозиторий конфигураций функциональных приложений. Если вместо блока resources используется commonDistrib для применения правил миграции данных, его артефакты необходимо также указывать в этой секции.
Вид блока:
"installer": { // Реквизиты Инсталятора в хранилище Nexus
"common": { // Реквизиты common-репозитория с правилами миграции данных
"groupId": "sbt_PROD.*********",
"artifactId": "commonDistrib",
"version": "D-5.1-Common-Distrib-*",
"classifier": "distrib",
"packaging": "zip"
},
"migration": { // Реквизиты мигратора
"groupId": "sbt_PROD.******",
"artifactId": "CI01****46__******Migration",
"version": "D-02***7",
"classifier": "distrib",
"packaging": "zip"
}
},
Параметры секции helm#
Рассмотрим пример настройки для установки дистрибутивов на базе Helm:
{...
"helm": { // Блок настроек для helm-конфигураций
"timeout": "300s", // Оставшееся время выполнения процесса установки в формате Go Duration, по умолчанию в Helm составляет 5 минут.
"tests_enabled": true, // Опция запускать или нет тесты (команда helm test), по умолчанию: true
"hooks_enabled": false, // Опция запускать или нет хуки (Chart hooks), по умолчанию: true.
"customValuesMasks": "{{ fpConfig.customValuesMasks }}" // Параметр для определения списка дополнительных произвольных values файлов, которые находятся в дистрибутиве. В параметре customValuesMasks можно перечислить список масок для поиска values файлов. Переопределяется в subsystems, здесь остается ссылка
}
}
Если "customValuesMasks": "*/**/restricted*.yaml,*/**/values-*.yaml" - содержит значение с перечислением файлов - то данное правило будет применяться ко всем subsystems.json в common-repo.
Если "customValuesMasks": "{{ fpConfig.customValuesMasks }}" - содержит ссылку на параметр - то в subsystem.json в каждой подсистеме требуется добавить правило применения файлов конфигурации, например:
{
...
"ABYSS-API-PRIMARY": {
"sector": ["abyss"],
"customValuesMasks": "*/**/restricted*.yaml,*/**/{{ lookup('env', 'CONFIG_DIR') }}/**/abyss/*/**/values-*.yaml,*/**/{{ lookup('env', 'CONFIG_DIR') }}/**/environment/env-values-common.yaml,*/**/{{ lookup('env', 'CONFIG_DIR') }}/**/environment/env-values-abyssdevelop_st3_primary.yaml,*/**/{{ lookup('env', 'CONFIG_DIR') }}/**/sdp-st/*"
},
}
}
Подробнее об определении/переопределении параметров указано в документе Работа с дистрибутивом конфигураций на базе HELM.
Если вы дошли до этой строки, заполнив всю секцию стенда нужными параметрами - файл environment.json можно считать заполненным.
Далее требуется заполнить файл subsystems.json согласно документу Заполнение файла subsystems.json.