Установка IAM Proxy в OpenShift при помощи инструментов Platform V DevOps Tools#

Введение#

Данное руководство предназначено для описания установки IAM Proxy в OpenShift при помощи инструментов Platform V DevOps Tools.

В руководстве даны пояснения как настроить Jenkins job, для установки IAM Proxy в среду контейнеризации OpenShift.

Далее указана минимальная часть конфигурации необходимая для установки IAM Proxy.

Более подробную информацию по использованию компонента Deploy tools (CDJE) продукта Platform V DevOps Tools (DOT), смотрите в документации на одноименный компонент.

Примечание:При развертывании с использованием инструментов Platform V DevOps Tools на промышленные стенды, отключена возможность включения уровня логирования debug.

Предусловия#

Должен быть установлен Platform V DevOps Tools.

Для получения информации по установке, ознакомьтесь с документацией на Platform V DevOps Tools.

Для соответствия требованиям безопасности, необходимо выполнить подключение к Platform V Synapse Service Mesh средствами администратора кластера (подробнее в подразделе "Настройка конфигурационных параметров").

В случае отсутствия необходимости обеспечения безопасности, установка IAM Proxy поддерживает эксплуатацию без использования Platform V Synapse Service Mesh (подробнее в разделе "Настройка конфигурационных параметров").

Подготовка конфигурации CDJE#

Для подготовки конфигурации CDJE, пройдите в репозиторий "common", созданный в результате развертывания Platform V DevOps Tools, и сконфигурируйте следующие файлы:

  • subsystems.json - параметры NEXUS репозитория с настройками артефакта (конфигурацией компонента). Пример представлен ниже.

{
  "__default": {
    // Секция по умолчанию. При миграции конфигурации из дистрибутива DevOpsTools перезаписывается.
    "classifier": "distrib",
    "groupId": "Nexus_PROD",
    "packaging": "zip",
    "strict": "true",
    "limit": 101,
    "deployType": "manual",
    "openshiftProject": "",
    "at": {
      "groupId": "Nexus_PROD",
      "branch": "master",
      "classifier": "distrib",
      "packaging": "zip"
    },
    "at_ui": {
      "groupId": "Nexus_PROD",
      "branch": "master",
      "classifier": "distrib",
      "packaging": "zip"
    }
  },
  "IAM_PROXY": {
    // Наименование блока настроек. Настройки в этом блоке, будут перекрывать соответсвующие из блока __default
    "fpi_name": "component-name",
    // Название ФП в Installer. Задает список приложений из дистрибутива ФП, которые нужно установить. Соответствует id КЛЮЧА из словаря applications. Для данного id КЛЮЧА из                                  словаря applications будут также считываться параметры "deploy_group", "config_fp_name". Если приложений несколько - нужно перечислить через запятую. Это наименование будет отображаться в UI CDJE
    "groupId": "some.group.id",
    // GroupId артефакта конфигурации
    "artifactId": "component-cfg",
    // ArtifactId артефакта конфигурации 
    "versionFilter": "4.3",
    // Фильтр версий артефакта конфигурации, которые будут отображаться в UI CDJE
    "strict": "false",
    // Режим миграции настроек ФП (true - будут мигрировать только файлы, начинающиеся на <fpi_name>, false - все конфигурационные файлы).
    "fpType": "bts",
    // Указывается тип приложения для фильтрации в Jenkins job. Для выбора нескольких вариантов необходимо указать в настройках job: FP_TYPE_FILTER=bts, bfs
    "deployType": "consistently"
    // Тип автоматического развертывания (parallel - параллельный, consistently - последовательный)
  }
}
  • multiClusters.json - настройка кластеров OpenShift, в которые будет производиться установка компонента. Пример представлен ниже.

{
  "datacenters": {
    "dev-02": {
      // Наименование кластера, которое будет отображаться в UI Jenkins job
      "openshiftCluster": "https://openshift.my.company.ru:6443",
      // api кластера openshift
      "openshiftNewRoute": "myproject.apps.openshift.my.company.ru",
      // Параметр содержащий постфикс ссылки для route манифеста
      "openshiftProjectName": "myproject",
      // Наименование проекта(project)
      "openshiftSATokenCred": "openshift_credential",
      // id credential в jenkins содержащий токен доступа к проекту в openshift
      "openshiftAppsDomain": "apps.openshift.mycompany.ru",
      // Cуффикс домена для сервисов кластера
      "openshiftWebConsole": "https://console-openshift-console.mycompany.ru/k8s/cluster/projects",
      // Cсылка на кластер для формирования корректной ссылки на проект в описании job для развертывания
      "openshiftControlPlaneIstiodService": "istiod-basic",
      "openshiftControlPlaneProject": "my-istio-system"
    }
  }
}
  • environment.json - основной конфигурационный файл. Пример представлен ниже.

