Настройка файла values-app компонента#

Общее представление файла: values-app.yaml

Основные принципы разделения данных по файлам values-*.yaml#

  • values-app.yaml представляет из себя файл с общими данными компонента abyss;

  • Данные используются в чартах в том виде, как они инициализированы в файле values-app, а также могут быть переопределены в файлах values-abyss-*.yaml самих чартов.

  • Файлы чартов values-abyss-<module>.yaml содержат значения атрибутов и включение/отключение опций тонких настроек сервисов и служб, которые нельзя вынести в общий файл.

  • Стендозависимые параметры необходимо переопределять в дополнительных файлах, которые будут относится к определенному окружению стенда.

  • Подробнее об общих принципах переопределения параметров по файлам написано во втором разделе документа Работа с дистрибутивом конфигураций на базе HELM с описанием основных принципов работы с данными в helm-конфигурации.

Для удобства в файле будут использоваться пути до параметров в плоской структуре, т.е. описание использования следующих параметров:

global:
    section:
        block1:
            param1: <value1>
        block2:
            param1: <value2>
            param2: <value3>

может выглядеть таким образом:

global.section.block1.param1
global.section.block2.param1
global.section.block2.param2

или в нотации Helm:

.Values.global.section.block1.param1
.Values.global.section.block2.param1
.Values.global.section.block2.param2

Общие вспомогательные и технические параметры#

Верхний блок параметров файла values-app.yaml является вспомогательным, и касается следующих настроек:

global:
  helm:
    ### Наименование секртов для спуливания образа из реджистера
    imagePullSecrets:
    - name: omdevops-image-pull
    ### Дополнительные сервисные описания для добавления информации об установке дистрибутива
    additionalLabels:
      distr_version: "{{ .Values.global.release.version }}"
      ### Добавляем label deploy_date, для принудительного обновления релиза - через rollout
      deploy_date: "{{ now | date \"2006-*****-05\" }}"
      service_group: abyss
      jenkinsDeployUser: '{{ .Values.global.jenkins.jenkinsDeployUser }}'
    ### Блок настроек для сервисной сети Platform V Synapse Service Mesh
    istio:
      ### Уровень логирования logLevel для конфигурации ingress-, egress-компонентов Platform V Synapse Service Mesh
      ingressGateway:
        logLevel: warning
      egressGateway:
        logLevel: warning
      ### Тип контрольной панели для проксирования и настройки марщрутизации трафика
      controlPlane:
        # ssm - Synapse Service Mesh
        type: ssm
    ### Тип кластера для установки(ose = Platform V DropApp, k8s = Kubernetes. Переключает параметры рендера для INGRESS, ROUTE, HPA и т.д.)
    cluster:
      ### (ose = Platform V DropApp, k8s = Kubernetes. Переключает параметры рендера для INGRESS / ROUTE, HPA и т.д.)
      provider: k8s

Требуется актуализировать параметр: global.helm.imagePullSecrets.name, указав актуальное имя секрета для скачивания образов из хранилища.

Требуется переопределение параметров: не требуется

Параметры приложения#

Параметры приложения начинаются с секции global.helm.appOpts.abyss. Далее в секции будут перечислены логические блоки конфигураций различных сервисов.

Включение Ingress правил для публикаций API через Ingress - для автоматизированного тестирования#

global:
  helm:
    appOpts:
      apitests:
        enabled: true

Требуется актуализировать параметр: global.helm.appOpts.abyss.apitests.enabled - выключить/включить правила для публикаций API через Ingress

Требуется переопределение параметров: не требуется

Включение функциональности Lease в Platform V DropApp#

global:
  helm:
    appOpts:
      abyss:
        lease:
          ### Автоматическое создание k8s Role и RoleBinding для leaderElecting
          k8s_roles:
            enabled: false
          k8s_deploy:
            enabled: false

Требуется актуализировать параметры: не требуется

Требуется переопределение параметров:

  • global.helm.appOpts.abyss.lease.k8s_roles.enabled - Генерация k8s yaml-манифестов для создания ролей Lease;

  • global.helm.appOpts.abyss.lease.k8s_deploy.enabled - Генерация k8s yaml-манифестов Lease.

Блок настроек для Аудита#

  ### Параметры аудита 
  audit:
    ### Включение/выключение аудита
    enabled: 'false'
    ### Режим аудит клиента. Допустимые значения - SYNC, KAFKA, ASYNC. 
    ### ASYNC - асинхронный REST клиент, SYNC - синхронный REST клиент, KAFKA - Kafka клиент
    client_type: ASYNC
    ### ContextPath для URL COTE публикации событий аудита
    ### Формат URL 'protocol://host:port{{ .Values.global.helm.appOpts.abyss.audit.rest_sub_path }}'
    ### где protocol, host, post - параметры блока global.endpoints.egress.audit файла values-env.yaml
    rest_sub_path: /
    ### Параметры kafka аудита
    kafka:
      ### Имя топика Kafka для мониторинга доступности кластера Kafka (abyss.audit.kafka.client.health-check-topic)
      health_check_topic: abyss.coordinator_audit_health_check
      ### Время ожидания подтверждения от Kafka брокера об успешной доставке сообщения
      producer_delivery_timeout_ms: '120000'
      ### Имя топика для публикации событий аудита (abyss.audit.kafka.client.producer.kafka-event-topic-name)
      producer_kafka_event_topic_name: abyss.coordinator_audit_events
      ### Имя топика для публикации метамодели (abyss.audit.kafka.client.producer.kafka-metamodel-topic-name)
      producer_kafka_metamodel_topic_name: abyss.coordinator_audit_metamodels
      ### Время ожидания перед отправкой набора записей (batch) на Kafka брокер
      producer_linger_ms: '10'
      ### Время ожидания выполнения запроса к брокеру Kafka
      producer_request_timeout_ms: '30000'
      ### Количество попыток повторной отправки сообщения в случае неудачной отправки или ошибки при передаче данных
      producer_retry_attempts: '3'
      ### Идентификатор исходной системы (AS)
      source_system: tengri
      ### Флаг, включающий синхронный режим отправки сообщений в Kafka
      sync_send_enabled: 'true'
      ### Протокол для подключения к Kafka. Возможные варианты: SSL, PLAINTEXT, SASL_PLAINTEXT, SASL_SSL
      security_protocol: PLAINTEXT
    ### Название модуля метамодели аудита
    metamodel_module: abyss

