Обновление#
Перед обновлением рекомендуется выполнить архивацию и сохранение БД (backup) для возможности использования дашбордов предыдущей версии.
Шаги обновления#
Обновление Indicator представляет собой установку новой версии через Jenkins. Необходимые настройки сервиса будут осуществлены при установке дистрибутива через Jenkins.
Подготовить сертификаты и secrets.
Запустить PIPELINE_Deploy (см. шаг инструкции Запуск установки Indicator с помощью PIPELINE_Deploy текущего документа) с установленным флагом
MIGRATION_FP_CONF.
MIGRATION_FP_CONF — загрузит файл конфигурации в дистрибутив
Внести изменения в файлы конфигурации согласно инструкции установки новой версии.
3.1. Обновление версий (частные случаи):
Обновление с 2.0.0 на 3.0.0
Обновление с 3.0.0 на 4.0.0
Обновление с 4.0.0 на 4.1.0
Обновление с 4.1.0 на 4.2.0
Обновление с 4.2.0 на 5.0.0
Обновление с 5.0.0 на 5.1.0
Обновление с 5.1.0 на 5.1.20
Если среди указанных частных случаев нет нужного, то рекомендуется двигаться дальше по пунктам согласно инструкции обновления.
Заполнить параметры для подключения скриптов Liquibase к БД в ansible/common.conf.yaml.
Пример:
#INDICATOR
JDBC_INDICATOR_PG_SERVER: "1.1.1.1"
JDBC_INDICATOR_PG_PORT: "5433"
JDBC_INDICATOR_PG_DBNAME: "indicator_db"
JDBC_INDICATOR_PG_USER: "indicator_migrator"
JDBC_INDICATOR_PG_SCHEMA: "indicator"
Запустить PIPELINE_Deploy с установленным флагом
DB_UPDATE.Запустить PIPELINE_Deploy с установленными флагами
MIGRATION_FP_CONF,OPENSHIFT_DEPLOYиOPENSHIFT_INGRESS_EGRESS_DEPLOY.
Запуск DDL скриптов Liquibase#
Для создания объектов в схеме с помощью liquibase скриптов рекомендуется использовать учетную запись администратор АС.
Начиная с версии 4.1 для обновления используются скрипты LiquiBase.
Для обновления схемы БД до текущей версии выполните следующие действия:
Заполните параметры для подключения скриптов к БД в ansible/common.conf.yml;
Имя параметра |
Примеры значений |
Описание |
|---|---|---|
JDBC_INDICATOR_PG_SERVER |
«0.0.0.0» |
IP Сервера для подключения к БД |
JDBC_INDICATOR_PG_PORT |
«5433» |
Порт для подключения к БД |
JDBC_INDICATOR_PG_DBNAME |
«db_name» |
Имя instance БД |
JDBC_INDICATOR_PG_SCHEMA |
«schema» |
Схема БД |
JDBC_INDICATOR_PG_USER |
«user» |
Имя пользователя as_admin |
Заполните секрет (JDBC_INDICATOR_PG_PASSWORD) для подключения скриптов к БД в _passwords.conf;
Выполните скрипт запустив PIPELINE_Deploy, установив флаг DB_UPDATE;
Чтобы DB_UPDATE работал в Platform V DevOps Tools (DOT), нужно проверить параметры в globalInventory, см. пункт "Заполнение globalInventory" в Автоматизированная установка сервиса с использованием Deploy Tools текущего документа.
В случае повторного наката DB_UPDATE необходимо скорректировать параметр INDICATOR_EXPECTED_LIQUIBASE_TAG на значение tag с последним build.
Запуск DDL скриптов (Liquibase) в ручном режиме#
Каталог package/db содержит дистрибутивы скриптов миграции базы данных.
Дистрибутив скриптов миграции БД – это zip архив, который содержит:
утилиту liquibase в виде jar;
jdbc драйвер;
файл 0001_changelog.xml – сценарий миграции.
Параметры запуска скриптов миграции описываются в манифесте distrib.yml в секции dbscripts.
Список УЗ, указанных в поле «Список технологических учетных записей», имеет следующие права в схеме (для всех существующих и будущих объектов схемы):
USAGE схемы;
SELECT, UPDATE, INSERT в таблицы схемы;
Все привилегии на Sequence;
EXECUTE на Functions;
EXECUTE на Routines;
USAGE на Types.
В БД создается табличное пространство (значение берется из поля «Имя табличного пространства, создающегося инсталлятором») и пользовательская база данных (значение берется из поля «Имя базы данных, создающейся инсталлятором»), владельцем которых становится групповая роль as_admin. Правом работы с этой ролью обладают Доменные Учетные Записи, введенные в поле «Список администраторов АС». Для этого необходимо произвести вход в БД под ним и выполнить команду:
чтобы накатить набор скриптов, необходимо выполнить команды liquibase, указанные в changelog.xml
java -jar liquibase-sqlplus-3.5.1.jar --liquibaseSchemaName=schema--username=dbusername --password=dbpassword--url=jdbc:postgresql://dburl:dbport/dbname --defaultSchemaName=schema--classpath=postgresql-9.4.1212.jar --driver=org.postgresql.Driver --changeLogFile=changelog.xml update
liquibaseSchemaName – схема, в которой liquibase создает свои 2 таблицы. defaultSchemaName – схема, в которую необходимо накатывать изменения.
Для работы приложения после успешного выполнения liquibase скриптов рекомендуется использовать ТУЗы.
Запуск установки Indicator с помощью PIPELINE_Deploy#
Запустить PIPELINE_Deploy, указав параметры:
SUBSYSTEM:
INDICATOR;DISTRIB_VERSION:
<выберите необходимую версию>;Репозиторий\ветка с настройками:
branch R1;Установить флаг в параметр: —
OPENSHIFT_DEPLOYиMIGRATION_FP_CONF.MIGRATION_FP_CONF — JOB загрузит файл конфигурации в дистрибутив. OPENSHIFT_DEPLOY — JOB развернет Indicator в среде контейнеризации. Если ставить одну галочку MIGRATION_FP_CONF работает наоборот. Из дистрибутива параметры будут переданы в FP репозиторий для дальнейшей их ручной корректировки.
Если нужна интеграция с Istio, необходимо выберите параметр OPENSHIFT_INGRESS_EGRESS_DEPLOY Перед установкой новой версии необходимо удалить Deployment Config из проекта платформы контейнеризации.
Дождитесь завершения работы PIPELINE.
Если ошибок не возникло,
Indicatorустановлен.
Обновление с 2.0.0 на 3.0.0#
При обновлении с версии 2 до версии 3 обратить внимание при заполнении переменных в файле indicator.conf.
Например, для переменных сертификата:
Имя параметра |
Примеры значений |
|---|---|
GRAFANA_DATASOURCE_ABYSS_TLS_CA_CERT |
${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cacert.pem |
GRAFANA_DATASOURCE_ABYSS_TLS_CLIENT_CERT |
${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cert-key.pem |
GRAFANA_DATASOURCE_ABYSS_TLS_CLIENT_KEY |
${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cert.pem |
GRAFANA_DB_CA_CERT_PATH |
${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/root/cacert.pem |
GRAFANA_DB_CLIENT_KEY_PATH |
${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cert-key.pem |
GRAFANA_DB_CLIENT_CERT_PATH |
${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cert.pem |
При миграции в файле indicator.conf параметры не изменяются, их необходимо измените на новые.
Также исправить путь к сертификатам fluent-bit. Сертификаты подключаются как том из Secret — kafka-cert.yaml
fluent-bit.ose.configmaps.fluent-bit.data.key.location=/fluent-bit/cert/cert-key.pem fluent-bit.ose.configmaps.fluent-bit.data.certificate.location=/fluent-bit/cert/cert.pem fluent-bit.ose.configmaps.fluent-bit.data.ca.location=/fluent-bit/cert/root/cacert.pem
Во второй версии была переменная (в indicator.conf): docker.registry=registry.ru
В третьей версии перешли на глобальную переменную: ${dockerRegistry}, а docker.registry была удалена.
В связи с этим нужно будет заменить ${docker.registry} на ${dockerRegistry} в тех переменных, где есть ссылка на переменную.
При изменении параметра ссылки georoute, сервис будет недоступен до завершения обновления.
После обновления конфигурационных файлов, в файле indicator.conf задайте новые параметры:
# Параметры Docker Image Indicator
indicator.ose.deployment.spec.template.spec.image.pull.secret=registry
indicator.ose.deployment.spec.template.spec.containers.indicator.app-name=/ci01976100/ci02696395_indicator/indicator_core/indicator
indicator.ose.deployment.spec.template.spec.containers.indicator.docker-image=${dockerRegistry}${indicator.ose.deployment.spec.template.spec.containers.indicator.app-name}
#Параметры Init контейнера
indicator.ose.deployment.spec.template.spec.containers.indicator-init.docker-image=${dockerRegistry}${indicator.ose.deployment.spec.template.spec.containers.indicator-init.app-name}
#Параметры для определения каталога с ssl сертификатами
indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts.from.jks=/indicator-certificates
#параметры server (для настройки IAM proxy)
GRAFANA_SERVER_DOMAIN=${global.platform.iam.core.host}
GRAFANA_SERVER_ROOT_URL=https://%(domain)s/indicator
GRAFANA_SERVER_SUB_PATH=true
#Параметры для подключения к БД (Grafana)
GRAFANA_DB_HOST=${INDA_POSTGRES_DB_HOST}:${INDA_POSTGRES_DB_PORT}
GRAFANA_DB_NAME=${INDA_POSTGRES_DB_NAME}
#При GRAFANA_DB_SSL_MODE=verify-full не забываем перевести параметр в true (indicator.ose.deployment.spec.template.spec.containers.indicator.change.permission.for.key=true см.внизу файла)
GRAFANA_DB_CA_CERT_PATH=${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cacert.pem
GRAFANA_DB_CLIENT_KEY_PATH=${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cert-key.pem
GRAFANA_DB_CLIENT_CERT_PATH=${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cert.pem
#Параметры для подключения SMTP (отправка уведомлений)
GRAFANA_SMTP_HOST=hostname
GRAFANA_SMTP_USER=username
GRAFANA_SMTP_FROM_ADDR=address@email.com
GRAFANA_SMTP_FROM_NAME=indicator
# ЕСЛИ GRAFANA_SMTP_SKIP_VERIFY=true то оставить пустым параметр -> GRAFANA_SMTP_CERT_FILE=${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cert.pem
# ЕСЛИ GRAFANA_SMTP_SKIP_VERIFY=true то оставить пустым параметр -> GRAFANA_SMTP_KEY_FILE=${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cert-key.pem
#Параметры security
GRAFANA_SECURITY_CSP_ENABLED=false
# пример для iframe (перечислять url через пробел) GRAFANA_SECURITY_CSP_TEMPLATE=frame-src https://host1 https://host2:18082;
GRAFANA_SECURITY_CSP_TEMPLATE=
#Параметры для подключения к LDAP
GRAFANA_LDAP_ENABLED=false
GRAFANA_LDAP_HOST=
GRAFANA_LDAP_PORT=
GRAFANA_LDAP_BIND_DN=
#Параметры auth.proxy
GRAFANA_AUTHPROXY_PROJECTID_FIELD_NAME=resource_access
#Параметры для подключения к Abyss (Datasource Indicator)
GRAFANA_DATASOURCE_ABYSS_NAME=Indicator-Abyss
GRAFANA_DATASOURCE_ABYSS_URL=host
GRAFANA_DATASOURCE_ABYSS_WORK_MODE=abyss
GRAFANA_DATASOURCE_ABYSS_TLS_CA_CERT=${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cacert.pem
GRAFANA_DATASOURCE_ABYSS_TLS_CLIENT_CERT=${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cert-key.pem
GRAFANA_DATASOURCE_ABYSS_TLS_CLIENT_KEY=${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cert.pem
#Имя таблицы в Abyss для работы дашбордов 4 поколения платформы
GRAFANA_DRUID_TABLE_UNIMON_NAME=unimon_task
#Имя таблицы в Abyss для работы дашбордов инфры
GRAFANA_DRUID_TABLE_INFRA=unimon_task
#Имя таблицы в Abyss для метрик самомониторинга Indicator
GRAFANA_DRUID_TABLE_INDICATOR_STATS=unimon_task
#Параметры для управления статистикой
INDICATOR_DATASOURCE_ONLY_WITH_STATISTICS_ENABLED=false
#Параметры аудита
INDICATOR_AUDIT_ENABLED=true
INDICATOR_AUDIT_BLOCK_OPERATION=true
INDICATOR_AUDIT_SEND_AUDIT_EVENT_BEFORE_OPERATION=true
INDICATOR_AUDIT_USE_CHANGEABLE_PARAMETERS=true
INDICATOR_AUDIT_SEND_ONLY_CHANGED_PARAMS=false
INDICATOR_AUDIT_WRITE_TO_FILES=true
INDICATOR_AUDIT_SEND_TO_PV_AUDIT=true
INDICATOR_AUDIT_PROXY_URL=host
INDICATOR_AUDIT_PROXY_MODULE_NAME=indicator
INDICATOR_AUDIT_REGISTER_METAMODEL=true
INDICATOR_AUDIT_METAMODEL_VERSION=1
INDICATOR_AUDIT_EVENT_MODE=reliability
INDICATOR_AUDIT_RETRY_CNT=3
INDICATOR_AUDIT_RETRY_SLEEP=100
# Создать Secret (conf/openshift/secrets/secret-inda-certs.yaml) с сертификатами которые экспортируются из JKS файла indicator.jks (Common repository ansible/files/ssl/indicator.jks)
# Необходимы для взаимодействия Fluent-bit sidecar с Kafka, PostgreSQL
indicator.ose.secrets.export.certificates.from.jks=true
indicator.ose.deployment.spec.template.spec.containers.indicator.change.permission.for.key=true
#Поддержка старых сертификатов интеграции с SM
GODEBUG=x509ignoreCN=0
Обновление с 3.0.0 на 4.0.0#
Все ранее созданные дашборды в Indicator версии ниже 3.0, используют datasource Druid, который напрямую подключается к API Druid без разделения на проекты. Для обновления дашбордов воспользуйтесь утилитой миграции
После обновления конфигурационных файлов, в файле indicator.conf задайте новые параметры:
# Возможны значения "debug», "info», "warn», "error», "critical"
GRAFANA_LOGGING_LEVEL=info
# Используем внутренний порт для egress из файла indicator.istio.all.conf - соответствующий первому хосту
GRAFANA_DB_CLIENT_KEY_PATH=${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts.from.jks}/cert-key.pem
#Параметры auth.proxy
GRAFANA_AUTHPROXY_FIELD_SUB=sub
#alerting
INDICATOR_PROXY_ABYSS_AUTH_TOKEN_KEEP_ALIVE=15
#Поддержка старых сертификатов интеграции с SM
GODEBUG=x509ignoreCN=0
#Параметры подключения к PVMSecure (Сервис авторизации)
INDICATOR_PVMSECURE_ENABLED=false
INDICATOR_PVMSECURE_HOST=http://host:port/pvm_auth
INDICATOR_PVMSECURE_INDICATOR_NAMESPACE=INDICATOR
INDICATOR_PVMSECURE_ADMINS_NAMESPACE=PVM_ADMINS
INDICATOR_PVMSECURE_API_VERSION=1
INDICATOR_PVMSECURE_LOGIN=login
INDICATOR_PVMSECURE_ADMIN_ROLE=INDA_ORG_ADMIN
INDICATOR_PVMSECURE_EDITOR_ROLE=INDA_ORG_EDITOR
INDICATOR_PVMSECURE_VIEWER_ROLE=INDA_ORG_VIEWER
INDICATOR_PVMSECURE_CACHE_EXPIRATION=300
INDICATOR_PVMSECURE_CREATE_USER_ON_MIGRATION=false
#Параметры сервисов Indicator
INDICATOR_SERVICES_REFRESH_TIMEOUT=60
INDICATOR_SWAGGER_STATUS=false
##########################
##########################
# SPEC OF DEPLOYMENTS
# Параметры Docker Image Indicator
indicator.ose.deployment.spec.template.spec.image.pull.secret=registry
indicator.ose.deployment.spec.template.spec.containers.indicator.docker-registry=registry.ru
indicator.ose.deployment.spec.template.spec.containers.indicator.registry-path=/ci02587203/ci02809205_tengri
indicator.ose.deployment.spec.template.spec.containers.indicator.app-name=ci01976100/ci02696395_indicator/indicator_core/indicator
indicator.ose.deployment.spec.template.spec.containers.indicator.docker-image=registry.ru/${indicator.ose.deployment.spec.template.spec.containers.indicator.app-name}
indicator.ose.deployment.spec.template.spec.containers.indicator.container-port=3000
#Параметры Init контейнера
indicator.ose.deployment.spec.template.spec.containers.indicator-init.app-name=/registry_redhat_io/rhel7:7.6
indicator.ose.deployment.spec.template.spec.containers.indicator-init.docker-image=${dockerRegistry}${indicator.ose.deployment.spec.template.spec.containers.indicator-init.app-name}
# Создать Secret (conf/openshift/secrets/secret-inda-certs.yaml) с сертификатами которые экспортируются из JKS файла indicator.jks (Common repository ansible/files/ssl/indicator.jks)
# Необходимы для взаимодействия Fluent-bit sidecar с Kafka, PostgreSQL
indicator.ose.secrets.export.certificates.from.jks=true
# cert-key.pem для изменения прав на 600(-rw-------) использовать если GRAFANA_DB_SSL_MODE=verify-full
indicator.ose.deployment.spec.template.spec.containers.indicator.change.permission.for.key=true
#Параметры для определения каталога с ssl сертификатами
indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts=/certificates/security/ssl
# Каталог в который будет помещен только cert-key.pem для изменения прав на 600(-rw-------) использовать если GRAFANA_DB_SSL_MODE=verify-full
indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts.from.jks=/indicator-certificates
# Параметры для pod Indicator который запускается в K8S
indicator.ose.deployment.spec.template.spec.containers.indicator.kubernetes.deploy=false
indicator.ose.deployment.spec.template.spec.containers.indicator.securityContext.runAsUser=472
#RollingUpdate
indicator.ose.deployment.spec.strategy.activeDeadlineSeconds=21600
indicator.ose.deployment.spec.strategy.intervalSeconds=1
indicator.ose.deployment.spec.strategy.maxSurge=1
indicator.ose.deployment.spec.strategy.maxUnavailable=25%
indicator.ose.deployment.spec.strategy.timeoutSeconds=600
indicator.ose.deployment.spec.strategy.updatePeriodSeconds=1
# Параметры Liveness & Readness Prob's
# Liveness
indicator.ose.deployment.spec.template.spec.containers.indicator.liveness.path=/healthz
indicator.ose.deployment.spec.template.spec.containers.indicator.liveness.failureThreshold=3
indicator.ose.deployment.spec.template.spec.containers.indicator.liveness.initialDelaySeconds=30
indicator.ose.deployment.spec.template.spec.containers.indicator.liveness.periodSeconds=5
indicator.ose.deployment.spec.template.spec.containers.indicator.liveness.successThreshold=1
indicator.ose.deployment.spec.template.spec.containers.indicator.liveness.timeoutSeconds=10
# Readness
indicator.ose.deployment.spec.template.spec.containers.indicator.readness.path=/api/health
indicator.ose.deployment.spec.template.spec.containers.indicator.readness.failureThreshold=3
indicator.ose.deployment.spec.template.spec.containers.indicator.readness.initialDelaySeconds=60
indicator.ose.deployment.spec.template.spec.containers.indicator.readness.periodSeconds=5
indicator.ose.deployment.spec.template.spec.containers.indicator.readness.successThreshold=1
indicator.ose.deployment.spec.template.spec.containers.indicator.readness.timeoutSeconds=10
##########################
Для файла настройки интеграции с внешними системами indicator.istio.all.conf задайте новые параметры:
# Параметры Istio
# indicator.ose.deployments.partsOf это то самое название группы подов которое видно в UI OSE/K8S example:INDICATOR
indicator.ose.deployments.partsOf=dev
indicator.ose.ingress.creating=false
indicator.ose.route.creating=false
indicator.ose.istio.common.discovery-address=istiod-basic.${indicator.ose.istio.control-plane-project}.svc:15012
# INGRESS - Порты, хосты и протоколы которые могут меняться на разных стендах
# GEO ROUTE
indicator.ose.istio.ingress.route.spec.host.georoute=true
indicator.ose.istio.ingress.route.spec.host.https.appFQDN.georoute=${distrib.release.version}-indicator.${projectName}.${appsDomain}
indicator.ose.istio.ingress.port=5443
indicator.ose.istio.ingress.virtualservice.port=${indicator.ose.deployment.spec.template.spec.containers.indicator.container-port}
indicator.ose.istio.ingress.route.spec.host.https.appFQDN=${distrib.release.version}-indicator.${projectName}.${appsDomain}
indicator.ose.istio.ingress.route.spec.tls.termination=passthrough
indicator.ose.istio.ingress.gateway.spec.servers.hosts.tls.mode=SIMPLE
indicator.ose.istio.egress.custom.certificates.enable=false
indicator.ose.istio.egress.default.certificates.enable=true
istio.ingress.route.rate-limit-connections.concurrent-tcp=100
istio.ingress.route.timeout-tunnel=1m
istio.ingress.route.rules.host.path=/
istio.ingress.route.rules.host.path.pathtype=Prefix
####################
# Параметры egress для взаимодействия APP UI - c внешними бэкендома и интеграционными сервисами
# EGRESS-SE-HTTP-DRUID
indicator.ose.istio.egress.druid.vs.timeout=5s
indicator.ose.istio.egress.druid.vs.retries.attempts=3
indicator.ose.istio.egress.druid.circuitbreaker.enable=false
indicator.ose.istio.egress.druid.circuitbreaker.consecutive5xxErrors=3
indicator.ose.istio.egress.druid.circuitbreaker.interval=30s
indicator.ose.istio.egress.druid.circuitbreaker.baseEjectionTime=1m
indicator.ose.istio.egress.druid.circuitbreaker.maxEjectionPercent=100
# EGRESS-SE-HTTPS-ABYSS
indicator.ose.istio.egress.abyss.vs.timeout=5s
indicator.ose.istio.egress.abyss.vs.retries.attempts=3
indicator.ose.istio.egress.abyss.circuitbreaker.enable=false
indicator.ose.istio.egress.abyss.circuitbreaker.consecutive5xxErrors=3
indicator.ose.istio.egress.abyss.circuitbreaker.interval=30s
indicator.ose.istio.egress.abyss.circuitbreaker.baseEjectionTime=1m
indicator.ose.istio.egress.abyss.circuitbreaker.maxEjectionPercent=100
# EGRESS-SE-TLS-AUTHJWT
indicator.ose.istio.egress.authjwt.vs.timeout=5s
indicator.ose.istio.egress.authjwt.vs.retries.attempts=3
indicator.ose.istio.egress.authjwt.circuitbreaker.enable=false
indicator.ose.istio.egress.authjwt.circuitbreaker.consecutive5xxErrors=3
indicator.ose.istio.egress.authjwt.circuitbreaker.interval=30s
indicator.ose.istio.egress.authjwt.circuitbreaker.baseEjectionTime=1m
indicator.ose.istio.egress.authjwt.circuitbreaker.maxEjectionPercent=100
# EGRESS-SE-HTTP-BAM
indicator.ose.istio.egress.bam.vs.timeout=5s
indicator.ose.istio.egress.bam.vs.retries.attempts=3
indicator.ose.istio.egress.bam.circuitbreaker.enable=false
indicator.ose.istio.egress.bam.circuitbreaker.consecutive5xxErrors=3
indicator.ose.istio.egress.bam.circuitbreaker.interval=30s
indicator.ose.istio.egress.bam.circuitbreaker.baseEjectionTime=1m
indicator.ose.istio.egress.bam.circuitbreaker.maxEjectionPercent=100
# EGRESS-SE-HTTP-SERVICEMANAGER
indicator.ose.istio.egress.servicemanager.vs.timeout=5s
indicator.ose.istio.egress.servicemanager.vs.retries.attempts=3
indicator.ose.istio.egress.servicemanager.circuitbreaker.enable=false
indicator.ose.istio.egress.servicemanager.circuitbreaker.consecutive5xxErrors=3
indicator.ose.istio.egress.servicemanager.circuitbreaker.interval=30s
indicator.ose.istio.egress.servicemanager.circuitbreaker.baseEjectionTime=1m
indicator.ose.istio.egress.servicemanager.circuitbreaker.maxEjectionPercent=100
# EGRESS-SE-TCP-SOLR
indicator.ose.istio.egress.solr.vs.timeout=5s
indicator.ose.istio.egress.solr.vs.retries.attempts=3
indicator.ose.istio.egress.solr.circuitbreaker.enable=false
indicator.ose.istio.egress.solr.circuitbreaker.consecutive5xxErrors=3
indicator.ose.istio.egress.solr.circuitbreaker.interval=30s
indicator.ose.istio.egress.solr.circuitbreaker.baseEjectionTime=1m
indicator.ose.istio.egress.solr.circuitbreaker.maxEjectionPercent=100
# EGRESS-SE-TCP-SMTP
indicator.ose.istio.egress.smtp.resolution=DNS
# Внешний порт на котором работает БД
indicator.ose.istio.egress.db.resolution=DNS
indicator.ose.istio.egress.db.create.addresses=false
# Внутренний порт для Gateway для перемешивания трафика (всегда должен быть уникальным)
indicator.ose.istio.egress.db.gateway.port=6060
# Внутренний порт для перемешивания трафика на Egress, этот порт и нужно указывать для подключения к БД (всегда должен быть уникальным)
indicator.ose.istio.egress.db.internal.port=10809
# EGRESS-SE-HTTP-SBERMOCK
indicator.ose.istio.egress.sbermock.vs.timeout=5s
indicator.ose.istio.egress.sbermock.vs.retries.attempts=3
indicator.ose.istio.egress.sbermock.circuitbreaker.enable=false
indicator.ose.istio.egress.sbermock.circuitbreaker.consecutive5xxErrors=3
indicator.ose.istio.egress.sbermock.circuitbreaker.interval=30s
indicator.ose.istio.egress.sbermock.circuitbreaker.baseEjectionTime=1m
indicator.ose.istio.egress.sbermock.circuitbreaker.maxEjectionPercent=100
# UNIMON.EXTERNA
indicator.ose.istio.egress.unimon.vs.timeout=5s
indicator.ose.istio.egress.unimon.vs.retries.attempts=3
indicator.ose.istio.egress.unimon.circuitbreaker.enable=false
indicator.ose.istio.egress.unimon.circuitbreaker.consecutive5xxErrors=3
indicator.ose.istio.egress.unimon.circuitbreaker.interval=30s
indicator.ose.istio.egress.unimon.circuitbreaker.baseEjectionTime=1m
indicator.ose.istio.egress.unimon.circuitbreaker.maxEjectionPercent=100
# ALMGR.EXTERNAL
indicator.ose.istio.egress.almgr.vs.timeout=5s
indicator.ose.istio.egress.almgr.vs.retries.attempts=3
indicator.ose.istio.egress.almgr.circuitbreaker.enable=false
indicator.ose.istio.egress.almgr.circuitbreaker.consecutive5xxErrors=3
indicator.ose.istio.egress.almgr.circuitbreaker.interval=30s
indicator.ose.istio.egress.almgr.circuitbreaker.baseEjectionTime=1m
indicator.ose.istio.egress.almgr.circuitbreaker.maxEjectionPercent=100
# AIOM.EXTERNAL
indicator.ose.istio.egress.aiom.vs.timeout=60s
indicator.ose.istio.egress.aiom.vs.retries.attempts=3
indicator.ose.istio.egress.aiom.circuitbreaker.enable=false
indicator.ose.istio.egress.aiom.circuitbreaker.consecutive5xxErrors=3
indicator.ose.istio.egress.aiom.circuitbreaker.interval=30s
indicator.ose.istio.egress.aiom.circuitbreaker.baseEjectionTime=1m
indicator.ose.istio.egress.aiom.circuitbreaker.maxEjectionPercent=100
# ULOGGER-UI
indicator.ose.istio.egress.ulogger.enabled=true
indicator.ose.istio.egress.ulogger.hosts=hosts_ulogger.ru
indicator.ose.istio.egress.ulogger.ports.port=443
indicator.ose.istio.egress.redirect.https.ulogger=2039
indicator.ose.istio.egress.ulogger.protocol=HTTPS
indicator.ose.istio.egress.ulogger.vs.timeout=5s
indicator.ose.istio.egress.ulogger.vs.retries.attempts=3
indicator.ose.istio.egress.ulogger.circuitbreaker.enable=false
indicator.ose.istio.egress.ulogger.circuitbreaker.consecutive5xxErrors=3
indicator.ose.istio.egress.ulogger.circuitbreaker.interval=30s
indicator.ose.istio.egress.ulogger.circuitbreaker.baseEjectionTime=1m
indicator.ose.istio.egress.ulogger.circuitbreaker.maxEjectionPercent=100
# OSIRIS
indicator.ose.istio.egress.osiris.enabled=false
indicator.ose.istio.egress.osiris.hosts=
indicator.ose.istio.egress.osiris.ports.port=443
indicator.ose.istio.egress.redirect.https.osiris=2067
indicator.ose.istio.egress.osiris.protocol=HTTPS
indicator.ose.istio.egress.osiris.vs.timeout=5s
indicator.ose.istio.egress.osiris.vs.retries.attempts=3
indicator.ose.istio.egress.osiris.circuitbreaker.enable=false
indicator.ose.istio.egress.osiris.circuitbreaker.consecutive5xxErrors=3
indicator.ose.istio.egress.osiris.circuitbreaker.interval=30s
indicator.ose.istio.egress.osiris.circuitbreaker.baseEjectionTime=1m
indicator.ose.istio.egress.osiris.circuitbreaker.maxEjectionPercent=100
# PVM.SECURE
indicator.ose.istio.egress.pvmsecure.enabled=true
indicator.ose.istio.egress.pvmsecure.hosts=url_host_pvm_secure
indicator.ose.istio.egress.pvmsecure.ports.port=8083
indicator.ose.istio.egress.redirect.https.pvmsecure=2038
indicator.ose.istio.egress.pvmsecure.protocol=HTTP
indicator.ose.istio.egress.pvmsecure.vs.timeout=5s
indicator.ose.istio.egress.pvmsecure.vs.retries.attempts=3
indicator.ose.istio.egress.pvmsecure.circuitbreaker.enable=false
indicator.ose.istio.egress.pvmsecure.circuitbreaker.consecutive5xxErrors=3
indicator.ose.istio.egress.pvmsecure.circuitbreaker.interval=30s
indicator.ose.istio.egress.pvmsecure.circuitbreaker.baseEjectionTime=1m
indicator.ose.istio.egress.pvmsecure.circuitbreaker.maxEjectionPercent=100
####################
# Remove Header for external backend
indicator.ose.istio.ef.remove.header.enabled=true
# Параметры подключения к Audit2
indicator.ose.istio.audit2.enable=true
indicator.ose.istio.audit2.host=ufsparams-config-mtls-unver.stub2-audit.apps.host_audit2.ru
indicator.ose.istio.audit2.port=443
indicator.ose.istio.egress.redirect.https.audit2=2037
indicator.ose.istio.audit2.protocol=HTTPS
indicator.ose.istio.egress.audit2.vs.timeout=5s
indicator.ose.istio.egress.audit2.vs.retries.attempts=3
indicator.ose.istio.egress.audit2.circuitbreaker.enable=false
indicator.ose.istio.egress.audit2.circuitbreaker.consecutive5xxErrors=3
indicator.ose.istio.egress.audit2.circuitbreaker.interval=30s
indicator.ose.istio.egress.audit2.circuitbreaker.baseEjectionTime=1m
indicator.ose.istio.egress.audit2.circuitbreaker.maxEjectionPercent=10
# OTT
indicator.ose.istio.ott.sidecar.enabled=false
indicator.ose.istio.egress.deployment.spec.template.spec.containers.ott.image=registry.ru/pprb-dev/ci00641491/ci01125613_ott_dev/ott-client-api:4.0.0.v2
Если ранее уже устанавливались в платформе контейнеризации, то значение для параметра indicator.ose.istio.ingress.route.spec.host.https.appFQDN.georoute при обновлении изменять нельзя, а если есть необходимость изменить, то нужно удалить ранее созданный Route.
Для файла настройки интеграции с PVM Журналирование indicator.logger.conf задайте новые параметры:
fluent-bit.ose.deployment.spec.template.spec.containers.fluent-bit.securityContext.runAsUser=1001
# Параметры Liveness & Readness Prob's
# Liveness
fluent-bit.ose.deployment.spec.template.spec.containers.fluent-bit.liveness.path=/
fluent-bit.ose.deployment.spec.template.spec.containers.fluent-bit.liveness.failureThreshold=3
fluent-bit.ose.deployment.spec.template.spec.containers.fluent-bit.liveness.initialDelaySeconds=30
fluent-bit.ose.deployment.spec.template.spec.containers.fluent-bit.liveness.periodSeconds=5
fluent-bit.ose.deployment.spec.template.spec.containers.fluent-bit.liveness.successThreshold=1
fluent-bit.ose.deployment.spec.template.spec.containers.fluent-bit.liveness.timeoutSeconds=10
# Readness
fluent-bit.ose.deployment.spec.template.spec.containers.fluent-bit.readness.path=/api/health
fluent-bit.ose.deployment.spec.template.spec.containers.fluent-bit.readness.failureThreshold=3
fluent-bit.ose.deployment.spec.template.spec.containers.fluent-bit.readness.initialDelaySeconds=15
fluent-bit.ose.deployment.spec.template.spec.containers.fluent-bit.readness.periodSeconds=5
fluent-bit.ose.deployment.spec.template.spec.containers.fluent-bit.readness.successThreshold=1
fluent-bit.ose.deployment.spec.template.spec.containers.fluent-bit.readness.timeoutSeconds=10
После выполнить шаги обновления с 4-того по 6-й (см. шаг инструкции Шаги обновления текущего документа).
Обновление с 4.0.0 на 4.1.0#
Начиная с версии 4.1 для обновления используются скрипты LiquiBase.
После обновления конфигурационных файлов, в файле indicator.conf измените значение параметров:
#параметры server (для настройки IAM proxy)
GRAFANA_SERVER_ROOT_URL=https://${GRAFANA_SERVER_DOMAIN}/indicator
#Параметры для подключения к БД
GRAFANA_DB_CA_CERT_PATH=${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cert.pem
GRAFANA_DB_CLIENT_CERT_PATH=${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cert.pem
# Параметры Docker Image Indicator
indicator.ose.deployment.spec.template.spec.containers.indicator.docker-registry=registry.ru
indicator.ose.deployment.spec.template.spec.containers.indicator.app-name=efs/ci01976100/ci02696395_indicator/indicator_core/indicator
indicator.ose.deployment.spec.template.spec.containers.indicator.docker-image=${indicator.ose.deployment.spec.template.spec.containers.indicator.docker-registry}/${indicator.ose.deployment.spec.template.spec.containers.indicator.app-name}
# Параметры для pod Indicator который запускается в K8S
indicator.ose.deployment.spec.template.spec.containers.indicator.kubernetes.deploy=true
#Параметры лимитов и запросов для Indicator
indicator.ose.deployment.spec.template.spec.containers.indicator.resources.limits.cpu=1000m
Задайте новые параметры:
# Изменить имя Deployment,Service,HPA,Route - запрещено использовать спецсимволы и "_" валидный пример new-name, если это не нужно использовать в значение ${distrib.release.version}
CHANGE_NAME_DEPLOYMENT=${distrib.release.version}
#Параметры для подключения к БД
INDICATOR_DB_SKIP_MIGRATIONS=false
GRAFANA_DB_CA_CERT_PATH=${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/root/cacert.pem
#Проверяет соответствие установленной через liquibase версии БД
INDICATOR_EXPECTED_LIQUIBASE_TAG=v.4.1.0
INDICATOR_LIQUIBASE_TABLENAME=liq_databasechangelog
#Имя таблицы в Abyss для метрик Единого коллектора
GRAFANA_DRUID_TABLE_COLLECTOR=collector_table_name
#Имя datasource для дашборда Единого коллектора
GRAFANA_DASH_DATASOURCE_COLLECTOR=Abyss telemetry-collector
#список полей через запятую, которые не будут передаваться в аудит
INDICATOR_AUDIT_DATASOURCE_BACK_HIDE_FIELDS=headers
#Параметры подключения к PVMSecure (Сервис авторизации)
INDICATOR_PVMSECURE_BASIC_NAMESPACE=PVM_BASIC_NAMESPACE
#Параметры настроек для Frontend
INDICATOR_FRONTEND_PARAMS_INSTANCE_NAME=PVM
INDICATOR_FRONTEND_PARAMS_HELP_LINK=
INDICATOR_FRONTEND_PARAMS_SUPPORT_LINK=
INDICATOR_FRONTEND_PARAMS_QUESTIONNAIRE_LINK=
#index-pvm - новый UI, index - старый grafana UI (только для страницы аутентификации)
INDICATOR_FRONTEND_INDEX_TEMPLATE=index-pvm
#Параметры сервисов Indicator
#INDICATOR_MAX_HTTP_BODY_SIZE_FROM_CLIENT - максимальный размер body запроса от внешнего клиента(браузера) в байтах, 0 -> неограничен
INDICATOR_MAX_HTTP_BODY_SIZE_FROM_CLIENT=10485760
# Параметры для pod Indicator который запускается в K8S
indicator.ose.deployment.spec.template.spec.containers.indicator-init.securityContext.runAsUser=1001
# PodDisruptionBudget
inda.ose.poddisruptionbudget.enabled=false
indicator.ose.poddisruptionbudget.spec.minAvailable=${global.poddisruptionbudget.minAvailable}
Для файла настройки интеграции с внешними системами indicator.istio.all.conf задайте новые параметры:
# Параметры Istio
indicator.ose.istio.common.discovery-address=istiod-basic.${indicator.ose.istio.control-plane-project}.svc:15012
# GEO ROUTE
indicator.ose.istio.ingress.route.spec.host.georoute=true
indicator.ose.istio.ingress.route.spec.host.https.appFQDN.georoute=${distrib.release.version}-indicator.${projectName}.${appsDomain}
indicator.ose.istio.ingress.service.port=https-${indicator.ose.istio.ingress.port}
indicator.ose.istio.ingress.deployment.spec.securityContext.runAsUser=1011860000
indicator.ose.istio.ingress.deployment.spec.securityContext.fsGroup=1011860000
# COLLECTOR-UI
indicator.ose.istio.egress.collector.enabled=false
indicator.ose.istio.egress.collector.hosts=host
indicator.ose.istio.egress.collector.ports.port=443
indicator.ose.istio.egress.redirect.https.collector=2040
indicator.ose.istio.egress.collector.protocol=HTTPS
indicator.ose.istio.egress.collector.vs.timeout=5s
indicator.ose.istio.egress.collector.vs.retries.attempts=3
indicator.ose.istio.egress.collector.circuitbreaker.enable=false
indicator.ose.istio.egress.collector.circuitbreaker.consecutive5xxErrors=3
indicator.ose.istio.egress.collector.circuitbreaker.interval=30s
indicator.ose.istio.egress.collector.circuitbreaker.baseEjectionTime=1m
indicator.ose.istio.egress.collector.circuitbreaker.maxEjectionPercent=100
Если ранее уже устанавливались в платформе контейнеризации, то значение для параметра indicator.ose.istio.ingress.route.spec.host.https.appFQDN.georoute при обновлении изменять нельзя, а если есть необходимость изменить, то нужно удалить ранее созданный Route.
Для файла настройки интеграции с PVM Журналирование indicator.logger.conf измените параметры:
#Пути к сертификатам.
fluent-bit.ose.configmaps.fluent-bit.data.ca.location=${fluent-bit.ose.configmaps.fluent-bit.data.certs.path}root/cacert.pem
После выполнить шаги обновления с 4-того по 6-й (см. шаг инструкции Шаги обновления текущего документа).
Обновление с 4.1.0 на 4.2.0#
Начиная с версии 4.2 для есть опциональная интеграции с Secman для хранения секретов.
После обновления конфигурационных файлов, в файле indicator.conf измените значение параметров:
# Ранее имя параметра GRAFANA_LOGGING_LEVEL. Уровень логирования. Возможны значения "debug», "info», "warn», "error», "critical"
GF_LOG_LEVEL=info
#Проверяет соответствие установленной через liquibase версии БД
INDICATOR_EXPECTED_LIQUIBASE_TAG=v.4.2.0
Параметры для autoscalling
indicator.openshift.autoscaling.min_replicas=2
#Параметры лимитов и запросов для Indicator Grafana
indicator.ose.deployment.spec.template.spec.containers.indicator.resources.limits.cpu=1000m
indicator.ose.deployment.spec.template.spec.containers.indicator.resources.requests.cpu=800m
Задайте новые параметры:
#путь до файла application.properties
INDICATOR_PASSWORD_CONF_PATH=/vault/secrets/properties/application.properties
#Настройки супер администратора (имена атрибутов из _passwords.conf)
GRAFANA_ADMIN_USER_PROPERTY=GRAFANA_ADMIN_USER
GRAFANA_ADMIN_PASS_PROPERTY=GRAFANA_ADMIN_PASS
#Настройки подключения к БД (имена атрибутов из _passwords.conf)
jdbc.INDICATOR.user_PROPERTY=jdbc.INDICATOR.user
jdbc.INDICATOR.password_PROPERTY=jdbc.INDICATOR.password
#Настройки (имена атрибутов из _passwords.conf)
GF_SECURITY_SECRET_KEY_PROPERTY=GF_SECURITY_SECRET_KEY
GRAFANA_SMTP_PASS_PROPERTY=GRAFANA_SMTP_PASS
GRAFANA_LDAP_BIND_PASSWORD_PROPERTY=GRAFANA_LDAP_BIND_PASSWORD
GRAFANA_DATASOURCE_ABYSS_PASSWORD_PROPERTY=GRAFANA_DATASOURCE_ABYSS_PASSWORD
INDICATOR_PVMSECURE_PASSWORD_PROPERTY=INDICATOR_PVMSECURE_PASSWORD
#Пути к сертификатам подключения к БД (при выключенной интеграции с Secman)
#GRAFANA_DB_CA_CERT_PATH=${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/root/cacert.pem
#GRAFANA_DB_CLIENT_KEY_PATH=${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts.from.jks}/cert-key.pem
#GRAFANA_DB_CLIENT_CERT_PATH=${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cert.pem
#Пути к сертификатам подключения к БД (при включенной интеграции с Secman, и если заполнен indicator.vault.secrets.certs.db.cn)
INDICATOR_DB_MAX_IDLE_CONN=2
GRAFANA_DB_CA_CERT_PATH=/etc/ssl/certs/caCertificates.pem
GRAFANA_DB_CLIENT_KEY_PATH=/vault/secrets/certs/db/privateKey.pem
GRAFANA_DB_CLIENT_CERT_PATH=/vault/secrets/certs/db/clientCertificate.pem
#Проверяет соответствие установленной через liquibase версии БД
INDICATOR_LIQUIBASE_TABLENAME=liq_databasechangelog
#список полей через запятую, которые не будут передаваться в аудит
INDICATOR_AUDIT_DATASOURCE_BACK_HIDE_FIELDS=headers
#время ожидания заголовков ответа
GRAFANA_RESPONSE_HEADER_TIMEOUT_SECONDS=30
#url proxy для работы приложения Журналы через Internal Proxy (опционально)
INDICATOR_APP_PROXY_LOGGER_URL=http://uroute.ulogger.apps
INDICATOR_APP_PROXY_ABYSS_URL=http://host_abyss/coordinator
#INDICATOR_DEFFERED_LOAD_PLUGINS - включение/отключение отложенной загрузки плагинов.
INDICATOR_DEFFERED_LOAD_PLUGINS=true
#RollingUpdate
inda.k8s.deployment.spec.replicas=1
inda.k8s.deployment.spec.revisionHistoryLimit=10
# PodDisruptionBudget
inda.ose.poddisruptionbudget.enabled=false
inda.k8s.poddisruptionbudget.spec.minAvailable.enable=true
inda.ose.poddisruptionbudget.spec.minAvailable=${global.poddisruptionbudget.minAvailable}
inda.k8s.poddisruptionbudget.spec.maxUnavailable.enable=false
inda.k8s.poddisruptionbudget.spec.maxUnavailable=${global.poddisruptionbudget.maxUnavailable}
# Параметры priorityClassName
inda.k8s.deployment.spec.template.spec.priorityClassName.enable=false
inda.k8s.deployment.spec.template.spec.priorityClassName=example_name
Для файла настройки интеграции с внешними системами indicator.istio.all.conf измените параметры:
# Параметры для sidecar.istio.io
indicator.ose.deployment.spec.template.metadata.annotations.sidecar.istio.io.proxyCPU=1000m
indicator.ose.deployment.spec.template.metadata.annotations.sidecar.istio.io.proxyMemory=400Mi
indicator.ose.deployment.spec.template.metadata.annotations.sidecar.istio.io.proxyCPULimit=1200m
indicator.ose.deployment.spec.template.metadata.annotations.sidecar.istio.io.proxyMemoryLimit=600Mi
indicator.ose.istio.egress.deployment.spec.template.spec.containers.resources.limits.cpu=1000m
indicator.ose.istio.egress.deployment.spec.template.spec.containers.resources.limits.memory=1000Mi
indicator.ose.istio.egress.deployment.spec.template.spec.containers.resources.requests.cpu=800m
indicator.ose.istio.egress.deployment.spec.template.spec.containers.resources.requests.memory=600Mi
indicator.ose.istio.ingress.deployment.spec.template.spec.containers.resources.limits.cpu=1000m
indicator.ose.istio.ingress.deployment.spec.template.spec.containers.resources.limits.memory=1000Mi
indicator.ose.istio.ingress.deployment.spec.template.spec.containers.resources.requests.cpu=1000m
indicator.ose.istio.ingress.deployment.spec.template.spec.containers.resources.requests.memory=800Mi
# GEO ROUTE
indicator.ose.istio.egress.custom.certificates.enable=true
indicator.ose.istio.egress.default.certificates.enable=false
# OTT
indicator.ose.istio.egress.deployment.spec.template.spec.containers.ott.image={registry_url}/public/pprb/ci00641491/ci01125613_ott/ott-client-api@sha256:e7c8a9a5745c32ab2157a6c823f1174c31de5d08bd35fbc0bc1918fd24b6c7fc
# Настройки для OTT
indicator.ose.istio.ott.servers=host1:8443,host2:8443
indicator.ose.istio.ott.service-url=https://host:port/ott-service/rest/token
Задайте новые параметры:
# Параметры Istio
inda.k8s.egress.args.concurrency=2
indicator.ose.istio.common.transport-api-version=V3
# Настройки получения клиентского ключа и сертификата при включенной интеграции с Vault
indicator.vault.secrets.certs.client.source=pki_int/issue/indicator-role
indicator.vault.secrets.certs.client.source.pki=true
indicator.vault.secrets.certs.client.cn=${indicator.ose.istio.ingress.route.spec.host.https.appFQDN}
indicator.vault.secrets.certs.client.ttl=24h
# Настройки получения отдельного сертификата для подключения к БД при включенной интеграции с Vault при необходимости иного CN
indicator.vault.secrets.certs.db.source=${indicator.vault.secrets.certs.client.source}
indicator.vault.secrets.certs.db.source.pki=true
indicator.vault.secrets.certs.db.cn=
indicator.vault.secrets.certs.db.ttl=${indicator.vault.secrets.certs.client.ttl}
#ingress
# Настройки получения серверного ключа и сертификата при включенной интеграции с Vault
indicator.vault.secrets.certs.server.source=${indicator.vault.secrets.certs.client.source}
indicator.vault.secrets.certs.server.source.pki=true
indicator.vault.secrets.certs.server.cn=${indicator.ose.istio.ingress.route.spec.host.https.appFQDN}
indicator.vault.secrets.certs.server.alt_names=${indicator.ose.istio.ingress.route.spec.host.https.appFQDN}
indicator.vault.secrets.certs.server.ttl=${indicator.vault.secrets.certs.client.ttl}
### без интеграции с SecMan
#indicator.ose.istio.ingress.common.ca=/etc/istio/ingressgateway-ca-certs/root.crt
#indicator.ose.istio.ingress.common.privateKey=/etc/istio/ingressgateway-certs/tls.key
#indicator.ose.istio.ingress.common.certificate=/etc/istio/ingressgateway-certs/tls.crt
### с интеграцией с SecMan
indicator.ose.istio.ingress.common.ca=/etc/ssl/certs/caCertificates.pem
indicator.ose.istio.ingress.common.privateKey=/vault/secrets/certs/server/privateKey.pem
indicator.ose.istio.ingress.common.certificate=/vault/secrets/certs/server/serverCertificate.pem
#egress
### без интеграции с SecMan
#indicator.ose.istio.egress.common.ca=/etc/istio/egressgateway-ca-certs/root.crt
#indicator.ose.istio.egress.common.privateKey=/etc/istio/egressgateway-certs/tls.key
#indicator.ose.istio.egress.common.certificate=/etc/istio/egressgateway-certs/tls.crt
### с интеграцией с SecMan
indicator.ose.istio.egress.common.ca=/etc/ssl/certs/caCertificates.pem
indicator.ose.istio.egress.common.privateKey=/vault/secrets/certs/client/privateKey.pem
indicator.ose.istio.egress.common.certificate=/vault/secrets/certs/client/clientCertificate.pem
# Настройки получения сертификатов OTT при включенной интеграции с Vault
indicator.ose.istio.vault.secrets.certs.ott.source=pki_int/issue/indicator-role
indicator.ose.istio.vault.secrets.certs.ott.source.pki=true
indicator.ose.istio.vault.secrets.certs.ott.cn=${indicator.ose.istio.ott.module-id}
indicator.ose.istio.vault.secrets.certs.ott.ttl=24h
Для файла настройки интеграции с PVM Журналирование indicator.logger.conf измените параметры:
#Пути к сертификатам. Сертификаты подключаются как том из Secret - kafka-cert.yaml (без интеграции с Secman)
fluent-bit.ose.configmaps.fluent-bit.data.key.location=/fluent-bit/cert/cert-key.pem
fluent-bit.ose.configmaps.fluent-bit.data.certificate.location=/fluent-bit/cert/cert.pem
fluent-bit.ose.configmaps.fluent-bit.data.ca.location=/fluent-bit/cert/root/cacert.pem
#Пути к сертификатам при включенной интеграции с Secman
fluent-bit.ose.configmaps.fluent-bit.data.key.location=/vault/secrets/certs/client/privateKey.pem
fluent-bit.ose.configmaps.fluent-bit.data.certificate.location=/vault/secrets/certs/client/clientCertificate.pem
fluent-bit.ose.configmaps.fluent-bit.data.ca.location=/etc/ssl/certs/caCertificates.pem
Для настройки интеграции с cистемой управления секретами заполните в файле indicator.vault.all.conf новые параметры:
# Настройки интеграции с vault
indicator.vault.enabled=false
indicator.ose.deployment.spec.template.metadata.annotations.vault.hashicorp.com.agent-image={registry_url}/sbt/ci90000028_asdt/vault:1.7.0-0.11.1.2
# Настройки requests и limits для sidecar Vault Agent
indicator.ose.deployment.spec.template.metadata.annotations.vault.hashicorp.com.agent-requests-cpu=0.05
indicator.ose.deployment.spec.template.metadata.annotations.vault.hashicorp.com.agent-requests-mem=64Mi
indicator.ose.deployment.spec.template.metadata.annotations.vault.hashicorp.com.agent-limits-cpu=0.1
indicator.ose.deployment.spec.template.metadata.annotations.vault.hashicorp.com.agent-limits-mem=128Mi
indicator.vault.passthrough=true
indicator.vault.host=secman-dzo.solution.sbt
indicator.vault.port=8443
indicator.vault.port.redirect=2026
indicator.vault.config.auto_auth.method.mount_path=auth/os/stands-vdc01.solution.sbt
indicator.vault.config.auto_auth.method.config.role=role-ga-secman-inda-dev
indicator.vault.config.auto_auth.method.namespace=root
# Настройки названий секретов в Vault
indicator.vault.secrets.kv.source=A/STAND/INDA/KV/inda-secret-properties
indicator.vault.secrets.db.source=STAND/database/pg/static-creds/${indicator.vault.config.auto_auth.method.config.role}
indicator.certs.trusted.pem.file=ansible/files/ssl/root.pem
VAULT_FILES_LIST_PATH=/var/run/configs/vault/files_list.txt
indicator.ose.host=kubernetes.default.svc
indicator.ose.ip=192.169.0.1
indicator.all.spec.template.spec.serviceAccountName=indicator-sa
indicator.vault.rollout=true
# OTT интеграция с vault
indicator.ose.istio.common.ott.module.pem.file=ansible/files/ssl/ott_service_ca.pem
После выполнить шаги обновления с 4-того по 6-й (см. шаг инструкции Шаги обновления текущего документа).
Обновление с 4.2.0 на 5.0.0#
После обновления конфигурационных файлов, в файле indicator.conf измените значение параметров:
#Проверяет соответствие установленной через liquibase версии БД
INDICATOR_EXPECTED_LIQUIBASE_TAG=v.5.0.0
Задайте новые параметры:
# формат вывода логов. Возможные значения: text, json.
GF_LOG_FILE_FORMAT=text
#Параметры для подключения к БД
INDICATOR_DB_MAX_IDLE_CONN=2
#тема по умолчанию
INDICATOR_PVM_THEME=pvmlight
#Параметры сервисов Indicator
INDICATOR_SERVICES_METRICS_REFRESH_INTERVAL=60
Для файла настройки интеграции с внешними системами indicator.istio.all.conf измените параметры:
# GEO ROUTE
indicator.ose.istio.ingress.gateway.spec.servers.hosts.tls.mode=MUTUAL
# EGRESS-SE-HTTPS-ABYSS
indicator.ose.istio.egress.abyss.vs.timeout=60s
# EGRESS-SE-HTTP-BAM
indicator.ose.istio.egress.bam.vs.timeout=60s
# UNIMON.EXTERNAL
indicator.ose.istio.egress.unimon.vs.timeout=60s
# ALMGR.EXTERNAL
indicator.ose.istio.egress.almgr.vs.timeout=60s
# AIOM.EXTERNAL
indicator.ose.istio.egress.aiom.vs.timeout=60s
# ULOGGER-UI
indicator.ose.istio.egress.ulogger.vs.timeout=600s
# COLLECTOR-UI
indicator.ose.istio.egress.collector.vs.timeout=60s
# Настройки получения сертификатов OTT при включенной интеграции с Vault
indicator.ose.istio.vault.secrets.certs.ott.ttl=24h
Задайте новые параметры:
# Параметры Istio
inda.k8s.ingress.args.concurrency=1
indicator.ose.route.termination=passthrough
#Уровень логирования для ott-logback
indicator.ose.istio.ott.sidecar.log.level=INFO
# Настройки для OTT
indicator.ose.istio.common.ott.module.pem.file=ansible/files/ssl/ott_service_ca.pem
################
indicator.certs.trusted.pem.file=ansible/files/ssl/root.pem
Для файла настройки интеграции с PVM Журналирование indicator.logger.conf задайте новые параметры:
#формат fluent-bit parser (возможные значения - logfmt, json) - в зависимости от параметра - GF_LOG_FILE_FORMAT
fluent-bit.ose.configmaps.fluent-bit.parser.format=logfmt
После выполнить шаги обновления с 4-того по 6-й (см. шаг инструкции Шаги обновления текущего документа).
Обновление c 5.0.0 на 5.1.0#
После обновления конфигурационных файлов, в файле indicator.conf измените значение параметров:
#Проверяет соответствие установленной через liquibase версии БД
INDICATOR_EXPECTED_LIQUIBASE_TAG=v.5.1.0
#Настройки суперадминистратора (имена атрибутов из _passwords.conf)
GRAFANA_ADMIN_USER_PROPERTY=$__vault{kv:DEV_DZO/A/DEV/OM/CORE/INDA/KV/:st-inda-properties:GRAFANA_ADMIN_USER}
GRAFANA_ADMIN_PASS_PROPERTY=$__vault{kv:DEV_DZO/A/DEV/OM/CORE/INDA/KV/:st-inda-properties:GRAFANA_ADMIN_PASS}
#Настройки подключения к БД (имена атрибутов из _passwords.conf)
jdbc.INDICATOR.user_PROPERTY=$__vault{kv:DEV_DZO/A/DEV/OM/CORE/INDA/KV/:st-inda-properties:jdbc.INDICATOR.user}
jdbc.INDICATOR.password_PROPERTY=$__vault{kv:DEV_DZO/A/DEV/OM/CORE/INDA/KV/:st-inda-properties:jdbc.INDICATOR.password}
#Настройки (имена атрибутов из _passwords.conf)
GF_SECURITY_SECRET_KEY_PROPERTY=$__vault{kv:DEV_DZO/A/DEV/OM/CORE/INDA/KV/:st-inda-properties:GF_SECURITY_SECRET_KEY}
GRAFANA_SMTP_PASS_PROPERTY=$__vault{kv:DEV_DZO/A/DEV/OM/CORE/INDA/KV/:st-inda-properties:GRAFANA_SMTP_PASS}
GRAFANA_LDAP_BIND_PASSWORD_PROPERTY=$__vault{kv:DEV_DZO/A/DEV/OM/CORE/INDA/KV/:st-inda-properties:GRAFANA_LDAP_BIND_PASSWORD}
GRAFANA_DATASOURCE_ABYSS_PASSWORD_PROPERTY=$__vault{kv:DEV_DZO/A/DEV/OM/CORE/INDA/KV/:st-inda-properties:GRAFANA_DATASOURCE_ABYSS_PASSWORD}
INDICATOR_PVMSECURE_PASSWORD_PROPERTY=$__vault{kv:DEV_DZO/A/DEV/OM/CORE/INDA/KV/:st-inda-properties:INDICATOR_PVMSECURE_PASSWORD}
#Пути к сертификатам подключения к БД (при включенной интеграции с Secman)
#GRAFANA_DB_CA_CERT_PATH=$__file{/etc/ssl/certs/caCertificates.pem}
#GRAFANA_DB_CLIENT_KEY_PATH=$__vault{pki:DEV_DZO/PKI:role-ga-secman-inda-dev:apps.stands-vdc01.solution.sbt:private_key}
#GRAFANA_DB_CLIENT_CERT_PATH=$__vault{pki:DEV_DZO/PKI:role-ga-secman-inda-dev:apps.stands-vdc01.solution.sbt:certificate}
GRAFANA_DB_CA_CERT_PATH=$__file{/etc/ssl/certs/caCertificates.pem}
GRAFANA_DB_CLIENT_KEY_PATH=$__vault{pki:DEV_DZO/PKI:role-ga-secman-inda-dev:apps.stands-vdc01.solution.sbt:private_key}
GRAFANA_DB_CLIENT_CERT_PATH=$__vault{pki:DEV_DZO/PKI:role-ga-secman-inda-dev:apps.stands-vdc01.solution.sbt:certificate}
Задайте новые параметры:
#Если true то в переменные GRAFANA_DB_CLIENT% будут передаваться значения сертификатов при включенной интеграции с секман
#Если false то в переменные GRAFANA_DB_CLIENT% указываются пути к сертификатам
GRAFANA_DB_SSL_INLINE=${indicator.vault.enabled}
# GRAFANA_LDAP_SSL_INLINE=true, если сертификаты через secman
GRAFANA_LDAP_SSL_INLINE=false
#Имя поля (в jwt токене) из которого берутся роли по projectId, по данному полю также составляется список projectId
#для включения функционала необходимо заполнить значение, например resource_access
GRAFANA_AUTHPROXY_PROJECTID_FIELD_NAME=
#включение поддержики API Key Abyss
GRAFANA_AUTHPROXY_USE_ABYSS_API_KEY=true
#Параметры для подключения к Abyss (Datasource Indicator)
INDICATOR_DATASOURCE_ABYSS_EXEC_ON_FRONT=true
#Имя datasource для метрик unimon
GRAFANA_DASH_DATASOURCE_PROMETHEUS=Indicator-Abyss
#блокировать datasource кэш по id datasource при загрузке настроек из БД и преобразования нотаций secman (снижение нагрузки на БД)
GRAFANA_DATASOURCES_LOCK_CACHE=true
#параметр для формирования FQDN неймспейса для заполнения идентфикатора узла
INDICATOR_AUDIT_NODE_ID_NAMESPACE=${indicator.ose.istio.ingress.route.spec.host.https.appFQDN}
#Название роли для получения списка проектов из PVM Secure
INDICATOR_PVMSECURE_SECMAN_SECRETS_VIEWER_ROLE=PVM_SECRETS_VIEWER
#URL эндпоинта для получения списка проектов и их ID
INDICATOR_ABYSS_PROJECT_LIST_URL=http://host_abyss/coordinator/api/gateway/v1/project/listid
#список каталогов который будет исключен при запуске индикатора (из каталога /plugins)
INDICATOR_REMOVE_FOLDERS_PLUGINS=almgr-alert-manager-app-r5-0,almgr-notification-manager-app-r5-0,pvm_inda_app_collector-r5-0,pvm_inda_app_new_logger-r5-0,pvm_inda_app_unimon_ui-r5-0
Для файла настройки интеграции с внешними системами indicator.istio.all.conf измените значение параметров:
# Параметры для sidecar.istio.io
indicator.ose.deployment.spec.template.metadata.annotations.sidecar.istio.io.proxyCPU=1000m
indicator.ose.deployment.spec.template.metadata.annotations.sidecar.istio.io.proxyCPULimit=1200m
# Настройки получения сертификатов OTT при включенной интеграции с Vault
indicator.ose.istio.vault.secrets.certs.ott.source=A/DEV/OM/CORE/INDA/KV/st-inda-certs-ott
indicator.ose.istio.vault.secrets.certs.ott.source.pki=false
indicator.ose.istio.vault.secrets.certs.ott.cn=${indicator.ose.istio.ott.module-id}
indicator.ose.istio.vault.secrets.certs.ott.ttl=24h
Задайте новые параметры:
#SE и DSR для DNS
indicator.ose.istio.dns.config.deploy=false
indicator.ose.istio.dns-resolver=dns-default.openshift-dns.svc.cluster.local
# GEO ROUTE
indicator.ose.istio.ingress.route.metadata.annotations.haproxy_timeout=600s
indicator.ose.istio.ingress.route.metadata.annotations.haproxy_balance=roundrobin
indicator.ose.istio.ingress.route.metadata.annotations.haproxy_disable_cookies=true
# EGRESS-SE-HTTPS-SECMAN
indicator.ose.istio.egress.secman.enabled=${indicator.vault.enabled}
indicator.ose.istio.egress.secman.port=${indicator.vault.port}
indicator.ose.istio.egress.redirect.https.secman=${indicator.vault.port.redirect}
indicator.ose.istio.egress.serviceentry.secman.hosts=${indicator.vault.host}
indicator.ose.istio.egress.serviceentry.secman.protocol=HTTPS
indicator.ose.istio.egress.secman.vs.timeout=60s
indicator.ose.istio.egress.secman.vs.retries.attempts=3
indicator.ose.istio.egress.secman.circuitbreaker.enable=false
indicator.ose.istio.egress.secman.circuitbreaker.consecutive5xxErrors=3
indicator.ose.istio.egress.secman.circuitbreaker.interval=30s
indicator.ose.istio.egress.secman.circuitbreaker.baseEjectionTime=1m
indicator.ose.istio.egress.secman.circuitbreaker.maxEjectionPercent=100
### с интеграцией с SecMan
indicator.ose.istio.egress.common.ca=/etc/ssl/certs/caCertificates.pem
indicator.ose.istio.egress.common.privateKey=/vault/secrets/certs/client/privateKey.pem
indicator.ose.istio.egress.common.certificate=/vault/secrets/certs/client/clientCertificate.pem
#РазвертываниеEnvoyFilter Cluster для работы децентрализованного Synapse Rate Limiter Services (опционален, т.к. есть вариант установки самим SRLS)
ef-rls-cluster.deploy=false
ef-rls-cluster.spec.configPatches.patch.config.timeout=1s
ef-rls-cluster.spec.match.cluster.service=rate-limiter-headless-service.${indicator.ose.istio.namespace}.svc.cluster.local
ef-rls-cluster.spec.match.cluster.port=8081
#РазвертываниеEnvoyFilter Header для работы децентрализованного Synapse Rate Limiter Services (опционален, т.к. есть вариант установки самим SRLS)
ef-rls-header.deploy=false
ef-rls-header.metadata.shortname=importdash
ef-rls-header.spec.configPatches.routeConfiguration.endpoint=${indicator.ose.istio.ingress.route.spec.host.https.appFQDN}:${indicator.ose.istio.ingress.port}
ef-rls-header.spec.configPatches.actions.headername=pvm-project-id
Для файла настройки интеграции с PVM Журналирование indicator.logger.conf dictionary-config/md/indicator-vault-all-conf.md измените значение параметров:
#Docker образ logger (fluent-bit)
fluent-bit.ose.deployment.spec.template.spec.containers.fluent-bit.docker-image=${dockerRegistry}/sbt/ci90000078_loga/loga/fluent-bit@sha256:2b9eff98597cc54c8e72bf0fea48ed47fc84b37952391a3f79c14bd80572d68a
#Лимиты и запросы для Indicator Grafana
fluent-bit.ose.deployment.spec.template.spec.containers.fluent-bit.resources.limits.cpu=200m
fluent-bit.ose.deployment.spec.template.spec.containers.fluent-bit.resources.limits.memory=300Mi
fluent-bit.ose.deployment.spec.template.spec.containers.fluent-bit.resources.requests.cpu=200m
fluent-bit.ose.deployment.spec.template.spec.containers.fluent-bit.resources.requests.memory=300Mi
#Параметры брокеров и топика куда отбрасывается лог
fluent-bit.ose.configmaps.fluent-bit.data.brokers=host1:9093, host2:9093, host3:9093
fluent-bit.ose.configmaps.fluent-bit.data.topics=topicName
Задайте новые параметры:
#Параметры для ConfigMap файла /openshift/configmaps/fluent-bit.yaml
fluent-bit.ose.configmaps.fluent-bit.data.read-from-head=On
# с включенной интеграцией с Secman:
fluent-bit.ose.configmaps.fluent-bit.data.key.location=/vault/secrets/certs/private-key.pem
fluent-bit.ose.configmaps.fluent-bit.data.certificate.location=/vault/secrets/certs/cert.pem
fluent-bit.ose.configmaps.fluent-bit.data.ca.location=/etc/ssl/certs/caCertificates.pem
### fluent-controller - vault ###
### Если indicator.vault.enabled=true
### Здесь трафик должен идти через egress на 80 порт
fluent-controller.vault.config.uri=http://${indicator.vault.host}
fluent-controller.vault.config.auto_auth.method.namespace=${indicator.vault.config.auto_auth.method.namespace}
fluent-controller.vault.config.auto_auth.method.config.role=${indicator.vault.config.auto_auth.method.config.role}
fluent-controller.vault.config.auto_auth.method.mount_path=os/stands-vdc01.solution.sbt
fluent-controller.vault.config.auto_auth.method.authentication=kubernetes
# Перечитывать конфигурацию fluent-bit
logger.fluentbit-sidecar.conf.reload.enabled=true
# Использовать механизм Secman Hotreload
logger.fluentbit-sidecar.vault.reload.enabled=true
logger.fluentbit-sidecar.secret.cert.pem=$__vault{pki:DEV_DZO/PKI:role-ga-secman-inda-dev:apps.stands-vdc01.solution.sbt:certificate}
logger.fluentbit-sidecar.secret.private-key.pem=$__vault{pki:DEV_DZO/PKI:role-ga-secman-inda-dev:apps.stands-vdc01.solution.sbt:private_key}
#TTL в случае если используется движок PKI
fluent-controller.vault.pki.ttl=24h
Для настройки интеграции с системой управления секретами заполните в файле indicator.vault.all.conf измените значение параметров:
# Настройки интеграции с vault
indicator.vault.enabled=true
indicator.ose.deployment.spec.template.metadafta.annotations.vault.hashicorp.com.agent-image=
Задайте новые параметры:
### Secman Client в Indicator
indicator.vault.url=http://${indicator.vault.host}
indicator.vault.authentication_type=kubernetes
indicator.vault.namespace=${indicator.vault.config.auto_auth.method.namespace}
indicator.vault.kubernetes_token_path=/var/run/secrets/kubernetes.io/serviceaccount/token
indicator.vault.config.mount_path=os/stands-vdc01.solution.sbt
#кол-во миллисекунд для паузы, если соединение не установлено (ошибка)
indicator.vault.retry_sleep_ms=1000
#кол-во попыток соединения
indicator.vault.retry_cnt=3
#время в секундах, за которое должно состояться соединение, с учетом повторных попыток
indicator.vault.total_timeout_sec=60
#timeout в секундах для tls соединения
indicator.vault.tls_handshake_timeout_sec=10
#путь к сертификатам для подключения к SecMan. Т.к. в целевом виде идем через egress то по умолчанию они пустые
indicator.vault.ca_cert_path=
indicator.vault.client_key_path=
indicator.vault.client_cert_path=
indicator.vault.insecure_connection=false
#коэффициент (0-1) использования времени токена от ttl, после которого идет попытка обновления токена
indicator.vault.k_used_ttl_before_refresh=0.8
#добавочный коэффициент использования времени токена от ttl, после которого идет попытка обновления токена
#используется для определения случайного времени. Если 0, то случайное время не добавляется.
#формула UseDuration = ttl*k_used_ttl_before_refresh+jitter_max_used_ttl_before_refresh*ttl*random(0-1)
indicator.vault.jitter_max_used_ttl_before_refresh=0.1
#Метод в url вызываемый при запросе сертификата. Варианты issue (Vault), fetch (sberCA)
indicator.vault.pki_method=issue
#ttl (в секундах) запрашиваемого сертификата, если на задано, то ttl определяется настройками secman.
#Если ttl превышает max_ttl (в настройках secman), то будет использован max_ttl
indicator.vault.pki_ttl_sec=0
#время хранения секрета в кеше (кол-во секунд), при значении 0 кэш не работает и каждый раз идет запрос в secman
indicator.vault.cache_expiration_sec=300
#пауза (кол-во секунд) между интервалами запуска scheduler для обновления секретов
indicator.vault.scheduler_interval_sec=10
#Разрешение сохранения не шифровать пароли при сохранении в них нотаций при интеграции с secman
indicator.vault.allow_store_plain_password=true
#префикс используемый для поиска runtime секретов
indicator.vault.runtime.location.prefix=
#суффикс используемый для поиска runtime секретов (подставляется после проекта)
indicator.vault.runtime.location.suffix=
Если на этапе merger заменялись пути к образам sidecar(registry_path_istio, registry_path_ott, registry_path_vault), то необходимо проверить наличие переменных в common репозитории config/parameters/openShift.conf
При необходимости выполнить настройки с Secman
Обновление c 5.1.0 на 5.1.20#
После обновления конфигурационных файлов, в файле indicator.conf измените значение параметров:
#Максимальное количество подключений в пуле к БД Indicator, необходимо сверить значение параметра с результатами НТ, суммарное значение выделенных параметром INDICATOR_DB_MAX_IDLE_CONN не должно превышать значение max_connections на БД
#Рекомендованные значения: 50 при подключении напрямую к нескольким БД, 2 при подключении через pgBouncer/HAProxy
INDICATOR_DB_MAX_IDLE_CONN=50
Измените значение параметров:
#список каталогов который будет исключен при запуске индикатора (из каталога /plugins)
INDICATOR_REMOVE_FOLDERS_PLUGINS=almgr-alert-manager-app-r5-0,almgr-notification-manager-app-r5-0,pvm_inda_app_collector-r5-0,pvm_inda_app_new_logger-r5-0,pvm_inda_app_unimon_ui-r5-0,almgr-alert-manager-app-r4,almgr-notification-manager-app-r4,pvm_inda_app_unimon_ui-r4
Для файла настройки интеграции с внешними системами indicator.istio.all.conf.
Задайте новые параметры:
#JWT_POLICY политика использования токенов доступа ingress/egress
indicator.ose.istio.common.jwt-policy=third-party-jwt
#SE и DSR для DNS
indicator.ose.istio.dns.ports.virtual=8053
indicator.ose.istio.egress.smtp.internal.port=10025
# Флаг, который определяет установку EF для keycloak.
indicator.ose.istio.egress.authjwt.ef.deploy=false
#список алгоритмов через ","
indicator.ose.istio.egress.authjwt.ef.algorithm=ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-ECDSA-AES128-SHA,ECDHE-RSA-AES128-SHA,AES128-GCM-SHA256,AES128-SHA,ECDHE-ECDSA-AES256-GCM-SHA384,ECDHE-RSA-AES256-GCM-SHA384,ECDHE-ECDSA-AES256-SHA,ECDHE-RSA-AES256-SHA,AES256-GCM-SHA384,AES256-SHA
При обновлении версии с 5.0/5.1, до 5.1.20, если ранее уже был заполнен smtp сервер, и при обновлении порт нужно изменить на внутренний.
Для файла настройки интеграции с PVM Журналирование indicator.logger.conf dictionary-config/md/indicator-vault-all-conf.md измените значение параметров:
#Docker образ logger (fluent-bit)
fluent-bit.ose.deployment.spec.template.spec.containers.fluent-bit.docker-image=${dockerRegistry}/***/****_loga/loga/fluent-bit@sha256:HASH
#Параметры для ConfigMap файла /openshift/configmaps/fluent-bit.yaml
fluent-bit.ose.configmaps.fluent-bit.data.httpPort=9081
Обновление Плагинов, Datasources, Application в Indicator#
Обновление Плагинов, Datasources, Application в Indicator не производится в связи с тем, что необходимые настройки сервиса осуществляются при установке дистрибутива через Platform V DevOps Tools (DOT).
Обратная совместимость UI плагинов#
Для поддержки обратной совместимости UI плагинов при обновлении Indicator, добавлена возможность подключения плагина конкретной версии. Это возможно сделать с помощью параметра INDICATOR_REMOVE_FOLDERS_PLUGINS.
#список каталогов который будет исключен при запуске индикатора (из каталога /plugins)
INDICATOR_REMOVE_FOLDERS_PLUGINS=almgr-alert-manager-app-r4,almgr-notification-manager-app-r4,pvm_inda_app_unimon_ui-r4
Логика работы следующая: в параметре перечислены имена каталогов плагинов которые будут исключены при запуске Indicator, разделитель запятая.
Пример, когда это может быть необходимо:
Обновляется Indicator на версию 5.0.x, при этом alert manager и unimon/bamn остается версии 4.0.x, тогда параметр INDICATOR_REMOVE_FOLDERS_PLUGINS=almgr-alert-manager-app,almgr-notification-manager-app,pvm_inda_app_unimon_ui
После обновления alert manager и unimon/bamn на версию 5.0.x, необходимо установить индикатор, с измененным значением - almgr-alert-manager-app-r4,almgr-notification-manager-app-r4,pvm_inda_app_unimon_ui-r4