Секция "__default" файла environment.json перезаписывается при каждой миграции. Для установки собственных параметров, необходимо создать дополнительную секцию, в которой можно переопределить параметры по умолчанию, так же убрать неиспользуемые опции CDJE, например отключить список параметров запуска связанный с WAS.

{
  "__default": {
    // Секция по умолчанию. При миграции конфигурации из дистрибутива DevOpsTools перезаписывается.
    "disableDistrDownload": "true",
    "pipeline_extensions": {
      "GAC": {
        "enable": false,
        "description": "Проверка GAC",
        "extend": {
          "instead": [
            "START_DEPLOY"
          ]
        },
        "withJobs": [
          "deploy",
          "spo",
          "elk"
        ],
        "failJobOnError": false,
        ...
        ...
        ...
        "DRY_RUN": {
          "id": 14
        }
      }
    },
    "dev1": {
      // Секция с custom настройками
      "iag_configuration": {
        // Секция переопределяет отображение опций запуска CDJE в разделе настроек IAG
      },
      "tooling": "true",
      // Включает возможность использовать альтернативные версии вспомогательныых приложений, таких как ansible, java и т.д.
      "toolingAnsibleForceVersion": "ansible29",
      // Устанавливает используемую версию ansible при развертывании                                           
      "openshiftMultiClusters": "true",
      // Переключатель(true/false) механизма для работы с несколькими кластерами. При активации часть параметров OpenShift будет браться из файла multiClusters.json"
      "openshiftDeploySafeMode": "false",
      // Флаг проверки иммутабельности критичных полей openshift-конфигураций istio
      "openShiftPrecheck": "warning",
      // Флаг включения/выключения валидации конфигураций дистрибутива OpenShift; fail/warning/off-режимы
      "openshiftCheckConfNames": "warning",
      // Флаг включения/выключения валидации имен onf-файлов; fail/warning/off-режимы
      "iag": "false",
      // Если "true", то в меню пайплайна появляется список выбора репозитория с конфигурациями "current", "last", "previous"
      "mavenArtifactsUrls": [
        // Список репозиториев nexus в которых будет производиться поиск необходимых компонентов CDJE
        "https://mycompany.ru/nexus-ci/repository/maven/",
        "https://mycompany.ru/nexus-cd/repository/nexus_prod/",
        "https://mycompany.ru/nexus-cd/repository/PROD/"
      ],
      "installer": {
        // Реквизиты установщика ФП (Installer) в хранилище Nexus
        "common": {
          "groupId": "mycompany_PROD.CI90000011_run4c",
          "artifactId": "CI01027901_AS_EFS_Installer.Common",
          "version": "D-02.001.00-*",
          "classifier": "distrib",
          "packaging": "zip"
        },
        "migration": {
          "groupId": "Nexus_PROD",
          "artifactId": "CI01027846_AS_EFS_Installer.Migration",
          "version": "D-02.001.00-343",
          "classifier": "distrib",
          "packaging": "zip"
        }
      },
      "playbooks_fpi": {
        // Сценарии разверытвания для Pipeline AutoDeploy (переопределяет аналогичное поле в секции __default). при помощи данной настройки убираются неиспользуемые опции job.
        "VERSION_SNAPSHOT_SEARCH": {
          "id": 18
        },
        "MIGRATION_FP_CONF": {
          "id": 19
        },
        "FP_CONF_CHECK": {
          "id": 21
        },
        "OPENSHIFT_DEPLOY": {
          "id": 23
        },
        "OPENSHIFT_UPDATE_REPLICAS": {
          "id": 24
        },
        "MERGE_FP_REPO": {
          "id": 25
        },
        "OPENSHIFT_INGRESS_EGRESS_DEPLOY": {
          "id": 26
        },
        "OPENSHIFT_UPDATE_ISTIO_REPLICAS": {
          "id": 27
        },
        "OPENSHIFT_EXTRACT_DUMP": {
          "id": 28
        },
        "DRY_RUN": {
          "id": 29
        }
      },
      "playbooks_extra": {
        // Отключает опции, которые не используются при установке IAM Proxy
      },
      "playbooks_security": {
        // Отключает опции, которые не используются при установке IAM Proxy
      },
      "playbooks_import": {
        // Отключает опции, которые не используются при установке IAM Proxy
      }
    }
  }
}