Требуется актуализировать параметры:

  • global.helm.appOpts.abyss.audit.enabled - Включение/выключение аудита

  • global.helm.appOpts.abyss.audit.client_type - Режим аудит клиента. Допустимые значения - SYNC, KAFKA, ASYNC.

  • global.helm.appOpts.abyss.audit.rest_sub_path - ContextPath для URL COTE публикации событий аудита

  • global.helm.appOpts.abyss.audit.kafka.health_check_topic - Имя топика Kafka для мониторинга доступности кластера Kafka

  • global.helm.appOpts.abyss.audit.kafka.producer_kafka_event_topic_name - Имя топика для публикации событий аудита

  • global.helm.appOpts.abyss.audit.kafka.producer_kafka_metamodel_topic_name - Имя топика для публикации метамодели

  • global.helm.appOpts.abyss.audit.kafka.source_system - Идентификатор исходной системы (AS)

  • global.helm.appOpts.abyss.audit.kafka.security_protocol - Протокол для подключения к Kafka

Требуется переопределение параметров: возможно всех из перечисленных для актуализации.

Список модулей и файлов в них, в которых переопределены данные параметры (формат <модуль/файл values-*.yaml>):

  • abyss-archive/values-abyss-archive.yaml

  • abyss-authorization/values-abyss-authorization.yaml

  • abyss-base/values-abyss-base.yaml

  • abyss-client-api/values-abyss-client-api.yaml

  • abyss-flow/values-abyss-flow.yaml

  • abyss-fulltext-index/values-abyss-fulltext-index.yaml

  • abyss-kafka-svc/values-abyss-kafka-svc.yaml

  • abyss-monitoring/values-abyss-monitoring.yaml

  • abyss-trace-collector/values-abyss-trace-collector.yaml

  • abyss-trace-query/values-abyss-trace-query.yaml

Таким образом, переопределение параметров возможно как и для глобальных настроек из values-app.yaml:

global:
  helm:
    appOpts:
      abyss:
        audit:
          client_type: 'KAFKA'
          enabled: 'true'
          rest_sub_path: '/push/project/audit_pvm/split-by-ott'

Так и для настроек файлов чарта, учитывая структуру этих файлов:

abyss-base:
  helm:
    appOpts:
      abyss:
        audit:
          client_type: 'KAFKA'
          enabled: 'true'
          rest_sub_path: '/push/project/audit_pvm/split-by-ott'

Блок настроек authentication#

authentication:
  ### Включение/выключение аутентификации по сертификату
  certificate_authentication_enabled: 'true'
  ### Параметр, определяющий необходимость доставать сертификат из заголовка sslClientCertHeader
  certificate_get_cert_from_header: 'true'
  ### Тип аутентификации для подключения к OIDC провайдеру, возможные значения: SECRET, SECRET_AND_JWK common.auth.type
  type: SECRET_AND_JWK
  ### Пароль, используется для проверки подписи токена
  secret: ''

Требуется актуализировать параметры:

  • global.helm.appOpts.abyss.authentication.certificate_authentication_enabled - Включение/выключение аутентификации по сертификату (используются в application.properties)

  • global.helm.appOpts.abyss.authentication.certificate_get_cert_from_header - Параметр, определяющий необходимость доставать сертификат из заголовка sslClientCertHeader (используются в application.properties)

  • global.helm.appOpts.abyss.authentication.type - Тип аутентификации для подключения к OIDC провайдеру

  • global.helm.appOpts.abyss.authentication.secret - Пароль, используется для проверки подписи токена

Требуется переопределение параметров: возможно всех из перечисленных для актуализации.

Следующие параметры переопределены в файлах конфигураций модулей компонента:

  • global.helm.appOpts.abyss.authentication.type - Тип аутентификации для подключения к OIDC провайдеру

  • global.helm.appOpts.abyss.authentication.secret - Пароль, используется для проверки подписи токена

Список модулей и файлов в них, в которых переопределены данные параметры (формат <модуль/файл values-*.yaml>):

  • abyss-archive/values-abyss-archive.yaml

  • abyss-base/values-abyss-base.yaml

  • abyss-client-api/values-abyss-client-api.yaml

  • abyss-flow/values-abyss-flow.yaml

  • abyss-fulltext-index/values-abyss-fulltext-index.yaml

  • abyss-kafka-svc/values-abyss-kafka-svc.yaml

  • abyss-monitoring/values-abyss-monitoring.yaml

  • abyss-trace-query/values-abyss-trace-query.yaml

Таким образом, переопределение параметров возможно как и для глобальных настроек из values-app.yaml:

global:
  helm:
    appOpts:
      abyss:
        authentication:
          secret: '$__vault{kv:A/DEMO/STAND/PROJECT/KV:common:common.auth.demo}'

Так и для настроек файлов чарта, учитывая структуру этих файлов:

abyss-flow:
  helm:
    appOpts:
      abyss:
        authentication:
          secret: '$__vault{kv:A/DEMO/STAND/PROJECT/KV:common:common.auth.demo}'

Блок настроек authorization#

 ### Параметры сервиса authorization
 authorization:
   ### Хост, на котором расположен сервис авторизации (свойство common.pvm-security.host)
   host: abyss-authorization-{{ template "lib-chart-pvm.namespace-sha1-hash.tpl" $ }}
   ### Порт, на котором будет запущен сервис авторизации
   port: '8181'
   ### Максимальное количество переподключений к сервису авторизации (свойство common.pvm-security.max-retries)
   max_retries: '2'
   ### Ключ для шифрования API (свойство service.pvm.encoder.demo)
   encoder_secret: ''
   ### Список админов пользователей (свойство service.pvm.security.admin-names-list)
   admin_names_list: ''
   ### Имя пользователя для подключения к сервису авторизации
   user: ''
   ### Пароль для подключения к сервису авторизации 
   password: ''
   ### Имя пользователя с правами на просмотр
   users_viewer_name: ''
   ### Имя пользователя с правами администратора
   users_admin_name: ''
   ### Пароль пользователя с правами администратора
   users_admin_password: ''

Требуется актуализировать параметры:

  • global.helm.appOpts.abyss.authorization.port - Порт, на котором будет запущен сервис авторизации

  • global.helm.appOpts.abyss.authorization.encoder_secret - Ключ для шифрования API

  • global.helm.appOpts.abyss.authorization.admin_names_list - Список админов пользователей

  • global.helm.appOpts.abyss.authorization.users_viewer_name - Имя пользователя с правами на просмотр

  • global.helm.appOpts.abyss.authorization.user - Имя пользователя для подключения к сервису авторизации

  • global.helm.appOpts.abyss.authorization.password - Пароль для подключения к сервису авторизации

  • global.helm.appOpts.abyss.authorization.users_admin_name - Имя пользователя с правами администратора

  • global.helm.appOpts.abyss.authorization.users_admin_password - Пароль пользователя с правами администратора

