Руководство оператора#

Данное Руководство оператора предназначено для пользователей, осуществляющих эксплуатацию программного компонента AutoInstaller.

Доступ к приложению#

Доступ к AutoInstaller осуществляется с помощью интерфейса Jenkins. AutoInstaller не имеет собственных/встроенных механизмов защиты данных и не интегрирован с соответствующими внешними сервисами (функциональными подсистемами) за исключением выбранных Jenkins, GitLab/Bitbucket и Nexus. В процессе создания конечной информационной системы ее архитектору/разработчику необходимо самостоятельно выбирать механизмы обеспечения защиты данных с учетом требований к уровню конфиденциальности обрабатываемой информации, требований внутренних документов, отраслевых/национальных/международных стандартов, требований уполномоченных регуляторов, национального законодательства и лучших практик. Разработчик должен самостоятельно выбирать меры защиты своего АРМ.

Роль

Пререквизиты

Оператор сервиса

Доступ на запуск Jenkins job установщика;

Доступ на просмотр к каталогу, в котором расположен Jenkins job установщика;

Доступ на запись в репозиторий со сценарием;

Прочие доступы, определяемые сценарием установки (Installer).

Использование приложения оператором#

Оператор имеет возможности настроить параметры установки в репозитории сценария и запустить исполнение сценария в Jenkins job установщика (Installer job).

Варианты использования:

  • Настройка – осуществляется через указание параметров настроек;

  • Запуск развертывания – выполняется посредством исполнением скрипта запуска или в интерфейсе Jenkins;

  • Диагностика ошибок развертывания – осуществляется с помощью лога Installer или таблицы статусов Jenkins job (подробнее см. Руководство прикладного разработчика → раздел Таблица статусов);

  • Обновление инструментов развертывания – производится через запуск Jenkins job с пустыми параметрами.

Использование Installer job#

С помощью Installer job осуществляется:

  • Исполнение сценария установки (шаги по запуску других Jenkins jobs и bash скриптов);

  • Отрисовка таблицы по статусам исполнения сценария;

  • Внесение изменений в служебный файл обработки сценария.

Оператор передает в Jenkins job следующие параметры:

  1. scenarioGitUrl – адрес git репозитория, где расположен сценарий AutoInstaller.

  2. scenarioGitBranch – ветка git репозитория, где расположен сценарий AutoInstaller.

  3. scenarioFile – имя файла сценария.

Часто встречающиеся проблемы и пути их устранения#

Полноценной и обширной базы знаний по ошибкам эксплуатации на текущий момент не накоплено.

Параметры настройки#

Интеграция окружения с Installer осуществляется с помощью задания параметров настроек, указываемых в файле installer.properties (и, возможно, если автор сценария так сделает – несколько других файлов, импортируемых в нем, а также secret.properties ). Все эти файлы располагаются в том же репозитории, что и запускаемый сценарий. Содержание файла installer.properties зависит от сценария установки, но помимо сценарно-зависимых параметров, он может содержать также и служебные. Их список представлен в таблице:

Параметры настройки и эксплуатации:

Параметр

Значение по умолчанию

Назначение

installer.secrets.file

./secret.properties

Путь до зашифрованного файла параметров.

installer.secrets.password

Параметр для расшифровки зашифрованного файла параметров.

installer.scenario.file

./tasks.json

Путь до файла сценария (задается в Jenkins job, но может переопределяться и тут).

installer.secrets.encType

vault

Тип шифрования файла параметров (vault, или openssl - aes-256-cbc).

installer.outputs.file

Путь к сценарию + «~/output.json»

Путь до служебного файла.

installer.encoding

utf-8 везде, и cp866 в cmd

Кодировка сценария.

installer.reversePropPriority

false

Вспомогательный параметр, включает приоритет vars над картой параметров.

installer.pool.limit

10

Лимит на число параллельных запусков.

installer.props.import

Дополнительные файлы параметров (указываются через запятую).

installer.crumb

Автоматически

Принудительно указать, использовать ли crumb при авторизации в Jenkins. Значения: true/false

installer.writeJenkinsParams

false

Флаг принудительного отключения записи параметров запуска Jenkins job в служебный файл (актуально лишь для режимов отличных от prom).

installer.jenkinsCount

5

Количество попыток обращения к серверу при запуске удаленной Jenkins job.

installer.interrupt.prop.name

installerInterrupt

Путь к файлу, в котором хранится информация об интерактивном вводе данных.

installer.read.period

2

Время в секундах, через которое считывается файл для перерисовки таблицы и интерактивного взаимодействия.

installer.git.cred.scenario

Credentials под которыми запущена Jenkins job.

id jenkins credentials для доступа к сценарию.

installer.nexus.repo

Nexus_PROD/

Репозиторий с дистрибутивом Installer (не используется в full).

installer.nexus.group

Nexus_PROD/

groupId для дистрибутива Installer

installer.nexus.artifactId

AUTOINSTALLER

artifactId для дистрибутива Installer

installer.jdk.tool

null

Имя java tooling.

installer.clean.ws.enabled

false

Флаг чистки workspace после выполнения сценария.

installer.push.service.enabled

true

Флаг commit/push служебного файла после выполнения.

Параметры взаимодействия со средой функционирования:

Параметр

Значение по умолчанию

Назначение

installer.hashiCorp.enable

false

Флаг включения работы с hashiCorp.

installer.hashiCorp.url

Адрес hashiCorp.

installer.hashiCorp.nexus.role

appRole, под которой получаются данные из hashiCorp.

installer.hashiCorp.nexus.token

installer.hashiCorp.nexus.role

Тоже самое, что role, оставлено для совместимости с арх. постановкой.

installer.hashiCorp.nexus.path

Путь к запрашиваемым Installer данным о пароле Nexus в hashiCorp.

installer.hashiCorp.secret.path

Путь к запрашиваемым Installer данным о пароле расшифровки secret-файла в hashiCorp.

installer.hashiCorp.secret.role

appRole, под которой получаются данные из hashiCorp.

installer.hashiCorp.secret.token

installer.hashiCorp.secret.role

Тоже самое, что role, оставлено для совместимости с арх. постановкой.

nexusUrl

https://<nexus.domain>/nexus/

Адрес Nexus.

installer.jenkins.nexus.jenkinsCred

Jenkins credentials для доступа к Nexus.

scenarioGitUrl

Адрес git репозитория.

Правила эксплуатации#

Поскольку программный компонент AutoInstaller не имеет встроенных механизмов защиты, не интегрирован и не имеет возможности интеграции с внешними сервисами (функциональными подсистемами) за исключением перечисленных (Jenkins, Nexus, GitLab/Bitbucket) с целью обеспечения безопасности, не регламентируются следующие правила:

  • Правила эксплуатации входящих в состав программного компонента (AutoInstaller) программных и программно-аппаратных средств защиты информации, включая вопросы использования их среды функционирования.

  • Правила эксплуатации не входящих в состав компонента (внешних/платформенных) программных и программно-аппаратных средств защиты информации, включая вопросы использования их среды функционирования.

  • Правила эксплуатации ключевой системы.

Также не регламентируются иные правила эксплуатации в связи с отсутствием их влияния на безопасность.