Дополнительная информация по конфигурации#

  • В репозитории common в файле <директория с конфигурацией>/parameters/common.conf.yml должна быть определена хотя бы одна переменная.

  • В репозитории common в директории <директория с конфигурацией>/secrets в файлах secret.yml и _passwords.conf должны быть определены параметры, а содержимое файлов должно быть зашифровано. secret.yml шифруется стандартными средствами Ansible при помощи ansible-vault encrypt, а _passwords.conf - выполнив в терминале команду:
    openssl enc -aes-256-cbc -md md5 -salt -in _passwords_d.conf -out _passwords.conf

  • id jenkins credentials определяются в environment.json в параметрах:

    • Для _passwords.conf - "credentials": { "openshiftOpsPasswordsCred": "vault_cred_openshift_ops" }

    • Для secret.yml - "credentials": {"ansible_vault_id": "<credential id>"}

    • Эти параметры так же можно переопределить в секции с custom настройками файла environment.json

Удаление ресурсов из namespace Kubernetes/OpenShift#

Удаление ресурсов из namespace Kubernetes/OpenShift выполняется сценариями Deploy job.

Предусловие#

Перед выполнением удаления рекомендуется проверить:

  • в Jenkins доступен Tool с kubectl версии не ниже 1.18;

  • наличие настройки имени tool в параметре kubectlToolName в environment.json;

  • наличие настройки имени tool в параметре jqToolName в environment.json;

  • (Опционально). Для возможности удалять ресурсы используя фильтр jq должен быть доступен Tool с jq.

Deploy job#

Для удаления ресурсов из namespace Kubernetes/OpenShift в Deploy job используются сценарии OPENSHIFT_PURGE_PROJECT и KUBERNETES_PURGE_PROJECT.

Оба файла сценариев (playbooks) удаляют только объекты подпадающие под фильтр который настроенный по полю объектов label.

Поле label должно содержать параметры SUBSYSTEM и distribReleaseVersion, значения которых соответствуют значениям соответствующих параметров запуска Deploy job.

Для использования сценариев (playbooks), OPENSHIFT_PURGE_PROJECT и KUBERNETES_PURGE_PROJECT должны быть добавлены в секцию playbooks_extra соответствующего стенда в файл environment.json Common-репозитория.

После добавления сценариев (playbooks), Deploy job необходимо переконфигурировать, используя запуск без параметров.

Пример:

{
  "mycompany": {
    "playbooks_extra": {
      "OPENSHIFT_PURGE_PROJECT": {
        "id": 99
      },
      "KUBERNETES_PURGE_PROJECT": {
        "id": 100
      }
    }
  }
}

Deploy приложения#

В результате настройки и подготовки CDJE, в Jenkins появится две jenkins job - Service и Deploy:

  • job Service - загружает стандартные конфигурации common из дистрибутива Platform V DevOps Tools в репозитории Bitbucket и обновляет версии конфигураций

  • job Deploy - устанавливает приложение в кластер OpenShift.

После настройки конфигурационных файлов subsystems.json , multiClusters.json и environment.json необходимо выполнить шаги для установки приложения в кластер:

  1. Выполнить миграцию параметров в job. Для этого нужно запустить job без параметров:

  2. Выполнить миграцию стендозависимых параметров из артефакта конфигурации компонента в репозиторий с конфигурациями функциональных подсистем. Для этого нужно выполнить job с опцией MIGRATION_FP_CONF:

  3. Выполнить настройку стендозависимых параметров (подробнее в разделе "Настройка конфигурационных параметров").

  4. Выполнить deploy приложения в OpenShift, запустив Deploy job с параметром OPENSHIFT_DEPLOY:

Настройка конфигурационных параметров#

После выполнения миграции конфигурационных файлов, можно приступать к настройке параметров приложений (IAM Proxy, RDS-Server, Syslog-ng), которые находятся в отдельном репозитории с конфигурациями функциональных подсистем.