Требуется переопределение параметров: возможно всех из перечисленных для актуализации.

Следующие параметры переопределены в файлах конфигураций модулей компонента:

  • global.helm.appOpts.abyss.authorization.host

  • global.helm.appOpts.abyss.authorization.max_retries

  • global.helm.appOpts.abyss.authorization.password

  • global.helm.appOpts.abyss.authorization.port

  • global.helm.appOpts.abyss.authorization.user

Список модулей и файлов в них, в которых переопределены данные параметры (формат <модуль/файл values-*.yaml>):

  • abyss-archive/values-abyss-archive.yaml

  • abyss-base/values-abyss-base.yaml

  • abyss-client-api/values-abyss-client-api.yaml

  • abyss-flow/values-abyss-flow.yaml

  • abyss-fulltext-index/values-abyss-fulltext-index.yaml

  • abyss-kafka-svc/values-abyss-kafka-svc.yaml

  • abyss-monitoring/values-abyss-monitoring.yaml

  • abyss-trace-query/values-abyss-trace-query.yaml

Например, в файле abyss-authorization/values-abyss-authorization.yaml набор параметров блока расширен и выглядит следующим образом:

    authorization:
      admin_names_list: '{{ tpl (.Values.global.helm.appOpts.abyss.authorization.admin_names_list) $ }}'
      api_paths_additional_public: ''
      application_name: pvm_authorization_service
      auth_type: BASIC
      certificates_server_enabled: 'false'
      encoder_secret: '{{ tpl (.Values.global.helm.appOpts.abyss.authorization.encoder_secret) $ }}'
      liquibase_changelog: classpath:/db/changelog/changelog-master.xml
      liquibase_enabled: 'true'
      liquibase_password: ''
      liquibase_user: ''
      port: '8181'
      search_max_users_to_return: '50'
      search_min_mask_length: '5'
      server_jetty_threads_max: '200'
      user_catalog_ldap_cast_to_lower_case: 'false'
      user_catalog_type: LOCAL
      users_admin_name: '{{ tpl (.Values.global.helm.appOpts.abyss.authorization.users_admin_name) $ }}'
      users_admin_password: '{{ tpl (.Values.global.helm.appOpts.abyss.authorization.users_admin_password) $ }}'
      users_viewer_name: '{{ tpl (.Values.global.helm.appOpts.abyss.authorization.users_viewer_name) $ }}'
      users_viewer_password: ''

Для перечисленных параметров переопределение возможно как и для глобальных настроек из values-app.yaml:

global:
  helm:
    appOpts:
      abyss:
        authentication:
          secret: '$__vault{kv:A/DEMO/TEST/KVnewConfigs/ST:global:common.auth.demo}'
        authorization:
          encoder_secret: '$__vault{kv:A/DEMO/TEST/KVnewConfigs/ST/coordinator:pvm_auth:service.pvm.encoder.demo}'
          password: '$__vault{kv:A/DEMO/TEST/KVnewConfigs/ST:global:common.pvm-security.demo}'
          user: '$__vault{kv:A/DEMO/TEST/KVnewConfigs/ST:global:common.pvm-security.demo}'
          users_admin_name: '$__vault{kv:A/DEMO/TEST/KVnewConfigs/ST:global:common.pvm-security.demo}'
          users_admin_password: '$__vault{kv:A/DEMO/TEST/KVnewConfigs/ST:global:common.pvm-security.demo}'

Так и для настроек файлов чарта, учитывая структуру этих файлов:

abyss-authorization:
  helm:
    appOpts:
      abyss:
        authorization:
          users_viewer_name: '$__vault{kv:A/DEMO/TEST/KVnewConfigs/ST:global:common.pvm-security.demo}'
          users_viewer_password: '$__vault{kv:A/DEMO/TEST/KVnewConfigs/ST:global:common.pvm-security.demo}'

Блок настроек common:#