Параметры в файле <репозиторий подсистемы>/<директория конфигурации>/config/parameters/auth.all.conf#

Параметр

Описание

Пример

auth.k8s.rdsserver.enabled

Включение/отключение использования rds-server

true/false

auth.k8s.istio.enabled

Включение/отключение использования Platform V Synapse Service Mesh (istio)

true/false

auth.k8s.secman.enabled

Включение/отключение использования SecMan

true/false

auth.k8s.audit.enabled

Включение/отключение использования интеграции с Platform V Audit

true/false

auth.k8s.syslogng.enabled

Включение/отключение использования syslog-ng

true/false

auth.k8s.monitoring.enabled

Включение/отключение публикации метрик приложений для мониторинга

true/false

auth.k8s.logger.enabled

Включение/отключение использования fluent-bit

true/false

registry

Docker Registry FQDN

example.registry.domain

registry_path

Путь до image контейнеров приложений IAM Proxy (rds-server, syslog-ng, iam-proxy)

/somecontext/imagepath

auth.k8s.kube.type

Используемый дистрибутив Kubernetes на стенде (поддерживаются значения - k8s, openshift, dropapp), по умолчанию openshift

openshift

auth.k8s.service-mesh.type

Используемый дистрибутив Service Mesh в NS (поддерживаются значения - rhsm, ssm ), по умолчанию rhsm

rhsm

auth.k8s.managed-by-label

Инструмент, который используется для управления приложением

CDJE

auth.k8s.secman.vault.host

SecMan FQDN

example.secman.domain

auth.k8s.secman.vault.port

SecMan ip-порт сервера

8443

auth.k8s.deployment.spec.template.metadata.annotations.vault.hashicorp.com.role

Наименование роли используемой для подключения к SecMan

somerole-ga-secman-example

auth.k8s.deployment.spec.template.metadata.annotations.vault.hashicorp.com.namespace

Наименование namespace SecMan в котором расположены секретные данные

NAMESPACE_NAME

auth.k8s.spec.template.spec.containers.fluent-bit-sidecar.image

Полная ссылка на контейнер с fluent-bit

example.registry.domain/somecontext/imagepath/fluent-bit@sha256:lgkaldhjasf98696askfbaf7687a6sfjhbasfgas8f58657sadgk7asbdia7sfdf

auth.k8s.logger.kafka.bootstrap.server

Список серверов kafka Platform V Logger

10.x.x.257:9092, 10.x.x.258:9092

auth.k8s.logger.kafka.security.protocol

Наименование протокола защиты при интеграции с Platform V Logger

SSL или PLAINTEXT

auth.k8s.logger.kafka.topic_name

Наименование целевого topik kafka для отправки логов в Platform V Logger

somenametopik

auth.k8s.logger.certs.suffix

Суффикс имени SSL сертификатов для egress при интеграции с Platform V Logger, если они отличаются от основных сертификатов используемых для доступа во внешние сети

_logger (Имена файлов - root<suffix>.crt, tsl<suffix>.crt, tls<suffix>.key)

auth.k8s.audit.rest.proxyUrl

URL адрес REST API при интеграции rds-server с Platform V Audit

https://some.audit.url/

auth.k8s.audit.kafka.bootstrap.servers

Список серверов kafka при интеграции syslog-ng с Platform V Audit

10.x.x.256:9093,10.x.x.257:9093

auth.k8s.audit.kafka.security.protocol

Наименование протокола защиты при интеграции с Platform V Audit

SSL или PLAINTEXT

auth.k8s.audit.certs.suffix

Суффикс имени SSL сертификатов для egress при интеграции с Platform V Audit, если они отличаются от основных сертификатов используемых для доступа во внешние сети

_audit (Имена файлов - root<suffix>.crt, tsl<suffix>.crt, tls<suffix>.key)

Параметры в файле <репозиторий подсистемы>/<директория конфигурации>/config/parameters/auth.istio.all.conf#

Параметр

Описание

Пример

auth.ose.istio.ingressgateway-mtls.route.spec.host

Фронт FQDN сервиса

portal.my-company.ru

auth.ose.istio.ingressgateway-mtls-ott.route.spec.host

Фронт FQDN сервиса для ott

ott-portal.my-company.ru

auth.ose.istio.control-plane-project

Настройки подключения к control-plane Platform V Synapse Service Mesh

istio-control-plane-name

auth.ose.istio.control-plane-istiod-service

Настройки подключения к Platform V Synapse Service Mesh

istio-service-name

auth.k8s.ott.enabled

Включение использования сервиса OTT

true/false

auth.k8s.istio.spec.template.spec.containers.ott-sidecar.image

Путь до sidecar ott в docker registry

example.registry.domain/somecontext/imagepath/ott-sidecar@sha256:lgkaldhjasf98696askfbaf7687a6sfjhbasfgas8f58657sadgk7asbdia7sfdf

auth.k8s.secman.vault.ott_certs.path

Путь до серетов Hashicorp Vault (сертификаты/ключи/кейсторы)

NAMESPACE_NAME/A/DEV/KV/OSE.my.ott_certs (ожидается наименование tls.crt,tls.key,root.crt)

iamproxy.k8s.secman.vault.egress_certs.path

Путь до серетов Hashicorp Vault (сертификаты/ключи/кейсторы) для использования на egress

NAMESPACE_NAME/A/DEV/KV/OSE.my.egress_certs (ожидается наименование tls.crt,tls.key,root.crt)

iamproxy.k8s.secman.vault.ingress_certs.path

Путь до серетов Hashicorp Vault (сертификаты/ключи/кейсторы) для использования на ingress

NAMESPACE_NAME/A/DEV/KV/OSE.my.ingreess_certs (ожидается наименование tls.crt,tls.key,root.crt)

Параметры в файле <репозиторий подсистемы>/<директория конфигурации>/config/parameters/auth.iamproxy.conf#

Параметр

Описание

Пример

iamproxy.k8s.spec.template.spec.containers.iamproxy.image.path

Путь до расположения image IAM Proxy в registry

example.registry.domain/somecontext/imagepath/

iamproxy.k8s.spec.template.spec.containers.iamproxy.image.version

Версия image IAM Proxy

sha256:2f9942f299b57a98c3a78d8a5b323abfd89755cf2b655000507452fb901e3069 (Для получения image контейнера соответствующего данному конфигурационному артефакту, необходимо оставить значение пустым)

iamproxy.k8s.front.https.host

FQDN по которому будет доступен IAM Proxy

platform-iamproxy.example.domain

iamproxy.k8s.secman.vault.path

Путь до секретов Hashicorp Vault (пароли)

NAMESPACE_NAME/A/DEV/KV/OSE.my-keys

iamproxy.k8s.secman.vault.certs.path

Путь до секретов Hashicorp Vault (сертификаты/ключи/кейсторы)

NAMESPACE_NAME/A/DEV/KV/OSE.my-certs

KEYCLOAK_FRONT_DNS_NAME

FQDN для подключения к oidc-provider

platformauth-keycloak.example.domain

KEYCLOAK_HTTPS_PORT_ON_FRONTEND

ip порт для подключения oidc-provider

443

RDS_CLIENT_KEYALIAS

Alias в кейстор приложения rds-client

rds-client

Параметры в файле <репозиторий подсистемы>/<директория конфигурации>/config/parameters/auth.rds-server.conf#

Параметр

Описание

Пример

rdsserver.k8s.spec.template.spec.containers.rdsserver.image.path

Путь до расположения image RDS-Server в registry

example.registry.domain/somecontext/imagepath/

rdsserver.k8s.spec.template.spec.containers.rdsserver.image.version

Версия image RDS-Server

sha256:2f9942f299b57a98c3a78d8a5b323abfd89755cf2b655000507452fb901e3069 (Для получения image контейнера соответствующего данному конфигурационному артефакту, необходимо оставить значение пустым)

rdsserver.k8s.secman.vault.path

Путь до секретов Hashicorp Vault (пароли)

NAMESPACE_NAME/A/DEV/KV/OSE.my-keys.rds

rdsserver.k8s.secman.vault.certs.path

Путь до секретов Hashicorp Vault (сертификаты/ключи/кейсторы)

NAMESPACE_NAME/A/DEV/KV/OSE.my-certs.rds

rdsserver.k8s.rds.configSources.pacman.rest-url

URL REST API компонента PACMAN (CFGA)

https://pacman.example.domain/configuration/v2/configurator-yaml/rn/DEFAULT/configs/,rds-server