common:
  ### Путь к приложению
  app_basepath: 'coordinator'
  ### Параметры springdoc для поиска api-doc и исключения путей из поиска
  springdoc_api_docs_path: /api
  springdoc_paths_to_exclude: /swagger-resources/**
  springdoc_swagger_ui_path: /api/doc
  ### Идентификатор зоны на которую настроен сервис. Возможные значения: PRIMARY, SECONDARY
  zone_id: PRIMARY
  ### Параметр для определения пути к конфигурации приложения (переменные окружения SERVICE_CONFIG, COLLECTOR_CONFIG)
  application_property_path: '/app/config/application.properties'
  ### Параметр для опредеоения пути к конфигурации logback (переменные окружения LOGGING_CONFIG)
  logback_path: '/app/config/logback-spring.xml'

Требуется актуализировать параметры:

  • global.helm.appOpts.abyss.common.app_basepath - Путь к приложению

  • global.helm.appOpts.abyss.common.springdoc_api_docs_path - Параметры springdoc для поиска api-doc и исключения путей из поиска

  • global.helm.appOpts.abyss.common.springdoc_paths_to_exclude - Параметры springdoc для поиска api-doc и исключения путей из поиска

  • global.helm.appOpts.abyss.common.springdoc_swagger_ui_path - Параметры springdoc для поиска api-doc и исключения путей из поиска

  • global.helm.appOpts.abyss.common.zone_id - Идентификатор зоны на которую настроен сервис

Требуется переопределение параметров: возможно всех из перечисленных для актуализации.

Список модулей и файлов в них, в которых переопределены данные параметры (формат <модуль/файл values-*.yaml>):

  • abyss-archive/values-abyss-archive.yaml

  • abyss-base/values-abyss-base.yaml

  • abyss-client-api/values-abyss-client-api.yaml

  • abyss-flow/values-abyss-flow.yaml

  • abyss-fulltext-index/values-abyss-fulltext-index.yaml

  • abyss-kafka-svc/values-abyss-kafka-svc.yaml

  • abyss-monitoring/values-abyss-monitoring.yaml

  • abyss-trace-query/values-abyss-trace-query.yaml

Например, в файле abyss-authorization/values-abyss-authorization.yaml набор параметров блока расширен и выглядит следующим образом::

  common:
    api_basepath: v1
    app_basepath: ''
    configuration_advanced: ''
    springdoc_api_docs_path: '{{ tpl (.Values.global.helm.appOpts.abyss.common.springdoc_api_docs_path) $ }}'
    springdoc_paths_to_exclude: '{{ tpl (.Values.global.helm.appOpts.abyss.common.springdoc_paths_to_exclude) $ }}'
    springdoc_swagger_ui_path: '{{ tpl (.Values.global.helm.appOpts.abyss.common.springdoc_swagger_ui_path) $ }}'

Пример переопределения параметров из файла abyss-trace-collector/values-abyss-trace-collector.yaml:

  common:
    configuration_advanced: ''
    springdoc_api_docs_path: '{{ tpl (.Values.global.helm.appOpts.abyss.common.springdoc_api_docs_path) $ }}'
    springdoc_paths_to_exclude: '{{ tpl (.Values.global.helm.appOpts.abyss.common.springdoc_paths_to_exclude) $ }}'
    springdoc_swagger_ui_path: '{{ tpl (.Values.global.helm.appOpts.abyss.common.springdoc_swagger_ui_path) $ }}'

Таким образом, переопределение параметров возможно как и для глобальных настроек из values-app.yaml:

global:
  helm:
    appOpts:
      abyss:
        common:
          zone_id: SECONDARY

Так и для настроек файлов чарта, учитывая структуру этих файлов:

abyss-authorization:
  helm:
    appOpts:
      abyss:
        common:
          springdoc_api_docs_path: test
          springdoc_paths_to_exclude: test

Блок настроек common.discovery:#

  • Параметры представляют из себя список общих хостов для внутренней работы кластера с мастер-подами.

  • Актуализация и переопределение не требуется

### Определяет, каким способом будет происходить регистрация сервисов, с помощью ZooKeeper или же статически, используя готовый список хостов. Возможные значения: ZOOKEEPER, K8S.
discovery:
  type: "ZOOKEEPER"
  ### Параметры подключения к zookeeper (Discovery/Leader-Election)
  zk_opts:
    cluster_selector: "cluster1"
    acl_enabled: "false"
    discovery_path: "/abyss_dap_{{ .Values.global.helm.appOpts.abyss.common.zone_id | lower }}"
    retry_interval_ms: "10000"
    leadership_enabled: "true"
    balancing_prefer_mode: "NONE"
    ### Параметры использования headless-services не требуют изменений
    endpoints:
      headles_service_client_api_server: "abyss-client-api-headless:8181"
      headles_service_archive_service: "abyss-archive-headless:8181"
      headles_service_full_text_index_server: "abyss-fulltext-index-headless:8181"
      headles_service_monitoring_server: "abyss-monitoring-headless:8181"
      headles_service_flow_server: "abyss-flow-headless:8181"
      headles_service_kafka_server: "abyss-kafka-svc-headless:8181"
      headles_service_trace_query_server: "abyss-trace-query-headless:8181"
      headles_service_pvm_base_server: "abyss-base-headless:8181"
  ### Параметры k8s-lease для реализации Discovery/Leader-Election
  k8s_opts:
    ### Xосты k8s сервисов в формате {svc_name}:{port}
    endpoints:
      leader:
        archive_service: "leader-abyss-archive-{{ template \"lib-chart-pvm.namespace-sha1-hash.tpl\" $ }}:8181"
        flow_server: "leader-abyss-flow-{{ template \"lib-chart-pvm.namespace-sha1-hash.tpl\" $ }}:8181"
        full_text_index_server: "leader-abyss-fulltext-index-{{ template \"lib-chart-pvm.namespace-sha1-hash.tpl\" $ }}:8181"
        kafka_server: "leader-abyss-kafka-svc-{{ template \"lib-chart-pvm.namespace-sha1-hash.tpl\" $ }}:8181"
        monitoring_server: "leader-abyss-monitoring-{{ template \"lib-chart-pvm.namespace-sha1-hash.tpl\" $ }}:8181"
      main:
        archive_service: "abyss-archive-{{ template \"lib-chart-pvm.namespace-sha1-hash.tpl\" $ }}:8181"
        client_api_server: "abyss-client-api-{{ template \"lib-chart-pvm.namespace-sha1-hash.tpl\" $ }}:8181"
        flow_server: "abyss-flow-{{ template \"lib-chart-pvm.namespace-sha1-hash.tpl\" $ }}:8181"
        full_text_index_server: "abyss-fulltext-index-{{ template \"lib-chart-pvm.namespace-sha1-hash.tpl\" $ }}:8181"
        kafka_server: "abyss-kafka-svc-{{ template \"lib-chart-pvm.namespace-sha1-hash.tpl\" $ }}:8181"
        monitoring_server: "abyss-monitoring-{{ template \"lib-chart-pvm.namespace-sha1-hash.tpl\" $ }}:8181"
        pvm_base_server: "abyss-base-{{ template \"lib-chart-pvm.namespace-sha1-hash.tpl\" $ }}:8181"
        trace_query_server: "abyss-trace-query-{{ template \"lib-chart-pvm.namespace-sha1-hash.tpl\" $ }}:8181

Требуется актуализировать параметры:

  • global.helm.appOpts.abyss.common.discovery.type - Определяет, каким способом будет происходить регистрация сервисов

  • global.helm.appOpts.abyss.common.discovery.zk_opts.cluster_selector - Определение селектора кластера в блоке global.endpoints.egress.abysszk

  • global.helm.appOpts.abyss.common.discovery.zk_opts.acl_enabled - Включение проверки ACL

  • global.helm.appOpts.abyss.common.discovery.zk_opts.discovery_path - Путь хранения в zookeeper

  • global.helm.appOpts.abyss.common.discovery.zk_opts.retry_interval_ms - Интервал повтора в мс

  • global.helm.appOpts.abyss.common.discovery.zk_opts.leadership_enabled - Включение функционала выбора лидера (leader-election)

Требуется переопределение параметров: возможно всех из перечисленных для актуализации.

Блок настроек common.vault:#

### Xосты k8s сервисов в формате {svc_name}:{port}
vault:
  ### Включение интеграции с сервисом
  enabled: 'true'
  ### Namespace секретов
  namespace: DEV
  ### Время ожидания подключения в миллисекундах
  connection_timeout: '5000'
  ### Время ожидания чтения в миллисекундах
  read_timeout: '15000'
  ### Список параметров для kubernetes
  kubernetes:
    ### Имя кластера kubernetes
    methodPath: k8s/dap.devpub-01.solution.sbt
    ### Путь до секретов KV
    path: A/ST/OMSTADM/LGDB/KV
    ### Роль для доступа к секретом
    role: role-ga-secman-abyss
    ### Тип аутентификации
    authentication: kubernetes
    ### Путь до токена SA kubernetes
    token:
      location: /var/run/secrets/kubernetes.io/serviceaccount/token
  ### Блок настроек по PKI, KV
  defaultPkiOpts:
    ### Время жизни сертификата в формате ISO8601
    pkiTtl: 24h
    ### Формирование PKI пути по формату - NS_NAME/PKI/issue/role-ga-example
    fullPkiPath: "{{ .Values.global.helm.appOpts.abyss.common.vault.namespace }}/PKI/issue/{{ .Values.global.helm.appOpts.abyss.common.vault.kubernetes.role }}"

Требуется актуализировать параметры:

  • global.helm.appOpts.abyss.common.vault.namespace

  • global.helm.appOpts.abyss.common.vault.kubernetes.methodPath

  • global.helm.appOpts.abyss.common.vault.kubernetes.path

  • global.helm.appOpts.abyss.common.vault.kubernetes.role

Требуется переопределение параметров: да

Список модулей и файлов в них, в которых переопределены данные параметры (формат <модуль/файл values-*.yaml>):

  • abyss-archive/values-abyss-archive.yaml

  • abyss-authorization/values-abyss-authorization.yaml

  • abyss-base/values-abyss-base.yaml

  • abyss-client-api/values-abyss-client-api.yaml

  • abyss-flow/values-abyss-flow.yaml

  • abyss-fulltext-index/values-abyss-fulltext-index.yaml

  • abyss-kafka-svc/values-abyss-kafka-svc.yaml

  • abyss-monitoring/values-abyss-monitoring.yaml

  • abyss-trace-collector/values-abyss-trace-collector.yaml

  • abyss-trace-query/values-abyss-trace-query.yaml

Переопределение параметров возможно только для глобальных настроек из values-app.yaml:

global:
  helm:
    appOpts:
      abyss:
        common:
          vault:
            namespace: 'TEST_CLUSTER'
            kubernetes:
              methodPath: k8s/dap.domain-01

Остальные параметры блока Vault логически разделены на использование двух типов секретов (KV и PKI), например, для базы данных:

  db:
    kv:
      ### Имя секрета KV cert секрета
      certObjectName: "cert.pem"
      ### Имя секрета KV key секрета
      keyObjectName: "key.pem"
      ### Путь до KV секрета
      path: "A/EXAMPLE/PATH/PROJECT/KV/example-db"
    pki:
      ### Если true - pki, иначе режим kv
      enabled: true
      ### Дополнительные altNames, берём оставшиеся из списка (.Values.global.endpoints.ingress.abyss.ui.hosts) + (.Values.global.endpoints.ingress.abyss.geo.hosts) ###
      altNames: '{{ printf "%s,%s" ((.Values.global.endpoints.ingress.abyss.ui.hosts) | join ",") ((.Values.global.endpoints.ingress.abyss.geo.hosts) | join ",") }}'
      ###  Если используется first... - Используется основное имя нашей инсталляции, первый элемент списка из - (.Values.global.endpoints.ingress.abyss.ui.hosts) ###
      cn: "{{ first (.Values.global.endpoints.ingress.abyss.ui.hosts) }}"

В таких блоках необходимо актуализировать параметры:

  • global.helm.appOpts.abyss.common.vault.<block_name>.kv.path

  • global.helm.appOpts.abyss.common.vault.<block_name>.pki.enabled

  • global.helm.appOpts.abyss.common.vault.<block_name>.pki.cn

Блок настроек common.fluentBitSidecar:#

### Основные параметры сервиса Fluent-bit
fluentBitSidecar:
  logger:
    ### Блок указания kafka clusterSelector, в случае если в .Values.global.endpoints.egress.kafka.service - несколько вложенных кластеров и мы хотим использовать конкретный.
    ### Если enabled - в состоянии false - по умолчинаю используется первый в алфавитном порядке.
    kafka:
      clusterSelector:
        ### Включение данного параметра, будет использовать имя кластера из .Values.global.endpoints.egress.kafka.service - а не первый в алфавитном порядке
        enabled: true
        ### В данном случае cluster1 - соответствует .Values.global.endpoints.egress.kafka.service.cluster1
        clusterId: cluster1
    ### Флаг переключения трафика fluentbit в vault через egress (false - подключение к vault будет осуществляться напрямую)
    connection:
      egress:
        enabled: true
    ### Параметры конфигурации fluent-bit
    http:
      ### Запуск сервера HTTP на listenIP для прослушивания сетевых интерфейсов
      listenIp: 0.0.0.0
      ### Запуск сервера HTTP на listenPort для прослушивания сетевых интерфейсов
      listenPort: 9081
    ### Параметры входящих экземпляров журналирования
    input:
      ### Путь до файлов с логом
      logPath: "/app/logs/log_*.json"
      ### Ограничения на размер экземпляра файла с логами
      memBufLimit: 10MB
      ### Флаг чтения файлов логирования с начала (On - читать с начала, Off - с конца)
      readFromHead: "On"
      ### Настройка для входящих экземпляров с тегом из параметра client_api_second_options.input.tag
      client_api_second_options:
        input:
          ### Путь до файлов с логом
          logPath: '/app/logs/query_journal_log_*.json'
          tag: file.tail.query
    ### Параметры исходящих экземпляров журналирования
    output:
      ### Формат файла журналирования
      logFormat: json
      ### Маска по которой в output будут выведены логи
      match: "*"
      ### Тип вывода файлов логов для записей в Apache Kafka 
      name: kafka
      ### Параметры очередни сообщений
      queue:
        buffering:
          maxKbytes: 5120
    ### Поля для фильтрации данных журнала
    injectFields:
      hostName: abyss
      podName: "${POD_NAME}"
      podNamespace: "${POD_NAMESPACE}"
    tls:
      ### Путь до сертификатов
      certPath: /vault/secrets/certs/

Требуется актуализировать параметры: нет

Требуется переопределение параметров: нет

Блок настроек common.tls#

  ### Основные параметры TLS-соединений
  tls:
    ### Путь до сертификата УЦ
    caCert: /etc/ssl/certs/caCertificates.pem
    ### Путь до цепочки сертификатов
    cert: /vault/secrets/certs/cert.pem
    ### Путь до приватного ключа
    privateKey: /vault/secrets/certs/private-key.pem

Требуется актуализировать параметры: нет

Требуется переопределение параметров: нет

Блок параметров common.ott#

### Основные параметры сервиса OTT
ott:
  options:
    ### Уровень логирования в egress
    egwlogLevel: INFO
    ### Уровень логирования в ingress
    igwlogLevel: INFO
    ### Url сервиса, используется в параметре OTT_SERVICE_URL
    url: https://stub-host:stub-port/ott-service/rest/token
    ### GRPC-порт, используется в параметре OTT_GRPC_PORT
    grpcPort: /mnt/ott-uds-socket/ott.socket
    ### HTTP-порт, параметр OTT_HTTP_PORT
    httpPort: "8090"
    ### Тип хранения сертификатов, параметр OTT_CERTSTORE_TYPE
    type: PEM
    ### Режим работы egress, параметр OTT_OPER_MODE
    egwOperMode: sign
    ### Режим работы ingress, параметр OTT_OPER_MODE
    igwOperMode: validate
    ### Режим совместимости с MMT, параметр OTT_CLIENT_MMT-COMPATIBILITY-MODE
    mmtCompatibilityMode: "false"
    ### Идентификатор модуля OTT, параметр OTT_MODULE_ID 
    module: "{{ ternary (first (.Values.global.endpoints.ingress.abyss.ui.hosts)) \"abyss\" (.Values.global.helm.appOpts.abyss.common.vault.ott.pki.enabled) }}"
    ### Имя аккаунта OTT_CLIENT_BILLING_ACCOUNT
    billingAccount: pvm
    ### Путь монтирования MANAGEMENT_HEALTH_DISKSPACE_PATH
    healthDiskSpacePath: /mnt
    ### Время ожидания старта сервиса в мс
    startWaitInMillis: 10000
    ### Java-опции для запуска сервиса
    javaOpts:
      ### Профиль spring
      profile: PROM
      ### Расположение временных файлов
      tmp: /tmp
      ### Параметры запуска Java-приложения
      args: "-Dlogging.config=/mnt/ott-logback/logback.xml -Dspring.profiles.active=probes -XX:+UseContainerSupport -XX:MaxRAMPercentage=55.0"
    ### Запуск сервиса в анонимном режиме (параметр OTT_ANONYMOUS_REQUESTS_ENABLED)
    requests:
      enabled: "false"
    ### Далее перечислены основные атрибуты конфигурации сервиса
    attribute:
      ### Параметр OTT_CLIENT_MMT_ACTION_ATTRID
      clientId: "urn:sbrf:names:pprb:1.0:action:id"
      ### Параметр OTT_APPLICATION_ATTRIBUTE_ID
      applicationId: "urn:sbrf:names:pprb:1.0:module:id"
      ### Параметр OTT_CLIENT_MMT_RESOURCE_ATTRID
      resource: "urn:sbrf:names:pprb:1.0:api:interface:fullname"
    certs:
      ### Условие использование сертификатов 
      ottModuleCrtEnable: true
      ### Параметр OTT_SERVICE_CRT )(если ottModuleCrtEnable=true, ott.pki.enabled=false)
      serviceCrt: /vault/secrets/certs/ott/ottService.pem
      ### Период обновления кэша сертификатов сервиса OTT, параметр OTT_SERVICE_CLIENT_TRUSTED_CRT_RATE
      trustedRate: 60
    authz:
      ### Имя служебного realm для подключения аварийного fallback-токена, параметр OTT_AUTHZ_REALM
      authRealm: ott
      ### Realm для авторизации потребителя, параметр OTT_CLIENT_DEFAULT_REALM
      defaultRealm: mmt
      ### Включение авторизации на провайдере, параметр OTT_AUTHZ_PROVIDER_MODE
      providerMode: "true"
      ### Версия API-сервера, параметр OTT_AUTHZ_VERSION (2.0 - без передачи клиентского сертификата, 3.0 - с передачей)
      version: "2.0"
    hotReload:
      ### Включение hotReload, параметр OTT_SIDECAR_HOTRELOAD_ENABLED
      enabled: "true"
      secret:
        ### Время обновления секретов, мс. По умолчанию - 3 мс, параметр OTT_SIDECAR_HOTRELOAD_SECRET_REFRESHING_WINDOW
        refreshingWindow: 3
        ### Интервал после обновления, в течение которого приложение ожидает его завершения после обновления secrets, мс. По умолчанию - 4 мс, параметр OTT_SIDECAR_HOTRELOAD_SECRET_LIMIT_WINDOW
        limitWindow: 4
      ### Стратегия обновления. Варианты - safe и fast, параметр OTT_SIDECAR_HOTRELOAD_REACTION_STRATEGY
      reactionStrategy: safe
      ### Коэффициент, определя.obq продолжительность времени ожидания приложения - REFRESHING_WINDOW * SLEEP_INDEX. OTT_SIDECAR_HOTRELOAD_SLEEP_INDEX
      sleepIndex: 10
      ###  Количество попыток обновления secrets. По умолчанию - 5 попыток, параметр OTT_SIDECAR_HOTRELOAD_RETRY_READ_ATTEMPTS
      retryReadAttempts: 5
      ### Интервал ожидания перед обновлением secrets, мс. От минимального (min, параметр OTT_SIDECAR_HOTRELOAD_DELAY_MIN) до максимального (max, параметр OTT_SIDECAR_HOTRELOAD_DELAY_MAX)
      delay:
        min: 1
        max: 5

Требуется актуализировать параметр: global.helm.appOpts.abyss.common.ott.options.module - наименование moduleID в OTT; может быть представлен как именем компонента, так и КЭ компонента + имя компонента. При условии использования Audit REST значение параметра необходимо скорректировать следующим образом:

global:
  helm:
    appOpts:
      abyss:
        common:
          ott:
            options:
              module: "{{ ternary (first (.Values.global.endpoints.ingress.abyss.backend.hosts)) \"abyss\" (.Values.global.helm.appOpts.abyss.common.vault.ott.pki.enabled) }}"

Требуется переопределение параметров: нет

Блок параметров db (Базы данных)#

abyss:
  db:
    ### Имя схемы БД
    db_name: coordinator_db
    ### Включает возможность остановки пула соединений
    hikari_allow_pool_suspension: 'true'
    ### Таймаут получения соединения из пула соединений
    hikari_connection_timeout: '30000'
    ### Таймаут нахождения неиспользованного соединения в пуле соединений
    hikari_idle_timeout: '300000'
    ### Время, по истечении которого соединение, находящееся в использовании считается для пула потерянным (не будет возвращено в пул)
    hikari_leak_detection_threshold: '0'
    ### Максимальное время жизни соединения в пуле
    hikari_max_lifetime: '1200000'
    ### Максимальный размер пула соединений
    hikari_maximum_pool_size: '6'
    ### Минимальное количество неиспользованных (свободных) соединений, которое пул соединений должен поддерживать
    hikari_minimum_idle: '6'
    ### Тип источника данных при подключении к БД. По умолчанию используется com.zaxxer.hikari.HikariDataSource.
    type: com.zaxxer.hikari.HikariDataSource
    ### Параметры подключения JDBC
    jdbc_opts: prepareThreshold=0&sslmode=disable

Требуется актуализировать параметры:

  • global.helm.appOpts.abyss.db.db_name - имя схемы БД;

  • global.helm.appOpts.abyss.db.jdbc_opts - параметры подключения JDBC;

    • Возможные значения sslmode:

      • sslmode=prefer - не важна безопасность, но есть шифрование (и приемлю связанные издержки), если это поддерживает сервер.

      • sslmode=verify-ca - валидация корневых сертификатов (режим по умолчанию)

      • sslmode=verify-full - валидация корневых сертификатов + валидация хоста (хост в урле подключения должен быть равен хосту в CN серверного сертификата)

    • По требованию безопасности при интеграции через egress (поднятие соединения на самом egress и с него до эндпоинта) доступен только режим sslmode=disable.

Параметры используются в указании url до БД в составе следующих файлов:

  • abyss-archive/restricted-abyss-archive.yaml

  • abyss-archive/values-abyss-archive.yaml

  • abyss-authorization/restricted-abyss-authorization.yaml

  • abyss-authorization/values-abyss-authorization.yaml

  • abyss-base/restricted-abyss-base.yaml

  • abyss-base/values-abyss-base.yaml

  • abyss-flow/restricted-abyss-flow.yaml

  • abyss-flow/values-abyss-flow.yaml

  • abyss-fulltext-index/restricted-abyss-fulltext-index.yaml

  • abyss-fulltext-index/values-abyss-fulltext-index.yaml

  • abyss-kafka-svc/restricted-abyss-kafka-svc.yaml

  • abyss-kafka-svc/values-abyss-kafka-svc.yaml

  • abyss-monitoring/restricted-abyss-monitoring.yaml

  • abyss-monitoring/values-abyss-monitoring.yaml

  • abyss-trace-query/restricted-abyss-trace-query.yaml

  • abyss-trace-query/values-abyss-trace-query.yaml

Требуется переопределение параметров: нет

Блок настроек Flow#

### Параметры Flow Management Service
flow:
  ### Включение Access Control List Zookeper 
  client_zookeeper_acl_enabled: 'true'
  ### Включение клиента Solr Zookeeper
  job_solr_zk_client_enabled: 'true'

Требуется актуализировать перечисленный блок параметров: да

Блок параметров HDFS#

  ### Параметры Hadoop
  hdfs:
    ### Путь до файлов клиентской конфигурации HDFS
    hadoop_conf_dir: /app/hadoop-conf
    ### Использование имени хоста при подключении
    use_hostname: 'true'

Требуется актуализировать перечисленный блок параметров: да

Блок параметров Kerberos#

### Параметры для Kerberos server
kerberos:
  ### аргумент для JAVA opts для запуска Spark Submit процесса
  krb5_path: /app/config/krb5.conf
  ### Значение keytab/Путь в secman, где хранится keytab (в кодировке base64)
  application_keytab_path: '/app/config/keytab'
  ### Включение/выключение Kerberos для подключения к Hadoop
  enabled: 'false'
  ### REALM - значение service.archive.hadoop.filesystem.kerberos-realm
  realm: ''

Требуется актуализировать параметр: global.helm.appOpts.abyss.kerberos.realm

Блок настроек самомониторинга#

global:
    ...
    appOpts:
      abyss:
        ### Параметры самомониторинга
        logger:
          metrics:
            ### Включение/выключение передачи метрик в kafka из компонента abyss
            enabled: 'false'
            ### Топик для публикации метрик
            topic_name: abyss.coordinator-metrics
            kafka:
              ### Имя кластера kafka. Участвует во формировании списка Kafka брокеров (при условии использования функциональности кластера)
              cluster_selector: kafka-cluster1
              client:
                ### Конфигурация подтверждений:
                ### 0 - producer никогда не ждет подтверждения от брокера;
                ### 1 - получает подтверждение после того, как реплика лидера получила данные;
                ### -1 - получает подтверждение после того, как все синхронизированные реплики получили данные.
                ask: '-1'
                ### Протокол, по которому будет осуществляться взаимодействие с Kafka. Допустимые значения: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL
                protocol: PLAINTEXT
              producer:
                ### Максимальный размер отправляемых сообщений
                max_size: '2097152'
                ### Количество повторных попыток отправки сообщений
                retry_attempts: '3'
                ### Максимальное время, которое продюсер будет ждать, прежде чем повторить отправку
                delivery: '120000'
                ### Время как долго клиент будет ждать ответа от брокера
                request: '30000'
                ### Ожидание перед сборкой нового пакета сообщений
                linger: '10'

Требуется актуализировать параметры:

  • global.helm.appOpts.abyss.logger.metrics.enabled - Включение/выключение передачи метрик в kafka из компонента abyss

  • global.helm.appOpts.abyss.logger.metrics.topic_name - Топик для публикации метрик

  • global.helm.appOpts.abyss.logger.metrics.kafka.cluster_selector - Имя кластера kafka

Требуется переопределение параметров: не требуется

Блок настроек для логирования#

### Параметры logback-spring.xml
logs:
  ### Паттерн пути для поиска файлов журналов
  directory: '/app/logs'
  ### Максимальный размеры файлов логирования
  maxFileSize: 1MB
  ### Максимальное количество файлов
  maxFileHistory: '10'
  ### Максимальный размер лог-файла
  totalFileSizeCap: 100MB
  ### Два варианта значений: CustomKafkaAppender - отправка логов без использования FluentBit, посредством Abyss;  LogaAppender - отправка логов с использованием FluentBit
  type: CustomKafkaAppender
  ### Уровень логирования в ConsoleAppender
  consoleAppender:
    loglevel: INFO
  ### Параметры работы с kafka
  kafka:
    ### Имя кластера kafka. Значение параметра формируется на основании имени блока global.endpoints.egress.kafka.service.cluster1, в формате kafka-<имя кластера в блоке>
    cluster_selector: kafka-cluster1
    ### Флаг использования идемпотентности
    enable_idempotence: 'false'
    ### Уровень логировани фильтра класса ThresholdFilter
    level: 'INFO'
    ### Уровень логирования для logger name=Audit
    query_journal_kafka_logger_level: 'TRACE'
    ### Топик для публикаций логов с QueryJournalCustomKafkaAppender
    query_journal_kafka_topic: 'abyss.coordinator-query-journal'
    ### Топик для публикации логов
    topic: 'abyss.coordinator-logs'

Требуется актуализировать параметры:

  • global.helm.appOpts.abyss.logs.consoleAppender.loglevel

  • global.helm.appOpts.abyss.logs.kafka.query_journal_kafka_logger_level

  • global.helm.appOpts.abyss.logs.kafka.query_journal_kafka_topic

  • global.helm.appOpts.abyss.logs.kafka.topic

  • global.helm.appOpts.abyss.logs.kafka.level

  • global.helm.appOpts.abyss.logs.kafka.cluster_selector

Требуется переопределение параметров: не требуется

Блок настроек метрик и мониторинга#

metrics:
  kafka:
    ### Включение самомониторинга
    enabled: 'false'
    ### Имя кластера kafka. Значение параметра формируется на основании имени блока global.endpoints.egress.kafka.service.cluster1, в формате kafka-<имя кластера в блоке>
    cluster_selector: kafka-cluster1
    ### Параметры самомониторинга
    ### Свойство abyss.selfmonitoring.kafka.client.acks
    ask: '0'
    ### Свойство abyss.selfmonitoring.kafka.client.producer.max-request-size
    max_request_size: '2097152'
    ### Свойство abyss.selfmonitoring.kafka.client.producer.retry-attempts
    retry_attempts: '3'
    ### Свойство abyss.selfmonitoring.kafka.client.producer.delivery-timeout-ms
    delivery_timeout_ms: '120000'
    ### Свойство abyss.selfmonitoring.kafka.client.producer.request-timeout-ms
    request_timeout_ms: '30000'
    ### Свойство abyss.selfmonitoring.kafka.client.producer.linger_ms
    linger_ms: '10'
    ### Топик для самомониторинга
    topic: 'abyss.coordinator-metrics'
  ### Включение health-проб, параметр management.endpoint.health.probes.enabled
  health_probes_enabled: 'true'
  ### Включение проб работоспособности, параметр management.health.livenessState.enabled
  liveness_state_enabled: 'true'
  ### Включение проб готовности принимать трафик, параметр management.health.readinessState.enabled
  readiness_state_enabled: 'true'
  ### Изменение точки управления для запуска проб, параметр management.endpoints.web.base-path
  web_base_path: /
  ### Список включаемых endpoints для доступа, параметр management.endpoints.web.exposure.include
  web_exposure_include: prometheus,health,info,loggers
  ### Сопоставление пути для проб с новой конечной точкой из web.base-path, параметр management.endpoints.web.path-mapping.prometheus
  web_path_mapping_prometheus: /metrics
  ### Включение/выключение публикации метрик архивного хранилища 
  scheduler_metric_enabled: 'true'

Требуется актуализировать параметры:

  • global.helm.appOpts.abyss.metrics.kafka.topic

  • global.helm.appOpts.abyss.metrics.kafka.cluster_selector

  • global.helm.appOpts.abyss.metrics.liveness_state_enabled

  • global.helm.appOpts.abyss.metrics.health_probes_enabled

  • global.helm.appOpts.abyss.metrics.readiness_state_enabled

  • global.helm.appOpts.abyss.metrics.scheduler_metric_enabled

  • global.helm.appOpts.abyss.metrics.web_base_path

Требуется переопределение параметров: возможно всех из перечисленных для актуализации

Список модулей и файлов в них, в которых переопределены данные параметры (формат <модуль/файл values-*.yaml>):

  • abyss-archive/values-abyss-archive.yaml

  • abyss-authorization/values-abyss-authorization.yaml

  • abyss-base/values-abyss-base.yaml

  • abyss-client-api/values-abyss-client-api.yaml

  • abyss-flow/values-abyss-flow.yaml

  • abyss-fulltext-index/values-abyss-fulltext-index.yaml

  • abyss-kafka-svc/values-abyss-kafka-svc.yaml

  • abyss-monitoring/values-abyss-monitoring.yaml

  • abyss-trace-collector/values-abyss-trace-collector.yaml

  • abyss-trace-query/values-abyss-trace-query.yaml

Примеры переопределения параметров были приведены выше.

Блок параметров для TraceCollectorService#

### Параметры TraceCollector Service
tracing:
  ### Включение/отключение функциональности 
  enabled: 'false'
  ### Параметр включения сбора трейсов внешним сервером
  ext_tracing_enabled: false
  ### ContextPath URL сервера выполняющего сбор трейсов (при ext_tracing_enabled: true)
  sub_path: '/api/v2/spans'
  ### Количество трейсов в процентном отношении, которые будут отправлены на сервер сбора трейсов. Если был создан составной трейс, то он отправляется на сервер целиком. Возможные значения: 1-100
  sampling_percent: '100'

Требуется актуализировать параметры:

  • global.helm.appOpts.abyss.tracing.enabled

  • global.helm.appOpts.abyss.tracing.ext_tracing_enabled

  • global.helm.appOpts.abyss.tracing.sub_path

Требуется переопределение параметров: возможно всех из перечисленных для актуализации

Одиночные параметры#

### Добавление клиентского сертификата в header - X-Abyss-SSL-Client-Cert
set_cert_in_header:
  enabled: false
### Параметры SOLR 
solr:
  ### Для включения установки ACL Solr
  zookeeper_acl_enabled: 'false'
yarn:
  ### Путь до файлов клиентской конфигурации YARN
  yarn_conf_dir: /app/yarn-conf
zookeeper:
  ### Настройка подключения к zookeeper, если несколько кластеров zookeeper - clusters если один - subsets
  connection_type: subsets

Требуется актуализировать параметры:

  • global.helm.appOpts.abyss.set_cert_in_header.enabled

  • global.helm.appOpts.abyss.solr.zookeeper_acl_enabled

  • global.helm.appOpts.abyss.zookeeper.connection_type

  • global.helm.appOpts.abyss.yarn.yarn_conf_dir

Требуется переопределение параметров: возможно всех из перечисленных для актуализации