rdsserver.k8s.rds.configSources.pacman.certs.siffix

Суффикс имени SSL сертификатов для egress при интеграции с компонентом PACMAN (CFGA) продукта Platform V Configuration (CFG), если они отличаются от основных сертификатов используемых для доступа во внешние сети

_pacman (Имена файлов - root<suffix>.crt, tsl<suffix>.crt, tls<suffix>.key)

Параметры в файле <репозиторий подсистемы>/<директория конфигурации>/config/parameters/auth.syslogng.conf#

Параметр

Описание

Пример

syslogng.k8s.spec.template.spec.containers.syslogng.image.path

Путь до расположения image Syslog-ng в registry

example.registry.domain/somecontext/imagepath/

syslogng.k8s.spec.template.spec.containers.syslogng.image.version

Версия image Syslog-ng

sha256:2f9942f299b57a98c3a78d8a5b323abfd89755cf2b655000507452fb901e3069 (Для получения image контейнера соответствующего данному конфигурационному артефакту, необходимо оставить значение пустым)

syslogng.k8s.secman.vault.path

Путь до секретов Hashicorp Vault (пароли)

NAMESPACE_NAME/A/DEV/KV/OSE.my-keys.syslog-ng

syslogng.k8s.secman.vault.certs.path

Путь до секретов Hashicorp Vault (сертификаты/ключи/кейсторы)

NAMESPACE_NAME/A/DEV/KV/OSE.my-certs.syslog-ng

В случае отсутствия Hashicorp Vault секретные данные необходимо поместить в специальный файл _passwords.conf и зашифровать способом описанном в пункте "Дополнительная информация по конфигурации".

Параметры в файле <репозиторий common>/<директория конфигурации>/secrets/_passwords.conf#

Параметр

Описание

Пример

iamproxy.k8s.secret.PROXY_OIDC_CLIENT_ID

Cliend ID полученный из oidc-provider

PlatformAuth-Proxy

iamproxy.k8s.secret.PROXY_OIDC_CLIENT_SECRET

Cliend Secret полученный из oidc-provider

jgasfjhALJHGhgljhga123lhkjbLH

iamproxy.k8s.secret.PROXY_SESSION_SECRET

Секрет используемый для шифрования сессии nginx (длинна д.б. > 100 символом, и НЕ должно содержать символов ', \, $, ")

jgasfjhALJHGhgljhga123lhkjbLHmhmcasdjhf13l412l4jhljhfkhgf12l31lj2g31hasdasdi765796a5sf765asf059865as9f765asfg2c4jLJHJV

iamproxy.k8s.secret.RDS_CLIENT_KEYSTOREPASSWORD

Пароль от кейстора RDS-Client

lsDKGJsdKJ1sd3Ksd12s4HB1ds254Ba

iamproxy.k8s.secret.server.crt.pem

SSL сертификат IAM Proxy закодированный в base64

MIIPSQIBAzCCDwIGCSqGSIb3DQEHAaCCDvMEgg7vMIIO6zCCBdIGCSqGSIb3DQEHAaCCBcMEggW…

iamproxy.k8s.secret.server.key.pem

SSL ключ IAM Proxy закодированный в base64

MIIPSQIBAzCCDwIGCSqGSIb3DQEHAaCCDvMEgg7vMIIO6zCCBdIGCSqGSIb3DQEHAaCCBcMEggW…

iamproxy.k8s.secret.trusted_ca_chain.crt.pem

Цепочка SSL сертификатов удостоверяющих центров сертификации закодированный в base64

MIIPSQIBAzCCDwIGCSqGSIb3DQEHAaCCDvMEgg7vMIIO6zCCBdIGCSqGSIb3DQEHAaCCBcMEggW…

iamproxy.k8s.secret.rds-keystore.p12

Кейстор для RDS-Sever закодированный в base64

MIIPSQIBAzCCDwIGCSqGSIb3DQEHAaCCDvMEgg7vMIIO6zCCBdIGCSqGSIb3DQEHAaCCBcMEggW…

auth.k8s.secret.ott.certs.ott-auth.crt

SSL сертификат закодированный в base64 для sidecar ott

MIIPSQIBAzCCDwIGCSqGSIb3DQEHAaCCDvMEgg7vMIIO6zCCBdIGCSqGSIb3DQEHAaCCBcMEggW…

auth.k8s.secret.ott.certs.ott-auth.key

SSL ключ закодированный в base64 для sidecar ott

MIIPSQIBAzCCDwIGCSqGSIb3DQEHAaCCDvMEgg7vMIIO6zCCBdIGCSqGSIb3DQEHAaCCBcMEggW…

auth.k8s.secret.ott.certs.ott-service.crt

SSL service сертификат закодированный в base64 для sidecar ott

MIIPSQIBAzCCDwIGCSqGSIb3DQEHAaCCDvMEgg7vMIIO6zCCBdIGCSqGSIb3DQEHAaCCBcMEggW…

auth.k8s.secret.ott.certs.ott-ca.crt.pem

Цепочка SSL сертификатов удостоверяющих центров сертификации закодированный в base64 для sidecar ott

MIIPSQIBAzCCDwIGCSqGSIb3DQEHAaCCDvMEgg7vMIIO6zCCBdIGCSqGSIb3DQEHAaCCBcMEggW…

auth.k8s.secret.egress.certs.tls.crt

SSL сертификат egress закодированный в base64

MIIPSQIBAzCCDwIGCSqGSIb3DQEHAaCCDvMEgg7vMIIO6zCCBdIGCSqGSIb3DQEHAaCCBcMEggW…

auth.k8s.secret.egress.certs.tls.key

SSL ключ egress закодированный в base64

MIIPSQIBAzCCDwIGCSqGSIb3DQEHAaCCDvMEgg7vMIIO6zCCBdIGCSqGSIb3DQEHAaCCBcMEggW…

auth.k8s.secret.egress.certs.root.key

Цепочка SSL сертификатов удостоверяющих центров сертификации закодированный в base64 для egress

MIIPSQIBAzCCDwIGCSqGSIb3DQEHAaCCDvMEgg7vMIIO6zCCBdIGCSqGSIb3DQEHAaCCBcMEggW…

auth.k8s.secret.ingress.certs.tls.crt

SSL сертификат ingress закодированный в base64

MIIPSQIBAzCCDwIGCSqGSIb3DQEHAaCCDvMEgg7vMIIO6zCCBdIGCSqGSIb3DQEHAaCCBcMEggW…

auth.k8s.secret.ingress.certs.tls.key

SSL ключ ingress закодированный в base64

MIIPSQIBAzCCDwIGCSqGSIb3DQEHAaCCDvMEgg7vMIIO6zCCBdIGCSqGSIb3DQEHAaCCBcMEggW…

auth.k8s.secret.ingress.certs.root.key

Цепочка SSL сертификатов удостоверяющих центров сертификации закодированный в base64 для ingress

MIIPSQIBAzCCDwIGCSqGSIb3DQEHAaCCDvMEgg7vMIIO6zCCBdIGCSqGSIb3DQEHAaCCBcMEggW…

Параметры в файле <репозиторий подсистемы>/<директория конфигурации>/custom_property.conf.yml#

Для настройки ответвлений(junctions) необходимо в репозитории конфигурации подсистемы создать файл custom_property.conf.yml и задать в атрибуте proxy_jct_list параметры ответвлений (формат используется тот-же, что и в профиле под VM, смотрите в руководстве по установке раздел Заполнение раздела с описанием параметров ответвлений).

Пример:

proxy_jct_list:
  - junctionName: RDS Server
    junctionPoint: /rds-for-proxy
    indexUrl: /rds-for-proxy/
    sslCommonName: "*" # шаблон имени из CN сертификата backend-серверов (default .ru)
    https: False # default True
    transparent: True
    serverAddresses: [ "auth-svc-rdsserver:80" ]
  - junctionName: Приложение АС
    junctionPoint: "" # проксирование по корню
    indexUrl: /my-app/index.html
    sslCommonName: "<fqdn>" # шаблон имени из SAN сертификата на backend-серверах, для backend в OSE должно совпадать с fqdn-именем route backend
    https: True # default True
    transparent: True # default False
    serverAddresses: [ "<ip_address_1/fqdn_1>:<port>", "<ip_address_2/fqdn_2>:<port>" ]

Примечание: Параметры относящиеся настройкам OTT являются экспериментальными и не рекомендуются к использованию, в связи с этим параметр auth.k8s.ott.enabled необходимо устанавливать в значение false.